Читал мануалы и форумы облазил но увы, решил только половину задачи.
Стандартная ситуация: стоит шлюз на Debian и раздает в локалке инет. И тут мне понадобилось открыть свой локальный http для всей локалки и всего мира.
Удалось реализовать схему: из вне на машину в локалке.
Внешний мир -> 90.ХХХ.89.ХХХ:15000 -> 192.168.1.11:80
А мне нужно еще из локалки на машину в локалке:
192.168.1.22 -> 192.168.1.1:15000 -> 192.168.1.11:80
# Generated by iptables-save v1.2.11 on Wed Jan 19 22:16:53 2011
*nat
:PREROUTING ACCEPT [617:41665]
:POSTROUTING ACCEPT [202:12152]
-A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE
-A PREROUTING -i ppp0 -p tcp --dport 15000 -j DNAT --to-destination 192.168.1.11:80
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Wed Jan 19 22:16:53 2011
# Generated by iptables-save v1.2.11 on Wed Jan 19 22:16:53 2011
*mangle
:PREROUTING ACCEPT [18311947:11615197157]
:INPUT ACCEPT [14728272:10657466878]
:FORWARD ACCEPT [3583675:957730279]
:OUTPUT ACCEPT [15426176:11611524884]
:POSTROUTING ACCEPT [19009852:12569255183]
COMMIT
# Completed on Wed Jan 19 22:16:53 2011
# Generated by iptables-save v1.2.11 on Wed Jan 19 22:16:53 2011
*filter
:INPUT ACCEPT [5238:2657284]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [5655:2834513]
## политика по умолчанию
-P INPUT ACCEPT
-P FORWARD DROP
## Установка коректировки TCPMSS
-I FORWARD -i eth1 -o ppp0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
## Разрешить для установленных соединений
-A FORWARD -d 192.168.1.0/255.255.255.0 -m state --state RELATED,ESTABLISHED -j ACCEPT
## Разрешить прием первого пакета из ethernet
-A FORWARD -i ppp0 -d 192.168.1.0/255.255.255.0 -m state --state NEW -o eth1 -j ACCEPT
## Запуск проверки
-A FORWARD -i eth1 -o ppp0 -j ACCEPT
COMMIT
# Completed on Wed Jan 19 22:16:53 2011