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

Прозрачный прокси Squid с внутренней и внешней сетью

У меня такая настройка сети с внешней и внутренней сетями.

Я успешно запустил squid с прокси для внутреннего браузера, и теперь я хочу сделать его прозрачным, но с некоторыми проблемами.

сеть

Во-первых, я изменил "http_port 8080 intercept", но у меня возникли проблемы с настройкой правильных Iptables на внешнем сервере, поскольку пакет не возвращается в окно squid.

iptables --policy INPUT DROP 
iptables --policy OUTPUT DROP 
iptables --policy FORWARD ACCEPT
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -0 lo -j ACCEPT
iptables -t nat -A POSTROUTING -o enpos3 (this is NAT) -j MASQUERADE
iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 8080 -j ACCEPT
iptables -t nat -A PREROUTING -i enp0s3 -p tcp --dport 80 -j DNAT --to-destination 10.10.1.254:8080
iptables -t nat -A PREROUTING -i enp0s8 -p tcp --dport 80 -j REDIRECT --to-port 8080

Это далеко, насколько я понял, и Интернет отлично работает на внутреннем ПК, но я не уверен, как перенаправить пакет http 80 в ящик Squid (10.10.1.254:8080)

Если ваш Squid работает на шлюзе по умолчанию (порты перехвата 3126 и 3127), то следующие команды iptables позволяют перенаправлять трафик HTTP / HTTPS из вашей локальной сети в экземпляр Squid.

# redirect HTTP to locally installed Squid instance
-A PREROUTING -i ens33 -p tcp --dport 80 -j REDIRECT --to-ports 3126

# redirect HTTPS to locally installed Squid instance
-A PREROUTING -i ens33 -p tcp --dport 443 -j REDIRECT --to-ports 3127

Взято из руководства "Прозрачная фильтрация HTTPS с использованием Squid" на https://docs.diladele.com/tutorials/transparent_proxy_ubuntu/index.html