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

Dotaz: iptables forwarding portu

pele avatar 2.4.2009 00:34 pele | skóre: 28 | blog: Bleabr | UH
iptables forwarding portu
Přečteno: 1602×
Odpovědět | Admin

Zdravim, mam mensi problem s forwardovanim portu pomoci iptables. Uz sem se do tohoto problemu tak zamotak ze se nedokazi sam vyprostit.

Situace je nasledunici: server ma eth0 na ktere je verejna IP (rekneme PUB_IP), na eth1 je nstavena staticky na 192.168.1.3. Na stroji 192.168.1.2:446 posloucha https. Chci port 446 z  192.168.1.2 presmerovat na port 446 PUB_IP.

Pravidal jsou nasledujici:

iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 446 -j DNAT --to-destination 192.168.1.2
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.2 -p tcp -j SNAT --to-source PUB_IP
iptables -A FORWARD -m limit --limit 12/h -j LOG --log-prefix 'FORWARD drop: '

Posloucham-li tcpdumpem na eth0 a eth1 spojeni probiha.
eth0:

00:13:12.718209 IP MY_IP.59334 > PUB_IP.446: S 2050010251:2050010251(0) win 5840 ...

eth1:

00:13:12.718248 IP MY_IP.59334 > 192.168.1.2.446: S 2050010251:2050010251(0) win 5840 ...

Pricemz tohle se mi moc nezda, nemelo by byt navazano spojeni z 192.168.1.3 a ne MY_IP?

Vypada to ze server na 192.168.1.2 neopovida, resp nevi kam ma poslat paket s MY_IP. V logu nevidim zadne dropovani.

Sem si vedom toho ze se jedna o ucebnicovou situaci ale jak rikam, jsem zmotan uplne nehorazne. Dekuji za odpovedi.

Pravda má jednu velkou výhodu: člověk si nemusí pamatovat, co řekl.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

2.4.2009 01:00 Jirka Mák
Rozbalit Rozbalit vše Re: iptables forwarding portu
Odpovědět | | Sbalit | Link | Blokovat | Admin

Já bych řekl že pakety odcházejí na vnější rozhraní eth0:

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.2 -p tcp -j SNAT --to-source PUB_IP
2.4.2009 07:55 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
Rozbalit Rozbalit vše Re: iptables forwarding portu
+1

Dejv
Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
2.4.2009 01:28 hysterix
Rozbalit Rozbalit vše Re: iptables forwarding portu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud pozadavek opravdu zni: "Chci port 446 z 192.168.1.2 presmerovat na port 446 PUB_IP" (tzn. pro vnitrni sit se bude port 446 stroje 192.168.1.2 jevit, ze na nem bezi to same, co na PUB_IP), tak se veskere nastavovani musi odehrat na stroji s adresou 192.168.1.2 a ne na routeru.

Pokud ale pozadavek zni: "Chci port 446 z PUB_IP presmerovat na 192.168.1.2:446 (tzn. provoz zvnejsku na PUB_IP:446 je presmerovavan na 192.168.1.2:446), tak staci vypustit tohle:
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.2 -p tcp -j SNAT --to-source PUB_IP
Tedy, za predpokladu, ze stroj 192.168.1.2 ma jako default gateway 192.168.1.3
pele avatar 3.4.2009 10:43 pele | skóre: 28 | blog: Bleabr | UH
Rozbalit Rozbalit vše Re: iptables forwarding portu

 

Tedy, za predpokladu, ze stroj 192.168.1.2 ma jako default gateway 192.168.1.3

 

Ano to je presne to na co jsem zapomnel, pak se nemuzu divit ze stroj za routren neodpovida kdyz nema validni default routu, diky.

Pravda má jednu velkou výhodu: člověk si nemusí pamatovat, co řekl.

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.