Portál AbcLinuxu, 10. května 2025 01:10

Dotaz: Iptables - forward portu

Johny z Podoli avatar 24.12.2005 12:27 Johny z Podoli | skóre: 26 | blog: rocfdebian
Iptables - forward portu
Přečteno: 594×
Odpovědět | Admin
mám dva routery (routery, nikoliv natery)

na routeru jménem C4 běžela donedávna služba, ovšem jeho HW možnosti nedovolují provoz služby nadále.

Tuto službu jsem spustil na sousedním routeru "laila". Teď potřebuji všechen příchozí provoz na c4 (konkr. port) přesměrovat na ten samej port routeru laila.
iptables -A FORWARD -o eth1 -i eth1 -p tcp -d 10.44.255.13 --dport 119 -j ACCEPT
ps: neni problem v tom, že vstupni i vystupni interface je eth1? nebo je problem v FORWARD?

což ale nefunguje :)
Můj web o táborech: Letní dětské tábory, Hudební tábor , Můj nový blog na Nul.cz
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

24.12.2005 13:11 Martin Šebek | skóre: 18 | blog: Tady je Indiánovo | Mladá Boleslav
Rozbalit Rozbalit vše Re: Iptables - forward portu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Portforwarding je potřeba nastavit v natovací tabulce a to nějak takto:

iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx -i eth0 -p tcp -m tcp --dport 119 -j DNAT --to-destination yyy.yyy.yyy.yyy:119

Tohle způsobí, že provoz, který přijde na rozhraní eth0 na port 119 a má cílovou adresu xxx.xxx.xxx.xxx se přesměruje na yyy.yyy.yyy.yyy na port 119. Také záleží na tom, jak máte nastavenou politiku v chainu FORWARD, jestliže DROP, je potřeba ještě něco jako:

iptables -A FORWARD -p tcp -m tcp --dport 119 -j ACCEPT
24.12.2005 13:13 Radek
Rozbalit Rozbalit vše Re: Iptables - forward portu
Odpovědět | | Sbalit | Link | Blokovat | Admin

Presmerovani portu na jiny stroj a jeho port se provadi pomoci DNAT v retezci PREROUTING, bez natu to asi nepujde, vy se pouze snazite povolit ten traffic, ale on tam nikde neni (man iptables - TARGET EXTENSIONS)

mozna nejak takto: iptables -t nat -A PREROUTING -p tcp -d $C4_IP --dport 119 -j DNAT --to $LAILA_IP:119

Pak bude asi jeste potreba povolit to co ma projit - to je to, co dela vase pravidlo, temi rozhranimi si nejsem jist, nikdy jsem to podobne nedelal
$IPTABLES -A FORWARD -i eth1 -o eth1 -p tcp -d $LAILA_IP --dport 119 -j ACCEPT

Johny z Podoli avatar 24.12.2005 14:04 Johny z Podoli | skóre: 26 | blog: rocfdebian
Rozbalit Rozbalit vše Re: Iptables - forward portu
Odpovědět | | Sbalit | Link | Blokovat | Admin
stále se nechytám :)

pokusím se trochu upřesnit situaci

1) na C4 není v iptables nic, není to nat, je to router který routuje dle routovací tabulky

2) není problém, že cílová adresa je v jiném subnetu než tom, co je na sitovce?

celkove jsem to zkusil nakresilt: http://johny.dkm.cz/sit.png

routery jsou jasne, spoj mezi routery je modře

většina požadavků "na moji službu" přichází skrz nejake sitovky na laile, (zelene) ovšem nevylučuji, že požadavek přijde nějakou jinou sitockou na C4.

oranžově jsem nakreslil, co se ma stat s paketem co přijde na c4 port 119 :)

tedy: jakýkoliv požadavek odkudkoliv na 10.55.74.1:PORT se má poslat na 10.44.0.4:PORT

tak co, trochu komplikovane?
Můj web o táborech: Letní dětské tábory, Hudební tábor , Můj nový blog na Nul.cz
24.12.2005 22:11 Radek
Rozbalit Rozbalit vše Re: Iptables - forward portu

Obavam se, ze jen pomoci routovani se podobneho chovani dosahnout neda. Jestlize ma paket cilovou adresu 10.55.74.1:PORT tak router neni schopen ho poslat "nekam" jinam, to uz opravdu nema s routovanim nic spolecneho. Aby paket dosel tam kam potrebujete musite jeho adresu prepsat (nat). Hodne stesti.

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.