Portál AbcLinuxu, 10. května 2025 08:16
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.
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
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.2 -p tcp -j SNAT --to-source PUB_IPTedy, za predpokladu, ze stroj 192.168.1.2 ma jako default gateway 192.168.1.3
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.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.