如何將 Raspberry 上的流量從 USB 適配器 WiFi 重定向到本機應用程式

如何將 Raspberry 上的流量從 USB 適配器 WiFi 重定向到本機應用程式

早安,先生們,我的 RPi 2 是一個工作接入點,帶有兩個 WiFi 適配器(每個適配器都有自己的 IP 位址範圍); RPi 也透過 LAN 電纜連接到我的數據機。

它提供最基本的存取點/代理服務:它接受兩個 WiFi 介面上的傳入連接,並透過 LAN 電纜將資料發送到我的數據機,發送到外部互聯網。

到目前為止一切順利:現在我想讓我的 RPi 成為 QOS 管理器:它不僅會發送和接收數據,而且會優先考慮某些特定類型的連接(例如,透過 SMTP 進行串流傳輸)。

我的一個程式可以做到這一點,但我只在我的筆記型電腦上測試了它,現在我將把我的程式放在我的 RPi 中。我的程式接受固定連接埠(8000) 上的傳入連線:在我的筆記型電腦上,我在瀏覽器上安裝了一個插件,該插件可以重定向連接埠8000 上的流量,並且它似乎運作得很好。

現在我要把它放在 RPi 上,但我不知道如何將流量從兩個 WiFi 適配器重新導向到連接埠 8000 上的程式。

我缺乏有關路由的知識,但我認為這可以透過兩個iptables規則來完成,例如:

iptables -t nat -A PREROUTING -i wlan0 -p tcp -j REDIRECT --to-port 8000
iptables -t nat -A PREROUTING -i wlan1 -p tcp -j REDIRECT --to-port 8000

然而,這兩個規則似乎並不適用:使用這兩個iptables規則在我的 RPi 上運行我的程式不會顯示任何輸出,因此連接並未真正重定向到我的程式實際上正在偵聽的連接埠 8000。

我看到一些重定向也需要標誌的範例--dport,但我不知道這個連接埠是什麼。

這些是我目前iptables對 RPi 的規則:

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan0 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o wlan1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan1 -o eth0 -j ACCEPT

相關內容