У меня есть Squid, работающий на прозрачном прокси (порт 3128) и VPN-клиенты, подключающиеся + пересылка ip через PPTPD. Я хочу разрешить пользователям подключаться к порту 80 (3128), но блокировать весь другой трафик TCP.
В настоящее время я использую следующее:
iptables -t nat -A PREROUTING -i ppp+ -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t filter -A INPUT -i ppp+ -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -i ppp+ -p tcp --dport 3128 -j ACCEPT
iptables -t filter -A INPUT -i ppp+ -p tcp -j DROP
Хотя я вижу, что трафик HTTP проходит через squid, я ожидаю, что HTTPS (443) будет заблокирован, но я все еще могу загрузить страницу HTTPS, когда подключен к VPN.
Можете ли вы указать мне правильное направление того, что здесь не так, чтобы блокировать весь трафик NON HTTP TCP от VPN-клиентов?
Спасибо
Я предполагаю, что, возможно, таблица фильтров не подвержена трафику VPN. После изменения на FORWARD все работает как положено
iptables -t nat -A PREROUTING -i ppp+ -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -A FORWARD -i ppp+ -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i ppp+ -p tcp --dport 3128 -j ACCEPT
iptables -A FORWARD -i ppp+ -j DROP
iptables -A FORWARD -o ppp+ -j DROP