Блокировка социальных сетей (любого домена) средствами iptables

если наш сервер является шлюзом

 

1
iptables -A FORWARD -p tcp –dport 80 -m string –string «baddomain.com» –algo kmp –to 65535 -j DROP

если браузер запускается на этом же ПК

1
iptables -I OUTPUT -p tcp -m tcp --dport 80 -m string --string "facebook" --algo bm --to 1024 -j DROP  
2
iptables -I OUTPUT -p tcp -m tcp --dport 80 -m string --string "vk.com" --algo bm --to 1024 -j DROP

iptables portforward / Проброс портов

Задача: есть внешний интерефейс [ip_wan] и внутрени 10.0.0.1. Нужно пробросить внешний порт 8586 на внутренний порт (например терминалки виндовс) 3389 на комп 10.0.0.100 через eth0 

iptables -IINPUT -m tcp -p tcp –dport 8586 -j ACCEPT

iptables  -IINPUT -m tcp -p tcp –dport 3389 -j ACCEPT

iptables -t nat -I PREROUTING -d  [ip_wan] -p tcp -m tcp –dport 8586 -j DNAT –to-destination 10.0.0.100:3389
iptables -t nat -I POSTROUTING -d 10.0.0.100 -p tcp -m tcp –dport 3389 -j SNAT –to-source [ip_wan]
iptables -t nat -I POSTROUTING –out-interface eth0 -j MASQUERADE

для сохранения все настроек после перезагрузки добавляем наши правила в  /etc/sysconfig/iptables

 для проброса VPN (port 1723) надо еще добавить правило

iptables -t nat -I PREROUTING -i [wan_eth] -p gre -d [ip_wan] -j DNAT –to-destination 10.0.0.100