У меня есть прокси-сервер Squid на моем ноутбуке Debian-Gnu-Linux, настроенный для блокировки некоторых веб-сайтов. Я могу настроить браузер на использование этого прокси, но я также могу настроить его так, чтобы он не использовался. Поскольку я использую его для блокировки некоторых сайтов. Я не хочу, чтобы приложение могло обходить прокси. Можно ли настроить брандмауэр для отключения исходящего трафика, кроме случаев, когда он отправляется прокси-приложением или пользователем?
Хотелось бы по возможности простой конфигуратор.
Примечание: я использую одну машину.
Сначала настройте squid, затем запустите его как пользовательский прокси (за меня это сделал установщик). Затем:
sudo iptables -A OUTPUT -o lo -j ACCEPT # can access all local
sudo iptables -A OUTPUT -m owner --uid-owner proxy -j ACCEPT # proxy can do anything
sudo iptables -A OUTPUT -p udp --destination-port 53 -j ACCEPT #all can access dns, (could restrict more)
sudo iptables -A OUTPUT -j DROP #drop everything else
Это просто контроль, вам все равно нужно настроить прокси в браузере. Возможно, также можно добавить правила перенаправления.
мне было нужно
sudo iptables -F OUTPUT
сначала избавиться от старых правил
Вы можете запустить свой прокси-сервер Squid в одном из двух режимов:
Не забудьте также разрешить трафик DNS (UDP / 53).
Если вы разрешите другие порты, кто-то может найти внешний прокси-сервер и использовать его для обхода вашего прокси.