Portál AbcLinuxu, 14. května 2025 00:38
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 81 -j DNAT --to-destination 192.168.1.2:80Jen pro pořádek, eth0 směřuje do LAN a eth1 do WAN, NAT funguje bez problémů. Ale PREROUTING ani omylem. Kde může být ještě chyba? Už se na to snažím přijít nějakou dobu a nic mě už nenapadá. Mj, tenhle příklad mi na tom druhém stroji funguje. Na obou je stejný RedHat 9.
iptables -A PREROUTING -i eth1 -p tcp -m tcp --dport 81 -j DNAT --to-destination 192.168.1.2:80
filter
bude hledat chain PREROUTING
marně…
Zrada je v -t natNo, takže jsem to zkusil ... a výsledek: Když odeberu -t nat, tak mu chybí místo, kam podmínku uložit. Nicméně, když se podívám do výpisu podmínek, je tam DNAT aktivní a stejně se nedá spojit s tím PC v síti ... když se ale připojím přes SSH na GATE a dám telnet 192.168.1.2 80, tak se mi Apache ozve, čili ve vnitřní síti jede. Jen z venkovní adresy nic ... někde musí být nějaká bota.
iptables -A PREROUTING -i eth1 -p tcp -m tcp --dport 81 -j DNAT --to-destination 192.168.1.2:80
iptables -A INPUT -p tcp --dport 81 -j ACCEPT iptables -A FORWARD -p tcp -d 192.168.1.2 --dport 81 -o eth0 -j ACCEPT iptables -t nat -A PREROUTING -i eth1 -p tcp -dport 81 -j DNAT --to-destination 192.168.1.2:80
INPUT
je zbytečné, protože tímto chainem ten paket vůbec nepůjde.
-m tcp
' je zbytečné, protože '-p tcp
' automaticky způsobí načtení odpovídajícího modulu.
Tak jsem zkusil i tohle ... a nefunguje. Napadlo mě, s IPTABLES ještě zápasím, jak si někam uložit LOG pro pravidlo PREROUTING? Taky jsem to zkoušel nastavit, ale nějak to asi nejde. Určitě to bude nějaká blbinka, jen nemůžu zjistit jaká.iptables -A FORWARD -p tcp -d 192.168.1.2 --dport 81 -o eth0 -j ACCEPT iptables -t nat -A PREROUTING -i eth1 -p tcp -dport 81 -j DNAT --to-destination 192.168.1.2:80
iptables -t nat -A PREROUTING -i eth1 -p tcp -dport 81 -j LOG --log-prefix="Log port 81: " iptables -t nat -A PREROUTING -i eth1 -p tcp -dport 81 -j DNAT --to-destination 192.168.1.2:80PREROUTING je dříve než FORWARD. Povolení pro FORWARD na portu 80.
iptables -A FORWARD -d 192.168.1.2 -p tcp --dport 80 -o eth0 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 81 -j DNAT --to 192.168.1.2:80
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.