Итак, представьте себе я неосилятор iptables.
Задача ставится простая: есть небольшая домашняя сеть, у которой в интернеты смотрит сервер; у него белый ип и все дела.
Задача: пробросить порт(например, 10000) для ссх с 192.168.1.3 на внешний интерфейс этого самого сервера. Eth2 смотрит на ружу белым ип <ip*>, eth0 - внутрь.
Попытки: делал так
*nat
:PREROUTING ACCEPT [36685:3205123]
:POSTROUTING ACCEPT [4160:505007]
:OUTPUT ACCEPT [6000:615407]
-A PREROUTING -i eth2 -p tcp -m tcp --dport 10000 -j DNAT --to-destination 192.168.1.3:22
-A POSTROUTING -o eth2 -p tcp -j MASQUERADE
COMMIT
# Completed on Wed Mar 16 18:47:17 2011
# Generated by iptables-save v1.4.3.2 on Wed Mar 16 18:47:17 2011
*mangle
:PREROUTING ACCEPT [138897:11091807]
:INPUT ACCEPT [138267:11001547]
:FORWARD ACCEPT [20:1200]
:OUTPUT ACCEPT [129081:130904837]
:POSTROUTING ACCEPT [130029:131040445]
COMMIT
# Completed on Wed Mar 16 18:47:17 2011
# Generated by iptables-save v1.4.3.2 on Wed Mar 16 18:47:17 2011
*filter
:INPUT ACCEPT [138267:11001547]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [129081:130904837]
-A FORWARD -d 192.168.1.3/32 -i eth2 -o eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A FORWARD -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
и так:
*nat
:PREROUTING ACCEPT [152098:13242528]
:POSTROUTING ACCEPT [5221:626103]
:OUTPUT ACCEPT [18817:1787955]
-A PREROUTING -d <ip*>/32 -i eth2 -p tcp -m tcp --dport 10000 -j DNAT --to-destination 192.168.1.3:22
-A POSTROUTING -o eth2 -p icmp -j SNAT --to-source <ip*>
-A POSTROUTING -o eth2 -p udp -j SNAT --to-source <ip*>
-A POSTROUTING -o eth2 -p tcp -j SNAT --to-source <ip*>
COMMIT
# Completed on Wed Mar 16 19:22:30 2011
# Generated by iptables-save v1.4.3.2 on Wed Mar 16 19:22:30 2011
*mangle
:PREROUTING ACCEPT [865996:60775371]
:INPUT ACCEPT [863496:60415359]
:FORWARD ACCEPT [55:3300]
:OUTPUT ACCEPT [1270246:1674306307]
:POSTROUTING ACCEPT [1274026:1674848992]
COMMIT
# Completed on Wed Mar 16 19:22:30 2011
# Generated by iptables-save v1.4.3.2 on Wed Mar 16 19:22:30 2011
*filter
:INPUT ACCEPT [863496:60415359]
:FORWARD ACCEPT [5:300]
:OUTPUT ACCEPT [1270246:1674306307]
-A FORWARD -d 192.168.1.3/32 -i eth2 -o eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A FORWARD -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
но эффекта не было. Хотя, было заметно, что некоторые пакеты прорываются, ответа от ссх сервера не было. ЧЯДНТ?