Portál AbcLinuxu, 26. dubna 2024 08:33


Dotaz: Presmerovanie IP v iptables z jednej na druhu

28.11.2007 15:21 Peter
Presmerovanie IP v iptables z jednej na druhu
Přečteno: 445×
Odpovědět | Admin
Dobrý deň vám prajem.

Mám nasledovnú situáciu:

DSL Router (1.2.3.4) -> Server ETH0 (10.0.0.254) -> Server -> Server ETH1 (192.168.1.254) -> Lokálna sieť

Samozrejme, že na DSL routery je nastavená takzvaná DMZ ktorá len robí to, že akúkoľvek požiadavku na akýkoľvek port na IP adresu 1.2.3.4 presmeruje na adresu 10.0.0.254. Na tomto servery ktorý je za DSL sú nahodené DNS + HTTP + MAIL + ... čiže konkrétne DNS www.domain.sk smeruje na 1.2.3.4. Keď sa pripojím na ten server z vonku (www.domain.sk), tak je všetko úplne v poriadku. Ale problém je keď sa na tú stránku chcem pripojiť priamo zo servera. Čiže -> lognem sa z domu na ten server (ssh 1.2.3.4) a priamo na tom servery zadám "lynx www.domain.sk" tak to už samozrejme nefunguje, lebo www.domain.sk sa odkazuje na 1.2.3.4 čo je IP adresa DSL a on to už samozrejme naspäť nevráti na 10.0.0.254.

Preto by som "nejako" potreboval nastaviť aby sa v rámci - vnútri toho serveru akákoľvek požiadavka na adresu 1.2.3.4 presmerovala na adresu 10.0.0.254.

Ináč - čo sa týka lokálnej siete za serverom tak tam je to kvôly zápisu:
iptables -t nat -I PREROUTING -j DNAT -d 1.2.3.4 --to-destination 10.0.0.254
tiež všetko úplne v poriadku, lebo hoci sa pripájajú na 1.2.3.4 ale iptables ich aj tak prehodí na 10.0.0.254. Proste toto nefunguje výlučne v rámci toho servere samom o sebe.

Vopred veľmi pekne ďakujem za odpovede.

P.S.: nepýtajte sa ma prosím vás na čo to potrebujem - proste to fakt potrebujem, zmenu ip adries v doménovom zázname pomocou view použiť nemôžem a plne si uvedomujem dôsledky - FAQ som už čítal
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

28.11.2007 15:41 Martin Šebek | skóre: 18 | blog: Tady je Indiánovo | Mladá Boleslav
Rozbalit Rozbalit vše Re: Presmerovanie IP v iptables z jednej na druhu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co takhle napsat do /etc/hosts něco jako

10.0.0.254 www.domain.sk www
28.11.2007 17:02 Peter
Rozbalit Rozbalit vše Re: Presmerovanie IP v iptables z jednej na druhu
Boužiaľ - toto nerieši môj problém - toto nefunguje v prípade použitia iba IP adries. :-(
28.11.2007 16:04 Tomas Fiala
Rozbalit Rozbalit vše Re: Presmerovanie IP v iptables z jednej na druhu
Odpovědět | | Sbalit | Link | Blokovat | Admin
zkus toto

iptables -t nat -A PREROUTING -p tcp -d 1.2.3.4 -j DNAT --to 10.0.0.254

iptables -A FORWARD -p tcp -d 1.2.3.4 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

frEon avatar 28.11.2007 16:57 frEon | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Presmerovanie IP v iptables z jednej na druhu
neni tam "-m state --state NEW,ESTABLISHED,RELATED" navic?
Talking about music is like dancing to architecture.
28.11.2007 17:04 Peter
Rozbalit Rozbalit vše Re: Presmerovanie IP v iptables z jednej na druhu
ee - nefunguje - iný nápad? :-(
28.11.2007 20:57 Tomas Fiala
Rozbalit Rozbalit vše Re: Presmerovanie IP v iptables z jednej na druhu
Potrebujes to z localhost nebo z vnitrni site?

A z vnitrni site kdyz das dotaz na ip 1.2.3.4 tak se dotanes kam?
28.11.2007 20:59 Tomas Fiala
Rozbalit Rozbalit vše Re: Presmerovanie IP v iptables z jednej na druhu
aha sory ted to ctu znovu a mas to tam napsany....
29.11.2007 07:38 Tomas Fiala
Rozbalit Rozbalit vše Re: Presmerovanie IP v iptables z jednej na druhu
Tak ted se priznam ze jsem mel podobnej problem - nefunguji mi presmerovani z localhost. Problem mam hlavne se squidem. Vyresil jsem to jen provizorne pomoci privatni DNS ve ktere jsem zadal vnitrni adresy. Takze podobne jako uz tady bylo napsano. Pokud nekdo vi jak to nastavit at prosim napise.
29.11.2007 09:27 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Presmerovanie IP v iptables z jednej na druhu
Zkuste použít jako cíl 127.0.0.1. nevím, zda je to ještě aktuální, ale v Linux 2.4 NAT HOWTO se píše:
Altering the Destination of Locally-Generated Connections

The NAT code allows you to insert DNAT rules in the OUTPUT chain, but this is not fully supported in 2.4 (it can be, but it requires a new configuration option, some testing, and a fair bit of coding, so unless someone contracts Rusty to write it, I wouldn't expect it soon).

The current limitation is that you can only change the destination to the local machine (e.g. `j DNAT --to 127.0.0.1'), not to any other machine, otherwise the replies won't be translated correctly.
29.11.2007 07:53 fixinko | skóre: 15 | Bratislava
Rozbalit Rozbalit vše Re: Presmerovanie IP v iptables z jednej na druhu
este by tam chcelo dat
iptables -t nat -A POSTROUTING -s 1.2.3.4 -j SNAT --to-source 10.0.0.254
nech paket vie kam ma ist spat...
29.11.2007 09:07 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Presmerovanie IP v iptables z jednej na druhu
Nechtělo, tímhle v tom uděláte jenom zmatek. SNAT/DNAT si sám eviduje a zjišťuje, který paket patří ke kterému spojení a překládá adresy v obou směrech spojení.
29.11.2007 09:17 fixinko | skóre: 15 | Bratislava
Rozbalit Rozbalit vše Re: Presmerovanie IP v iptables z jednej na druhu
viem ze ked som kedysi davnejsie riesil taketo veci, bolo potrebne okrem DNAT dat aj SNAT...
29.11.2007 09:29 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Presmerovanie IP v iptables z jednej na druhu
To je tedy dost zvláštní. Jedině že by to byl případ, kdy DNATujete na routeru zpět na počítač ve stejné síti. Pak potřebujete, aby cílový počítač neodpovídal přímo, ale opět přes router. To ale není tento případ.
29.11.2007 09:13 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Presmerovanie IP v iptables z jednej na druhu
Ten druhý příkaz je úplně zbytečný, FORWARD se týká spojení, která routerem jenom prochází. Navíc PREROUTINGem projde paket ještě před routování (od toho má název), takže z pohledu routování a firewallu má ten paket cílovou adresu už 10.0.0.254.
2.12.2007 08:37 Peter
Rozbalit Rozbalit vše Re: Presmerovanie IP v iptables z jednej na druhu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Páni - nič z toho nefunguje - nenašlo by sa ešte prosim vás nejaké iné riešenie?
2.12.2007 10:02 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Presmerovanie IP v iptables z jednej na druhu
Našlo, pokud napíšete, co nefunguje. Jednak můžete zkusit pustit tcpdump na síťových rozhraních toho serveru i routeru, zda se ty pakety omylem nezatoulají někam jinam. Jednak se podle stavu počítadel v iptables podívejte, kterými pravidly ty pakety vlastně procházejí.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.