по материалам Интернет шлюз на Linux RedHat 10
http://forum.ixbt.com/topic.cgi?id=76:6065

Рекомендую выбросить скрипт, которым Вы создавали правила для iptables. Потому что получилась полная фигня. Минимальный набор правил:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -i $LOCAL_IF -p tcp -m multiport --destination-port 3128,22 -j ACCEPT# см. примечание 1
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -i $LOCAL_IF -p tcp -m multiport --destination-port 80,25,110,445,5190,21 -j ACCEPT#см. прим.2
iptables -A FORWARD -i $LOCAL_IF -p udp -d $DNS --dport 53 -j ACCEPT
iptables -A FORWARD -i $LOCAL_IF -p icmp -j ACCEPT#см. примечание 3
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -o $EXT_IF -j MASQUERADE

Здесь: $LOCAL_IF - имя интерфейса, который смотрит в локалку, $EXT_IF - имя интерфейса, который смотрит в инет, $DNS - адрес DNS-сервера, который используют пользователи.
Вроде ничего не забыл.

примечание 1: данное правило разрешает доступ из локальной сети к самому шлюзу. В правиле перечисляем список портов, к которым разрешен доступ (в примере - прокси и ssh). В списке не более 15 портов.

Примечание 2: данное правило разрешает выход из локальной сети в интернет. В списке портов перечисляем, куда можно подключаться. В примере - http, https, почта, icq, ftp.

Примечание 3: данное правило разрешает прохождение icmp-траффика, инициированного из локалки (пинги, трейсы и проч). Обязательным не является, можно убрать.

upd: добавлено правило для локального траффика (с loopback-интерфейса)

>чтоб они активировались при загрузке
не уверен что прокатит в RH, но попробуйте: service iptables save
иначе:
делаем iptables-save > /etc/fw.conf и помещаем в /etc/rc.d/rc.local в самом конце строчку cat /etc/fw.conf|iptables-restore


1. Если по быстрому:
su -c '/bin/echo 1 > /proc/sys/net/ipv4/ip_forward'
iptables -t nat -A POSTROUTING -s <ip-address> -o <eth0|etc> -j MASQUERADE

А вообще надо читать iptables howto, например здесь: http://www.opennet.ru/docs/RUS/iptables/

для прочтения

http://www.google.com/search?hs=44i& … lr=lang_ru
http://linuxportal.ru/entry.php/82_0_3_0_C/
http://www.dzti.edu.lv/isp-serv/index.php?l=2
http://www.opennet.ru/base/net/iptables_nat.txt.html
http://www.slackware.ru/article.ghtml?ID=2784
http://www.opennet.ru/docs/RUS/iptables/

http://www.slackware.ru/show_forum.ghtm … h=infinite
http://posix.ru/network/iptables/
http://www.rhd.ru/docs/manuals/enterpri … t-fwd.html

dop     http://forum.vingrad.ru/forum/topic-173850.html

Помогите:
Есть выделенная машина, которая одним интерфейсом (eth0) смотрит в Интернет через сервер (Windows2003) и вторым (eth1) в локальную сеть. Как сделать раздачу интернета всем остальным машинам в локалке? Нужны пошаговые инструкции, планируется установка на все машины Debian 4.0 Etch. Из обязательных условий: возможность работы на этой выделенной машине (на отдельный раздатчик нет средств) и везде будет графика KDE.

1. включить перброс сообщений с интерфейса на интерфейс (команду запускают 1 раз, и это записывает в нужный файл нужные данные) :

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf

2. добавить в инициализацию системы ( напр. в /etc/rc.local, или в отдельный init-скрипт )

#!/bin/bash
iptables -F
# iptables -A FORWARD -i eth0 -j ACCEPT
# iptables -A FORWARD -i eth1 -j ACCEPT
iptables -t nat -A POSTROUTING -i eth1 -j MASQUERADE