Несмотря на то, что тема обсуждалась в инете миллиарды раз, и гуглить надо тоже учиться, привожу свой кофиг iptables с комментами:
# Generated by iptables-save v1.4.4 on Thu Apr 22 11:19:32 2010
*nat
:PREROUTING ACCEPT [801:49528]
:POSTROUTING ACCEPT [49:6683]
:OUTPUT ACCEPT [634:46745]
-A POSTROUTING -o ppp0 -j MASQUERADE - маскировка адресов в инет, собственно NAT. Если IP статический, то лучше использовать -j SNAT --to-source <внешн. ip>
COMMIT
# Completed on Thu Apr 22 11:19:32 2010
# Generated by iptables-save v1.4.4 on Thu Apr 22 11:19:32 2010
*filter
:INPUT DROP [173:13144] - три строки, запрещающие по дефолту весь роутинг
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i eth0 -j ACCEPT - полный вход из внутренней подсети
-A INPUT -i ppp0 -p tcp -m tcp --dport xxx -j ACCEPT - разрешение входить по ssh из инета
-A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT - принимать на сам сервер соединения, только установленные изнутри самим сервером
-A INPUT -i lo -j ACCEPT - разрешение работы петли
-A FORWARD -i eth0 -o ppp0 -j ACCEPT - полный проброс всего изнутри в инет
-A FORWARD -i ppp0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT - принятие проброса вовнутрь только тех соединений, что открыты изнутри
-A OUTPUT -o eth0 -j ACCEPT - полный выход в локалку для сервера
-A OUTPUT -o ppp0 -j ACCEPT - полный выход в инет для самого сервера (обновления, например)
-A OUTPUT -o lo -j ACCEPT
COMMIT
# Completed on Thu Apr 22 11:19:32 2010
Это все копируем, удалем комменты, заменяем имена интерфейсов инета и локалки и сохраняем например как /etc/iptables.conf
Затем добавлем в конфигурацию eth0 в файле interfaces строку pre-up iptables-restore < /etc/iptables.conf после указания gateway для eth0 например.
Еще надо включить проброс в системе как таковой. у меня это сделано с помощью добавления строки net.ipv4.ip_forward = 1 в конец файла /etc/sysctl.conf
Пользователь решил продолжить мысль 22 Апреля 2010, 09:27:57: