Правило Iptables для повторителя - PullRequest
0 голосов
/ 10 сентября 2018

Я пытаюсь настроить сеть с Squid в качестве прокси-сервера. К сожалению, похоже, что Squid слишком медленный для потоковой передачи звука; в моем случае WLAN-радио. Поэтому мой подход состоял в том, чтобы просто создать некоторые правила в моем брандмауэре, которые обходят Squid для моих радиостанций:

ipset -N radios hash:ip
ipset -A radios 192.168.2.40
ipset -A radios 192.168.2.41 #behind repeater
iptables -t nat -A PREROUTING -p udp --dport 80 -m set ! --match-set radios src -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -p tcp --dport 80 -m set ! --match-set radios src -j REDIRECT --to-port 3128

Это работает довольно хорошо; потоковая передача не прерывается для первого радио и поэтому корректно обойдена. К сожалению, второе радио все еще работает не очень хорошо. Изучив журналы, я обнаружил, что второе радио подключено к повторителю, а не к самому маршрутизатору, поэтому правило iptables не совсем корректно. Что мне действительно нужно, так это правило, позволяющее обойти трафик от ретранслятора к радио, но трафик от ретранслятора ко всем остальным приемникам следует отправлять в Squid по желанию. Очевидно, я не слишком знаком с iptables, поэтому любая помощь приветствуется!

Редактировать: Кажется, я идиот :-). Я забыл открыть порт 80 в цепочке FORWARD для второго радио. Но все же я не понимаю поведение повторителя. Я предполагал, что запрос от радиомодуля к ретранслятору поступил маршрутизатору с IP-адресом ретранслятора, но похоже, что ретранслятор сохраняет исходный IP-адрес ...

...