Linuxシステムでは、wlan0とeth0の2つのインターフェースを切り替えるスクリプトを作成しようとしています。
私の主な参考資料は次のとおりです。 https://askubuntu.com/questions/338100/forwarding-traffic-Between-2-interfaces
-A FORWARD -i eth0 -o wlan0 -j ACCEPT
私の質問は、上記のコマンドを実行した後も元のパケットはまだeth0を介して流れますか?では、どのようにブロックし、wlan0を介してのみ流れることができますか?
eth0に戻り、wlan0をeth0に渡すにはどうすればよいですか?
最後に、すべてのルールを捨てて正常に戻る方法は何ですか?
ありがとうございます。
答え1
別のインターフェイスを介してルーティングするには、ファイアウォールを無視します(見つかったソリューションはまったく異なる要件のものです)。代わりに、ルーティングテーブルを見てください。
このコマンドは、netstat -rn
指定された宛先を許可するインターフェースを表示します。このコマンドは、route
トラフィックのデフォルトゲートウェイ定義を含むルーティングテーブルを変更するために使用できます。
ルーティングテーブルの例は次のとおりです。
netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.2.254 0.0.0.0 UG 0 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
224.0.0.0 0.0.0.0 240.0.0.0 U 0 0 0 eth1
これは、LANサブネット192.168.1.0/24がトラフィックに使用され、eth0
192.168.2.0/24が使用されることを示しますeth1
。他のすべてのトラフィックは「デフォルトゲートウェイ」(ターゲット0.0.0.0)を使用しますeth1
。あなたのインターフェースは簡単になりeth0
、wlan0
重要ではありません。
デフォルトゲートウェイをから切り替えeth1
、eth0
システムのローカルIPアドレスが192.168.1.254eth1
および192.168.2.254であるとしますeth0
。
route delete default gw 192.168.2.254
route add default gw 192.168.1.254