Raspberry のトラフィックを USB ドングル WiFi からローカル アプリケーションにリダイレクトする方法

Raspberry のトラフィックを USB ドングル WiFi からローカル アプリケーションにリダイレクトする方法

おはようございます、私の RPi 2 は 2 つの WiFi ドングル (それぞれ独自の IP アドレス範囲を持つ) を備えた動作中のアクセス ポイントです。RPi は LAN ケーブル経由でモデムにも接続されています。

これは、アクセス ポイント/プロキシの最も基本的なサービスを提供します。つまり、両方の WiFi インターフェイスで着信接続を受け取り、LAN ケーブル経由でモデムにデータを送信し、外部のインターネットに接続します。

ここまでは順調です。今度は、RPi を QOS マネージャーにしたいと思います。データの送受信だけでなく、特定の種類の接続 (SMTP 経由のストリーミングなど) を優先します。

私のプログラムではそれができますが、ラップトップでのみテストしたので、今度は RPi にプログラムを配置します。私のプログラムは、固定ポート (8000) で着信接続を受け入れます。ラップトップでは、ポート 8000 でトラフィックをリダイレクトするプラグインをブラウザにインストールしましたが、すべて正常に動作するようです。

今、これを RPi に配置するつもりですが、両方の WiFi ドングルからのトラフィックをポート 8000 上のプログラムにリダイレクトする方法がわかりません。

iptablesルーティングについての知識が不足していますが、次のような2 つのルールでこれを実現できると思います。

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

しかし、これら 2 つのルールは適用されないようです。2 つのルールを使用して RPi でプログラムを実行してもiptables出力は表示されず、接続は実際にはプログラムがリッスンしているポート 8000 にリダイレクトされません。

リダイレクトにもフラグが必要である例をいくつか見ましたが--dport、このポートが何であるかはわかりません。

iptablesRPi に関する私の現在のルールは次のとおりです。

-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

関連情報