Я искал решение, чтобы уведомить браузер пользователя о том, что запрос отклонен, поэтому прекратите его загрузку. Потому что я заблокировал Facebook, и каждая страница, на которой есть плагин Facebook, загружается на 1 минуту, что приводит к путанице.

Когда я использую это правило:

iptables -A FORWARD -p tcp -m iprange --src-range192.168.1.50-192.168.1.100 --dport 443 -j REJECT

Я должен добавить этот код --reject-with tcp-reset чтобы выполнить запрос ниже, чтобы браузер сразу же заметил отклонение и больше не ждал загрузки.

Теперь мой вопрос: как я могу сделать то же самое с этим новым правилом, которое я недавно добавил, которое блокирует Facebook, используя информацию L7?

iptables -A FORWARD -m string --string "facebook.com" --algo bm --from 1 --to 600 -j REJECT

1 ответ1

0

когда вы используете iptables(netfilter), вы не можете уведомить браузер. эта блокировка работает на 4-х уровнях модели OSI, но вам нужен уровень 7. Я вижу решение в прокси-сервере Squid, который перенаправит браузер пользователя на какой-нибудь URL.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .