Давайте рассмотрим, как заблокировать доступ к определенным веб-сайтам очень просто с помощью iptables.
Приведенный ниже пример блокирует доступ к одному сайту.
iptables -A OUTPUT -p tcp -m string --string “dailytelegraph.com.au” --algo kmp --to 65535 -j REJECT --reject-with icmp-port-unreachable
Это очень легко сделать.
Загружать веб-сайт в браузере бесполезно, он завершится по тайм-ауту.
Вот более полезный пример скрипта, который блокирует ICMP-пакеты, а также доступ к нежелательным сайтам.
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i wlan0 -p icmp -m icmp --icmp-type 8 -j DROP
-A INPUT -p tcp -m tcp --dport 23 -j DROP
-A INPUT -p tcp -m tcp --dport 21 -j DROP
-A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -p tcp -m string --string "dailytelegraph.com.au" --algo kmp --to 65535 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -p tcp -m string --string "*4chan.org" --algo kmp --to 65535 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -p tcp -m string --string "boards.4chan.org" --algo kmp --to 65535 -j REJECT --reject-with icmp-port-unreachable
COMMIT
Загрузите эти правила в iptables с помощью этой команды.
iptables-restore < iptables.sh
Затем можно проверить добавленные правила iptables.
iptables -S
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT ACCEPT
-A INPUT -i wlan0 -p icmp -m icmp --icmp-type 8 -j DROP
-A INPUT -p tcp -m tcp --dport 23 -j DROP
-A INPUT -p tcp -m tcp --dport 21 -j DROP
-A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -p tcp -m string --string "dailytelegraph.com.au"; --algo kmp -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -p tcp -m string --string "*4chan.org"; --algo kmp -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -p tcp -m string --string "boards.4chan.org"; --algo kmp -j REJECT --reject-with icmp-port-unreachable
Это очень классный трюк для пользователя Linux.
см. также: