Я настроил squid с squid с squidguard, и при использовании прокси в браузере он отлично работает. Но я хочу принудительно использовать прокси (возможно, в iptables) во всех браузерах. Теперь его можно отключить в настройках браузера пользователем.
Моя установка: один автономный компьютер с ubuntu, на котором запущены squid и squidguard, и на этом же устройстве я хочу каким-то образом принудительно использовать прокси. Конфигурационный файл Squid установил:
http_port 3128 transparent
Спасибо
Вам нужен прозрачный прокси. Последний раз я проверял, что с Squid это можно сделать двумя способами:
Первый вариант требует поддержки вашей инфраструктуры маршрутизации. Поскольку это протокол Cisco, поддержка за пределами Cisco невелика. Это работает, я сделал это, если у вас есть инфраструктура.
Второй вариант гораздо более осуществим. Чтобы это работало, вам необходимо настроить инфраструктуру маршрутизации для отправки всего интернет-трафика через окно Squid. Squid может быть скомпилирован с поддержкой перехвата и может поступать таким образом через репозитории Apt.
Следуя рецепту iptables, прозрачно маршрутизирует весь HTTP-трафик на eth1 (наше внутреннее сетевое устройство на маршрутизаторе) в Squid (и vv).
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.110.0.1:3128
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
Если вы используете ufw (как и мы), вы можете добавить строку в /etc/ufw/after.rules
:
*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.110.0.1:3128
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
COMMIT
Вы можете найти больше примеров и подробную информацию на сайте Эта статья.