Прозрачный прокси 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 box (10.10.1.254:8080
)
1 ответ
Если ваш 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