Вот моя текущая среда:
У меня есть виртуальная машина с Ubuntu Server / Squid, и она настроена как непрозрачная. У меня есть IP-адреса, которым нужно обходить аутентификацию Squid, чтобы иметь неограниченный доступ. В некоторых случаях это необходимо, потому что некоторые приложения плохо работают с прокси.
В настоящее время это делается с помощью следующего правила iptables:
iptables -t nat -I PREROUTING -s 192.168.0.12 -p tcp --match multiport --dports 80,443 -j ACCEPT
Моя проблема сейчас в том, что я должен заблокировать Facebook для некоторых из этих неограниченных IP-адресов.
Я долго искал и протестировал кучу вещей для реализации в моем текущем правиле, но безуспешно, поэтому я надеюсь, что некоторые из вас могут просветить меня в этой ситуации.
Чтобы надежно фильтровать facebook, вам нужно настроить прозрачный прокси (например, squid) и фильтровать его по имени домена.
Вы можете добавить в свои правила iptables блокировку доменов, например:
iptables -t nat -I OUTPUT -p tcp -d www.facebook.com -j DROP
iptables -t nat -I -p tcp -d facebook.com -j DROP
Использование доменов с iptables действительно не рекомендуется из-за поиска DNS, поэтому вы можете получить IP-адреса facebook (с dig
или host
команды, например) и добавьте эти IP-адреса (вам нужно будет просмотреть их на наличие обновлений).
Или вы можете использовать специализированный инструмент для фильтрации веб-контента.