dnsmasq установите - чтоб в локалку ip шники выдавал - ну что \m/ круто все \m/.
Ну и в каталог /etc/rc.d/
поместите файл rc.firewall что-то типа такого
#!/bin/sh
#Локальная/домашняя сеть (для NAT)
LAN="eth0"
# IP если он статический
#WANIP="0.0.0.0"
#внешний интерфейс
#WAN="eth1"
#Разрешить форвардинг (для NAT)
echo 1 > /proc/sys/net/ipv4/ip_forward
#Поддержка динамического IP (SLIP, PPP)
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
#Загружаем модуль трассировки пакетов активного FTP соединения
#/sbin/modprobe ip_conntrack_ftp
#Загружаем дополнительный модуль трассировки FTP (для NAT)
/sbin/modprobe ip_nat_ftp
#Настройки по умолчанию
/sbin/iptables -P INPUT DROP # запретить обращение к сервисам машины по умолчанию
/sbin/iptables -F INPUT
/sbin/iptables -P OUTPUT ACCEPT # разрешить выход пакетов с машины по умолчанию
/sbin/iptables -F OUTPUT
/sbin/iptables -P FORWARD DROP # запретить проход пакетов через машину по умолчанию
/sbin/iptables -F FORWARD
/sbin/iptables -t nat -F
################################
# Правила для INPUT
################################
#С lo можно входить всем
/sbin/iptables -A INPUT -i lo -j ACCEPT
#Если что пришло с IP 127.0.0.1 но это не lo но не пускать. (для начала в лог)
/sbin/iptables -A INPUT -s 127.0.0.0/255.0.0.0 ! -i lo -j LOG --log-level 7 --log-prefix "IPT bad_LO "
/sbin/iptables -A INPUT -s 127.0.0.0/255.0.0.0 ! -i lo -j DROP
#Source quench можно (подавление источника - для регулировки скорости соединения)
/sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 4 -j ACCEPT
# можно входить ответу от Моего PING
/sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
#можно входить IP header bad и Required options missing
/sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 12 -j ACCEPT
#можно входить пингу с локалки
/sbin/iptables -A INPUT -i $LAN -p icmp -m icmp --icmp-type 8 -j REJECT
#Если кто пингует не из локалки - в лог и нет ему ответа
/sbin/iptables -A INPUT -i $WAN -p icmp -m icmp --icmp-type 8 -j LOG --log-level 7 --log-prefix "IPT IN_E PING "
/sbin/iptables -A INPUT -i $WAN -p icmp -m icmp --icmp-type 8 -j REJECT --reject-with icmp-port-unreachable
#BOOTP serv (67) BOOTP client (68) (надо если IP динамический - для получения IP)
/sbin/iptables -A INPUT -p udp -m udp --dport 68 --sport 67 -j ACCEPT
#я типа сервер DHCP :)
/sbin/iptables -A INPUT -i $LAN -p udp -m udp --sport 68 --dport 67 -j ACCEPT
#Дропаем запросы других DHCP клиентов
#/sbin/iptables -A INPUT -p udp -m udp --dport 67 -j DROP
#Две следующие для того чтоб смог получить ответ от ДНС серверов
/sbin/iptables -A INPUT -p udp -m udp --sport 53 --dport 1024:65535 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m tcp --sport 53 --dport 1024:65353 -j ACCEPT ! --syn
#Две следующие для моего ДНС
/sbin/iptables -A INPUT -i $LAN -p udp -m udp --sport 1024:65353 --dport 53 -j ACCEPT
/sbin/iptables -A INPUT -i $LAN -p tcp -m tcp --sport 1024:65353 --dport 53 -j ACCEPT
#authentication tap ident (AUTH-запросы) с удаленного порта можно, а на мой порт нельзя
/sbin/iptables -A INPUT -p tcp -m tcp --sport 113 --dport 1024:65535 -j ACCEPT ! --syn
/sbin/iptables -A INPUT -p tcp -m tcp --dport 113 -j DROP
#МОИ СЛУЖБЫ
/sbin/iptables -A INPUT -i $LAN -p tcp -m tcp -m multiport --dports 80,22 -j ACCEPT
#Ко мне можно конектится службам smtp pop3 ssh ftp-управляющее соединение finger whois Gopher www proxy news но нельзя syn
/sbin/iptables -A INPUT ! -i $LAN -p tcp -m tcp -m multiport --dport 1024:65535 --sports 25,110,22,21,79,43,70,80,81,119,8080,3128,82,443 -j ACCEPT ! --syn
#Для соединения по активному ФТП - чтоб удаленный смог соединение с программой на компьютере создать.
#/sbin/iptables -A INPUT -p tcp -m tcp --dport 1024:65535 --sport 20 -j ACCEPT
#Для пассивного ФТП и т.п.
#/sbin/iptables -A INPUT -i $WAN -p tcp -m tcp --dport 1024:65535 --sport 1024:65535 -j ACCEPT ! --syn
#сервер времени получаю из вне ntp0.zenon.net ntp1.zenon.net
/sbin/iptables -A INPUT -p udp -m udp -s 195.2.64.5 --sport 123 --dport 123 -j ACCEPT
/sbin/iptables -A INPUT -p udp -m udp -s 195.2.64.6 --sport 123 --dport 123 -j ACCEPT
#сервер времени для локалки
/sbin/iptables -A INPUT -i $LAN -p udp -m udp --sport 123 --dport 123 -j ACCEPT
# Если открывают новое соединетие - запрет
/sbin/iptables -A INPUT -i $WAN -m state --state NEW -j DROP
################################
# Правила для OUTPUT
################################
#С lo можно выходить всем
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
################################
# Правила для FORWARD и NAT
################################
# Настройки прозрачного прокси
#/sbin/iptables -t nat -A PREROUTING -i $LAN -s $LANIP ! -d $MYIP -p tcp -m tcp --dport 80 -j REDIRECT --to-port 80
# Настройки NAT - общие
/sbin/iptables -A FORWARD -o $LAN -m state --state ESTABLISHED,RELATED -j ACCEPT
# Какие порты разрешены HTTP и др
/sbin/iptables -A FORWARD -i $LAN -p tcp -m multiport --dport 80,81,82,88,8080,8081,443 -j ACCEPT
/sbin/iptables -A FORWARD -i $LAN -p tcp -m multiport --dport 25,110,143,119,21 -j ACCEPT
# При получении внешнего IP динамически
/sbin/iptables -t nat -A POSTROUTING -o $WAN -j MASQUERADE
# При получении внешнего IP статически
#/sbin/iptables -t nat -A POSTROUTING -o $WAN -j SNAT --to $WANIP
и сделайте исполнимым
chmod +x /etc/rc.d/rc.firewall
Может кто еще что по нему подскажет :)