У меня есть компьютер, который служит:
a) шлюз между беспроводной сетью (WLAN0) и LAN (ETH0), подключенный к Интернету
b) прокси-сервер Squid3, который делает только веб-фильтрацию (никакое кэширование)
Я настроил iptables как это:
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 wlan0 -o eth0 -j ACCEPT
Когда я настраиваю клиент на WLAN для доступа к Интернету через прокси, он работает просто великолепно согласно правилам, указанным в Сквиде.
Однако Интернет все еще доступен для клиентов БЛС, которые не настроены для использования прокси. Теперь я хочу вынудить этих клиентов БЛС использовать прокси путем устанавливания корректного правила в iptables для отклонения трафика WLAN, который не прибывает из прокси.
Я попробовал следующее:
iptables -A INPUT -i wlan0 -p tcp --dport 3128 -j ACCEPT
iptables -A INPUT -i wlan0 -j DROP
но это не работает для блокирования этих клиентов БЛС, которые делают быть бесполезное прокси.
Так как шлюз и прокси находятся на том же компьютере, я смущен, о которой iptables цепочке я должен использовать для блокирования этих клиентов. Я должен использовать ВХОД (как?) или я должен сделать это по-другому?
Я думаю, вам следует установить правило на передний подбородок, а не на входной. поскольку адресатом запроса не является сервер, а другой IP-адрес сервера