Původní klientská IP za natem

MrM

Původní klientská IP za natem
« kdy: 11. 09. 2012, 10:52:23 »
Zdravím, na jednom serveru používám iptables konkrétně

Kód: [Vybrat]
iptables -t nat -A PREROUTING -d $EXTIP -p tcp --dport $port -j DNAT --to $SERVER_TWO:$port
iptbales -t nat -A POSTROUTING -d $MATUNA -p tcp --dport $port -j SNAT --to $EXTIP
iptables -A FORWARD -i $WAN -p tcp --dport $port -m state --state NEW -j ACCEPT

přesměrovaní portů funguje v pořádku, ale.. na mašině $SERVER_TWO vidím externí ip původního serveru, jak donutím iptables přeposílat původní clientovu ip?

díky M.
« Poslední změna: 11. 09. 2012, 15:34:45 od Petr Krčmář »


MrM

Re:Původní klientská IP - nat
« Odpověď #1 kdy: 11. 09. 2012, 10:54:26 »
místo $SERVER_TWO patří $MATUNA...

hm

Re:Původní klientská IP - nat
« Odpověď #2 kdy: 11. 09. 2012, 11:48:04 »
Nevím, zda jsem to pochopil správně, ale druhý řádek právě dělá tu změnu z původní zdrojové IP na EXTIP (když je cíl MATUNA), ne? Nestačilo by ho vynechat?

MrM

Re:Původní klientská IP - nat
« Odpověď #3 kdy: 11. 09. 2012, 13:40:53 »
Jestli to chápu dobře - snad mě někdo případně opraví - tak PREROUTING směruje pakety od klienta dále... a POSTROUTING přesně naopak... tj. že jestli to smažu, tak už se ke mě ty pakety zpět nedostanou...

MrM

Re:Původní klientská IP - nat
« Odpověď #4 kdy: 11. 09. 2012, 13:45:14 »
Jestli to chápu dobře - snad mě někdo případně opraví - tak PREROUTING směruje pakety od klienta dále... a POSTROUTING přesně naopak... tj. že jestli to smažu, tak už se ke mě ty pakety zpět nedostanou...

edit: aha, tak zatím to vypadá, že jste měl pravdu... ještě to tu nechám otevřené a pořádně to otestuji


PCnity

  • *****
  • 701
    • Zobrazit profil
    • E-mail
Re:Původní klientská IP za natem
« Odpověď #5 kdy: 11. 09. 2012, 15:41:43 »
V prvom rade sa nachadzas v tabulke nat... Ak chces aby napriklad server v internej sieti videl request nie od firewallu, ale od povodnej IPcky, pouzi FORWARD z tabulky filter.

Sten

Re:Původní klientská IP - nat
« Odpověď #6 kdy: 11. 09. 2012, 17:07:20 »
Jestli to chápu dobře - snad mě někdo případně opraví - tak PREROUTING směruje pakety od klienta dále... a POSTROUTING přesně naopak... tj. že jestli to smažu, tak už se ke mě ty pakety zpět nedostanou...

Ne, PREROUTING se aplikuje na všechny pakety, které přijdou, a POSTROUTING na všechny pakety, které ocházejí. Routeru je přitom úplně putna, kdo je klient a kdo internet.

MrM

Re:Původní klientská IP za natem
« Odpověď #7 kdy: 12. 09. 2012, 10:26:18 »
To co napsal hm s tím POSTROUTINGem funguje.. ale nějak jsem do toho neproniknul, jak to tedy funguje? Přece, pokud přijde paket (což se tedy týká PREROUTINGu) tak bych logicky hledal problém tam a ne v odchozí komunikaci...

PCnity

  • *****
  • 701
    • Zobrazit profil
    • E-mail
Re:Původní klientská IP za natem
« Odpověď #8 kdy: 12. 09. 2012, 11:51:44 »
To co napsal hm s tím POSTROUTINGem funguje.. ale nějak jsem do toho neproniknul, jak to tedy funguje? Přece, pokud přijde paket (což se tedy týká PREROUTINGu) tak bych logicky hledal problém tam a ne v odchozí komunikaci...

Stale sa bavime o NATe.
DNAT posle packet niekam. Nemeni teda nikdy Source IP, ale meni Destination IP (DestinationNAT).
SNAT nastavi Source IP packetu ktory niekam ide, nemeni ale destnation IP (SourceNAT).

Cize ak chces packet len preposlat, potrebujes PREROUTING z tabulky nat a FORWARD z tabulky filter.