私たちは現在、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)
ルーティングに必要なプロトコルは次のとおりです。
- PCから192.170.1.xxデバイスへのSSH接続
- ポート1234/4321経由でPCから192.170.1.xxデバイスへのTCP
- 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