Linux

阻止或轉發數據包作為接入點

  • June 25, 2015

我按照本教程將我的 Pi 2 設置為 wifi 接入點。

我想根據每個數據包標頭中的 DSCP 欄位來實現基本的 QoS。這意味著,阻止使用低優先級服務的數據包(用於連接的主機發送,例如,電子郵件)和轉發具有高優先級服務的數據包(用於連接的主機,例如,VoIP)。

我不知道從哪裡開始:我怎樣才能放入等待數據包然後發送它們,或者如果它們是緊急的則轉發它們?

從技術上講,我必須在我的 WiFi 加密狗 ( wlan0) 上監聽數據包,查看每個數據包的 DSCP 欄位,然後通過乙太網電纜 ( eth0) 發送它們或讓它們等待。

我不知道從哪裡開始。

編輯 1:根據我的教授的說法,檢查 DSCP 欄位並不可靠,因為它並不總是充滿一些東西。因此,我將只查看地址,並通過檢查站點的地址來查看哪些服務發送了數據包。

來自 netfilter 項目的libnetfilter_queue庫似乎是這樣的:來自 netfilter.org:

libnetfilter_queue 是一個使用者空間庫,為核心數據包過濾器排隊的數據包提供 API。它是棄用舊的 ip_queue / libipq 機制的系統的一部分。

我將數據包放入隊列中:

sudo iptables -I FORWARD (parameters) -j NFQUEUE --queue-num x

並且使用libnetfilter_queue我可以訪問儲存在上面隊列中的數據包。

引用自:https://unix.stackexchange.com/questions/206061