eth0に接続されているデバイスがwlan0とwlan1のデバイスにアクセスできるようにします。下図のように。 Wi-Fiデバイスの周波数が異なるため、接続できません(サポートされていません)。
(192.170.1.32) WiFi Device 1 freq A
/
/
(wlan0 = 192.170.1.250/32)
PC (192.168.2.33) ------- (eth0 = 192.168.2.1) RPi -----
(wlan1 = 192.170.1.251/32)
\
\
(192.170.1.69) WiFi Device 2 freq B
正しいネットワークに接続するようにIPTablesを設定してみました。 (ネットワーク上のすべてのデバイスのIPアドレスが何であるかを事前に知っています。)
たとえば、th0インターフェイスがすべてのUDPパケットを周波数A(wlan0)の192.170.1.69に送信し、UDPパケットを周波数B(wlan1)の192.170.1.9に送信するには
# Iptables
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables -t nat -A PREROUTING -s 192.168.1.1 -d 192.170.1.69 -p udp -j MARK --set-mark 11
iptables -t nat -A PREROUTING -s 192.168.1.1 -d 192.170.1.79 -p udp -j MARK --set-mark 12
# IP Routes
ip route add 192.170.1.0/24 dev wlan0 table 11
ip route add 192.170.1.0/24 dev wlan1 table 12
しかし、これはうまくいきません。正しいデバイスにメッセージを送信することはできません。とても簡単だからそうです。
ベストアンサー1
その答えは結局というアプリでしたparprouted
。これは、デバイスが物理的に分離されていてもネットワークを単一の論理ネットワークとして表示できるようにするARPプロキシです。プロキシARPはレイヤ3で動作します。つまり、レイヤ2(リンクレイヤ)を処理する必要はありません。 ARPプロキシの仕組みについての良い記事はここにあります。http://www.tcpipguide.com/free/t_ProxyARP-2.htm
この場合、ブリッジ方式は機能しません。主にWiFiはイーサネットと同じフレームモードを使用しないようで、簡単にブリッジされないためです。
ip route
私はこれを行う方法を見つける方法を研究するのに十分な時間を費やしていません。どのように設定するかはわかりませんが、宛先IPアドレスに基づいてフィルタリングするにはIPテーブルを使用する必要があるかもしれません。
私のネットワーク構成は次のとおりです
(192.170.1.32) WiFi Device 1 freq A
/
/
(wlan0 = 192.170.1.250/24)
PC (192.170.1.251/24) ------- (eth0 = 192.170.1.251/24) RPi -----
(wlan1 = 192.170.1.251/24)
\
\
(192.170.1.69) WiFi Device 2 freq B
そしてparprouted
使い始めるparprouted eth0 wlan0 wlan1