сижу думаю и возникает вопрос (я не специалист по tcp/ip) насколько это оправдано:
для инпута 53 и 80 порты (здесь как я понял проверяем установленный флаг SYN и сброшенные остальные, если объясните зачем буду благодарен)
-p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
для всех цепочек
-p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
-p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
Пользователь решил продолжить мысль 21 Февраля 2012, 12:02:15:
вот написал таблицу для локалки без инета чтобы все работало правильно ?
# Generated by iptables-save v1.4.4 on Tue Feb 21 10:32:30 2012
*filter
:INPUT DROP
:FORWARD DROP
:OUTPUT DROP
-A INPUT -i eth0 -s 192.168.1.0/24 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT p UDP -i eth0 --dport 67 --sport 68 -j ACCEPT
-A OUTPUT -s lo -j ACCEPT
-A OUTPUT -s 192.168.1.1 -j ACCEPT
COMMIT
# Completed on Tue Feb 21 10:32:30 2012