iptables - что я делаю не так? [Solved]
Всем привет.
Вот какая непонятка -
Добавляю правило iptables -A INPUT -s ! 192.168.0.0/16 -p tcp -m tcp --dport 3128 -j DROP
значит желаю убивать все TCP пакеты, которые приходят на порт 3128, с любого IP адреса, кроме 192,168,х,х (локалка).
правило добавляется ок -
0 0 DROP tcp -- any any !192.168.0.0/16 anywhere tcp dpt:3128
но при этом телнетом легко соединяемся с этим портом -
Heffalump files # cat /proc/net/ip_conntrack |grep ххх.хх.ххх.ххх
tcp 6 431992 ESTABLISHED src=ххх.хх.ххх.ххх dst=yy.yy.yy.yy sport=7891 dport=3128 src=yy.yy.yy.yy dst=xxx.xx.xxx.xxx sport=3128 dport=7891 [ASSURED] use=1
src=xxx.xx.xxx.xxx - IP адрес удаленного хоста, с которого мучаю компьютер yy.yy.yy.yy
почему так происходит? ведь по идее все пакеты приходящие "снаружи" на 3128й порт должны дропаться?
P.S.:
а вот такое правило - iptables -A INPUT -i eth0 -p udp -m udp --dport 0:1023 -j DROP
работает -
3136K 325M DROP udp -- eth0 any anywhere anywhere udp dpts:0:1023
- Для комментирования войдите или зарегистрируйтесь
а ты пакеты пробовал посылать?
а?
не понял вопроса
если имеет место соединение, то это подразумевает что пакеты не только посылаются, но и возвращаются ответные, и не по одной штуке, поскольку соединение "ASSURED".
при том что установлено вышеозначенное правило iptables, я с удаленного компа спокойно телнетом подключаюсь к сквиду, на порту которого прием пакетов извне запрещен.
или я чего-то не догоняю?
iptables -I INPUT 1 -s !
iptables -I INPUT 1 -s ! 192.168.0.0/16 -p tcp --dport 3128 -j DROP
да.. так работает.
спасибо. так работает.
но в чем мораль?
перед этим правилом ничего особенно разрешающего не стояло.
Либо -m tcp, либо
Либо -m tcp, либо что-то дропающее эти пакеты до этого правила попадалось.
Кстати не
Кстати не дропающее, а разрешающее имелось ввиду в данной ситуации =)