IpTables -j REJECT для немедленной блокировки загрузки в браузере пользователя
Я искал решение, чтобы уведомить браузер пользователя о том, что запрос отклонен, поэтому прекратите его загрузку. Потому что я заблокировал 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 ответ
Когда вы используете iptables(netfilter), вы не можете уведомить браузер. эта блокировка работает на 4-х уровнях модели OSI, но вам нужен уровень 7. Я вижу решение в прокси-сервере Squid, который перенаправит браузер пользователя на какой-нибудь URL.