両方のWi-Fiネットワークのパケットルーティング用のIPTables

両方のWi-Fiネットワークのパケットルーティング用のIPTables

私たちは現在、Linuxコンピュータ(debian)をWiFi制御とルーターとして使用してシステムをセットアップしています。 Linuxコンピュータは、WiFi(wlan0とwlan1)を介して2つのWiFiネットワーク(AとBと呼ばれる)に接続されています。その後、PCはイーサネットを介してLinuxボックスに接続され、両方のWiFiネットワーク上のすべてのデバイスにアクセスできます。 ASCIIアート画像を見る

                                             WiFi A (192.170.1.xx)
                                            /
                                           /
PC (192.168.2.xx) ----- (192.168.2.1) Linux (192.170.1.253) 
                                           \
                                            \
                                             WiFi B (192.170.1.xx)

ルーティングに必要なプロトコルは次のとおりです。

  1. PCから192.170.1.xxデバイスへのSSH接続
  2. ポート1234/4321経由でPCから192.170.1.xxデバイスへのTCP
  3. PCから192.170.1.xxデバイスへのPING

問題はIPTableの設定方法に関連しています。

  • PCのゲートウェイは192.168.2.1に設定されているため、PCが192.170.1.xxに送信するすべてのパケットはLinuxボックスにルーティングされますか?

これはうまくいくべきだと思います(まだテストしていません)。これが正しいのか、それとも私の論理に根本的に間違った点があるのか​​を指摘してもらえますか?

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o wlan 1-m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
iptables -A FORWARD -i wlan1 -o eth0 -j ACCEPT

ベストアンサー1

注:Wi-Fi AとBは異なるサブネット上になければなりません。それ以外の場合、Linuxシステムはエラーを報告します。

eth0がPC用であると仮定すると、このルールを使用して目的のsshポートとtcpポートを取得できます。

iptables -t filter -A FORWARD -i eth0 -o <Interface> -d <Des subnet> -p tcp --dport <Des Port> -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

pingを許可するには、次のものを使用できます。

iptables -t filter -A FORWARD -i eth0 -o <Interface> -d <Des subnet> -p icmp --icmp-type 8 -j ACCEPT

おすすめ記事