IPTables and Routes

Я пытаюсь разрешить устройству, подключенному к eth0, получить доступ к устройствам на wlan0 и wlan1. Схема показана ниже.Устройства WiFi работают на разных частотах, и я не могу их соединить (не поддерживается).

                                                    (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 в 192.170.1.69, который находится на частоте A (wlan0), и пакеты udp до 192.170.1.9, который находится на частоте B (wlan1).

# 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

Однако это не работает. Я не могу заставить его отправлять сообщения на правильные устройства - я чувствую, потому что это слишком просто.

0
15.09.2017, 19:32
1 ответ

Ответ оказался приложением под названием parprouted. Это прокси-сервер ARP, который позволяет устройствам рассматривать сеть как единую логическую сеть, даже если они физически разделены. Прокси-сервер ARP работает на уровне 3, что означает, что вам не нужно иметь дело с канальным уровнем уровня 2 (). Хорошую статью о том, как работают прокси-серверы ARP, см. здесь http://www.tcpipguide.com/free/t_ProxyARP-2.htm

.

Метод моста в этом случае не работает. В первую очередь потому, что Wi-Fi, похоже, не использует ту же схему кадрирования, что и Ethernet, и его нелегко подключить.

Я недостаточно долго изучал метод 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

0
28.01.2020, 04:39

Теги

Похожие вопросы