semperN пишет:Убрал facebook и заменил INPUT на FORWARD но все равно пускает в vk.com
Пускает откуда?
Цепочики INPUT и OUTPUT - это пакеты, адресованные именно системе шлюза и отосланные системой шлюза.
FORWARD - транзитные пакеты от ПК за шлюзом, адресованные серверу в Internet и пакеты от сервера в Internet, адресованные ПК в сети за шлюзом.
Теперь по поводу причины непускания, у вас есть вот такие правил:
Консоль:
-A FORWARD -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
...
-A FORWARD -d 93.186.224.0/21 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 93.186.232.0/21 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 87.240.128.0/18 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 95.142.192.0/21 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 95.213.0.0/18 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 185.32.248.0/22 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 95.142.200.0/21 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 95.142.192.0/20 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 217.20.144.0/20 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 185.16.244.0/23 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 185.16.246.0/24 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 185.16.247.0/24 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 5.61.16.0/21 -p tcp -m tcp --dport 443 -j SOCIAL
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth0 -j ACCEPT
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A OUTPUT -d 172.20.46.0/24 -o eth0 -p tcp -m tcp --sport 3128 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT ! -d 172.20.46.0/24 -o ppp0 -p tcp -m tcp --dport 80 -j ACCEPT
-A OUTPUT -o ppp0 -p tcp -m tcp --sport 1194 -j ACCEPT
-A OUTPUT -o tun5 -j ACCEPT
-A OUTPUT -o tun0 -j ACCEPT
-A OUTPUT -o tun1 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A OUTPUT -o eth1 -p tcp -m tcp --dport 80 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A SOCIAL -s 172.20.46.86/32 -j ACCEPT
-A SOCIAL -j DROP
Как минимум первым выделенным правилом вы уже разрешаете полное прохождение всех транзитных пакетов.
Вот эти правила после указанного уже не имеют смысла:
Консоль:
-A FORWARD -i tun5 -o ppp0 -j ACCEPT
-A FORWARD -i eth0 -o ppp0 -j ACCEPT
-A FORWARD -i ppp0 -p tcp -m tcp --dport 10000 -j ACCEPT
-A FORWARD -i ppp0 -p tcp -m tcp --dport 10001 -j ACCEPT
-A FORWARD -i tun1 -o eth0 -j ACCEPT
-A FORWARD -i ppp0 -p tcp -m tcp --dport 10001 -j ACCEPT
-A FORWARD -i tun1 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o tun1 -j ACCEPT
-A FORWARD -i eth0 -o tun0 -j ACCEPT
-A FORWARD -i tun0 -o eth0 -j ACCEPT
-A FORWARD -i ppp0 -p tcp -m tcp --dport 10002 -j ACCEPT
-A FORWARD -i ppp0 -p tcp -m tcp --dport 10003 -j ACCEPT
-A FORWARD -i ppp0 -p tcp -m tcp --dport 25 -j ACCEPT
-A FORWARD -i tun5 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o tun5 -j ACCEPT
-A FORWARD -d 172.20.46.241/32 -p tcp -m tcp --dport 143 -j ACCEPT
-A FORWARD -i ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 0:65535 -j TCPMSS --clamp-mss-to-pmtu
Ибо и так уже всё разрешено правилом выше.
Ну а уж эти правила:
Консоль:
-A FORWARD -d 93.186.224.0/21 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 93.186.232.0/21 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 87.240.128.0/18 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 95.142.192.0/21 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 95.213.0.0/18 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 185.32.248.0/22 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 95.142.200.0/21 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 95.142.192.0/20 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 217.20.144.0/20 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 185.16.244.0/23 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 185.16.246.0/24 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 185.16.247.0/24 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 5.61.16.0/21 -p tcp -m tcp --dport 443 -j SOCIAL
...
-A SOCIAL -j DROP
Вообще не работают, точно так же как и прочие правила после указанного выше правила, выделнного жирным.
Отсюда следует, что правила блокировки вам нужно разместить выше правила
-A FORWARD -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
semperN пишет:при этом нужно еще оставить белый список адресов которым можно ходить в vk.com
Ну а правила разрешения выше правила блокировки.
Ну и что бы не "захламлять" правилами конфиг iptables вы можете использовать ipset, тогда вместо вот этих правил:
Консоль:
-A FORWARD -d 93.186.224.0/21 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 93.186.232.0/21 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 87.240.128.0/18 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 95.142.192.0/21 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 95.213.0.0/18 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 185.32.248.0/22 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 95.142.200.0/21 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 95.142.192.0/20 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 217.20.144.0/20 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 185.16.244.0/23 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 185.16.246.0/24 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 185.16.247.0/24 -p tcp -m tcp --dport 443 -j SOCIAL
-A FORWARD -d 5.61.16.0/21 -p tcp -m tcp --dport 443 -j SOCIAL
Будет одно правило.
В общем, IPTABLES обрабатывает правила сверзу вниз и если пакет подходит под какое-то из правил выше, то правила ниже уже не обрабатываются, разумеется это всё в пределах одной таблицы в цепочке.
Почитайте хотя бы вот это http://www.opennet.ru/docs/RUS/iptables/ для понимания как работает IPTABLES.
Удачи.