Назад | Перейти на главную страницу

Как настроить iptables на шлюзе, на котором также размещается прокси-сервер Squid?

У меня есть компьютер, который служит:

а) шлюз между беспроводной сетью (WLAN0) и локальной сетью (ETH0), подключенной к Интернету

б) прокси-сервер 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 для доступа в Интернет через прокси, он отлично работает в соответствии с правилами, указанными в Squid.

Однако Интернет по-прежнему доступен для клиентов WLAN, которые не настроены для использования прокси. Теперь я хочу заставить этих клиентов WLAN использовать прокси, установив правильное правило в iptables для отклонения трафика WLAN, который не исходит от прокси.

Я пробовал следующее:

iptables -A INPUT -i wlan0 -p tcp --dport 3128 -j ACCEPT
iptables -A INPUT -i wlan0 -j DROP

но не работает блокировка этих клиентов WLAN, которые не используют прокси.

Поскольку шлюз и прокси находятся на одном компьютере, я не понимаю, какую цепочку iptables мне следует использовать для блокировки этих клиентов. Должен ли я использовать INPUT (как?) Или я должен сделать это по-другому?

Я думаю, вы должны поместить правило в передний подбородок, а не во входной подбородок, так как место назначения запроса не сервер, а другой IP-адрес сервера