forward portu

Michal Kubecek mike na mk-sys.cz
Středa Červen 18 21:10:49 CEST 2003


On Wed, Jun 18, 2003 at 08:08:06PM +0200, Jaroslav Linhart wrote:
> mohu se zeptat včem dělám chybu chci abych se dostal na vnitří PC na
> port 22 z internetu přes port 2244, protože používam již port 22
> na firewallu. Pokud forwarduji stejný port tak mi to jde ale pokud
> chci port 2244 na vnější IP přesměrovat na vnitří IP a na port 22
> tak mi to nejde.
> 
> eth0 - siťovka i internetu
> eth1 - síťovka dovnitř
> Lotus je vnitří adresa
> INET vnější adresa
> 
> 
> $IPTABLES -A INPUT -p TCP -i eth0 --dport 2244 -j ACCEPT

Zbytečné, sem se to vůbec nemá dostat.

> $IPTABLES -A FORWARD -p TCP -i eth0 -o eth1 -d $LOTUS --dport 2244 -j ACCEPT

Jestli jsem dobře pochopil vaši situaci, má tu být

  iptables -A FORWARD -p TCP -i eth0 -o eth1 -d $LOTUS --dport 22 -j ACCEPT

> $IPTABLES -t nat -A PREROUTING -p TCP -i eth0 -d $INET --dport 2244 -j DNAT --to-destination $LOTUS:22

OK

Princip je ten, že natovanému paketu je nejprve přepsána v řetězci
PREROUTING cílová adresa a port. Pak je teprve provedeno routing
decision, takže místo řetězce INPUT je testován vůči FORWARD. Při
testování v řetězci FORWARD je už ale cílová adresa $LOTUS a cílový
port 22.

                                                     Michal Kubeček

P.S. Zalamujte řádky.


Další informace o konferenci Linux