Вот мой скрипт
#!/bin/sh
INET_IFACE="eth0"
IPTABLES="/sbin/iptables"
echo 1 > /proc/sys/net/ipv4/ip_forward$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP
$IPTABLES -F
$IPTABLES -X
$IPTABLES -N bad_tcp_packets
$IPTABLES -N allowed
$IPTABLES -N tcp_packets
$IPTABLES -N udp_packets
$IPTABLES -N icmp_packets
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j DROP
#------------------------ Allowed -------------------------------------
$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -j DROP
#------------------------ Allowed -------------------------------------
#---------------------------------------PortZ-------------------------------
# здесь можно открыть некоторые порты, т.к. по умолчанию мы закрыли всё
#------------------------------------------Sip---------------------
# открываем 5060-ый udp (SIP)
$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 5060 -j ACCEPT
#------------------------------------------Sip---------------------
#------------------------------------------Apache---------------------
# открываем 80-ый tcp (Apache)
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed
#------------------------------------------Apache---------------------
#------------------------------------------SSH---------------------
# открываем 22-ый tcp (SSH)
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 22 -j allowed
#------------------------------------------SSH---------------------
#------------------------------------------Samba---------------------
# открываем 137-ый udp (Samba)
$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 137 -j ACCEPT
# открываем 139-ый udp (Samba)
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 139 -j allowed
#------------------------------------------Samba---------------------
# и принимаем входящие с 53-го udp (Domain Name Server)
#$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 53 -j ACCEPT
#---------------------------------------PortZ-------------------------------
# разрешаем необходимые типы icmp пакетиков
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 3 -j ACCEPT # Dest unreachable
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT # Time exceeded
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 12 -j ACCEPT # Parameter problem
#-------------------------Блокировка Ping'а-----------------------------
# и отбрасываем пинг (в принципе, он и так отбрасывается действием
# по умолчанию, но это правило для возможного редактирования)
#$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j DROP # Ping
# следующим правилом можно заменить предыдущее, тогда при пинговании
# нашей машины вместо сообщения о таймауте будет приходить сообщение
# Host unreachable
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j REJECT --reject-with icmp-host-unreachable
#-------------------------Блокировка Ping'a-----------------------------
# разводим пакеты по соотв. цепочкам
# tcp уходит на доп. проверку
$IPTABLES -A INPUT -p tcp -j bad_tcp_packets
# все пакеты, относящиеся к уже установленным соединениям (для tcp
# из-за отдельной цепочки пришлось это правило еще раз указать выше)
$IPTABLES -A INPUT -p ALL -i $INET_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udp_packets
$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
echo "_____________________FireWall Script was started ________________"
Сиим простым фаерволом просто позакрывал всё нафиг оставил только нужное ...
С TCP портами проблем нет открыл закрыл всё нормально... Но с UDP ничего не получается -
Проверяю комадой (С другого компа конечно)hping -S 192.168.1.222(мой ip) -p 5060(Нужный мне) -c 1.
Вопрос - в чем проблема что я делаю не так? Заранее спасибо.