Вот рабочий конфиг, подставь свои адреса и интерфейсы
------------------------------
#!/bin/sh
# Настройка firewall на iptables
#
/sbin/depmod -a
#
# Загрузка модулей
#
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_nat_irc
# Сбрасываем все цепочки
iptables -F
iptables -t nat -F
iptables -t mangle -F
# Определяем политику по умолчанию
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
# Сбрасываем цепочку POSTROUTING в таблице nat
iptables -t nat -F POSTROUTING
# Настройка интерфейсов и IP
#
# Интернет
INET_IP="xxx.xxx.xxx.xxx" # ИП адрес реальный, на внешней сетевухе
INET_IP2="xxx.xxx.xxx.xxx" # ИП адрес приватной сети провайдера, вида 192.168.х.х
# для доступа из локальной сети провайдера, сделан в виде алиаса для внешней сетевухи
INET_IFACE="eth1" # инетрфейс смотрящий во внешнюю сеть
# Локальная сеть
LAN_IP="xxx.xxx.xxx.xxx" # ИП адрес локальной сетевухи
LAN_IFACE="eth0" # интерфейс смотрящий в локальную сеть
LAN_NET="xxx.xxx.xxx.0/255.255.255.0" # Локальная подсеть из частного диапазона (192.168.0.0/255.255.255.0 к примеру)
# Настройка iptables
IPTABLES="/usr/sbin/iptables" # команда запуска iptables, можно без пути, или подправить путь под себя
# Включаем пересылку пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward
# Безусловно разрешаем соединения по локальному интерфейсу (loopback, 127.0.0.1)
$IPTABLES -A INPUT -i lo -j ACCEPT
# Делаем доступ из внешней сети (MY)
#$IPTABLES -A INPUT -s xxx.xxx.xxx.xxx -j ACCEPT # полный доступ из сети провайдера или интернета, для доверенных ИП, если нужен
# Разрешаем пересылку (FORWARD) всех пакетов с локального интерфейса eth0, этого может и не нужно
$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Принимаем все пакеты, относящиеся к установленным соединениям
$IPTABLES -A INPUT -p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT
# Будут отброшены все пакеты tcp имеющие статус NEW, но не имеющие флагов SYN,ACK
# предохраняет от атак, подробности в приложении В4 Iptables Tutorial
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j DROP
# Редирект порта 80 для прозрачного проксирования
$IPTABLES -t nat -A PREROUTING -i eth0 -s $LAN_NET -p tcp --dport 80 -j REDIRECT --to-port 3128
# Настраиваем NAT
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP
# ping, разрешаем пинг, пожно по неоходимости разрешить другие icmp пакеты, но этого вполне достаточно
$IPTABLES -A INPUT -p ICMP --icmp-type 8 -j ACCEPT
#######################################################
##
## Открытие и закрытие портов
##
#######################################################
# Здесь можно открыть некоторые порты, т.к. по умолчанию закрыты все
#######################################################
# TCP
#######################################################
# Порт 21(ftp) открыт только для ИП адресов диапазона 192.168.0.0/24, сеть провайдера
$IPTABLES -A INPUT -p TCP -s 192.168.0.0/255.255.0.0 --dport 20:21 -j ACCEPT
# Доступ к прокси серверу из локалки, порт 3128
$IPTABLES -A INPUT -p TCP -s $LAN_NET --dport 3128 -j ACCEPT
# Это Веб сервер
$IPTABLES -A INPUT -p TCP -s 0/0 --dport 80 -j ACCEPT
# 113 порт для службы ident, нужен для ирк протокола и еще чего то
$IPTABLES -A INPUT -p TCP -s 0/0 --dport 113 -j ACCEPT
# Это для ИРК
$IPTABLES -A INPUT -p TCP -s 0/0 --dport 6667 -j ACCEPT
# Это для почты
$IPTABLES -A INPUT -p TCP -s 0/0 --dport 110 -j ACCEPT # POP3
$IPTABLES -A INPUT -p TCP -s 0/0 --dport 25 -j ACCEPT # SMTP
####
$IPTABLES -A INPUT -p TCP -s $LAN_NET --dport 1433 -j ACCEPT # MS-SQL
# если ты цепляешься к серваку из внешней сети (что скорее всего, т.к. MS сервера нету
#под линух :) то оставь $LAN_NET, если доступ по этому порту нужен к твоему серваку со
#всех возможных ИП то поставь 0/0, и подправь в секции UDP
########################################################
# UDP
########################################################
# Порт 21(ftp) открыт только для ИП адресов диапазона 192.168.0.0/24
$IPTABLES -A INPUT -p UDP -s 192.168.0.0/255.255.0.0 --dport 20:21 -j ACCEPT
# DNS service, только локальная сеть, если у тебя нет своего
# настроенного ДНС домена, то доступ из вне не нужен
$IPTABLES -A INPUT -p UDP -s $LAN_NET --dport 53 -j ACCEPT
# Точное время порт 123, ntp сервис
$IPTABLES -A INPUT -p UDP -s $LAN_NET --dport 123 -j ACCEPT
# Это для Аськи
$IPTABLES -A INPUT -p UDP -s 0/0 --dport 5190 -j ACCEPT
# Это для почты
$IPTABLES -A INPUT -p UDP -s 0/0 --dport 110 -j ACCEPT # POP3
$IPTABLES -A INPUT -p UDP -s 0/0 --dport 25 -j ACCEPT # SMTP
######
$IPTABLES -A INPUT -p TCP -s $LAN_NET --dport 1433 -j ACCEPT # MS-SQL