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

Принудительное использование прокси во всех браузерах

Я настроил squid с squid с squidguard, и при использовании прокси в браузере он отлично работает. Но я хочу принудительно использовать прокси (возможно, в iptables) во всех браузерах. Теперь его можно отключить в настройках браузера пользователем.

Моя установка: один автономный компьютер с ubuntu, на котором запущены squid и squidguard, и на этом же устройстве я хочу каким-то образом принудительно использовать прокси. Конфигурационный файл Squid установил:

http_port 3128 transparent

Спасибо

Вам нужен прозрачный прокси. Последний раз я проверял, что с Squid это можно сделать двумя способами:

  1. Кредитное плечо WCCP, который поддерживает Squid.
  2. Маршрутизируйте весь Интернет-трафик через ящик Squid и перехватывайте трафик через IPTables. 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

Вы можете найти больше примеров и подробную информацию на сайте Эта статья.