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

Блокировка Facebook на определенных IP-адресах с помощью iptables

Вот моя текущая среда:

У меня есть виртуальная машина с 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-адреса (вам нужно будет просмотреть их на наличие обновлений).

Или вы можете использовать специализированный инструмент для фильтрации веб-контента.