Fórum Root.cz

Hlavní témata => Sítě => Téma založeno: MrM kdy 11. 09. 2012, 10:52:23

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


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.
Název: Re:Původní klientská IP - nat
Přispěvatel: MrM kdy 11. 09. 2012, 10:54:26
místo $SERVER_TWO patří $MATUNA...
Název: Re:Původní klientská IP - nat
Přispěvatel: hm 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?
Název: Re:Původní klientská IP - nat
Přispěvatel: MrM 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...
Název: Re:Původní klientská IP - nat
Přispěvatel: MrM kdy 11. 09. 2012, 13:45:14
Citace od: MrM 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...

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
Název: Re:Původní klientská IP za natem
Přispěvatel: PCnity 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.
Název: Re:Původní klientská IP - nat
Přispěvatel: Sten kdy 11. 09. 2012, 17:07:20
Citace od: MrM 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...

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.
Název: Re:Původní klientská IP za natem
Přispěvatel: MrM 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...
Název: Re:Původní klientská IP za natem
Přispěvatel: PCnity kdy 12. 09. 2012, 11:51:44
Citace od: MrM 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...

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.