Portál AbcLinuxu, 12. května 2025 05:35
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 10.0.0.1 iptables -A FORWARD -s 192.168.0.0/16 -i eth1 -o eth0 -j ACCEPTnadrazeny router mam take ve sprave ale nastaveni route neposilam - proste je to proroutovane a funguje to jak potrebuji. Pouze mi neni jasna presna funkcnost SNATu v iptables. pokud dam ping napr. z pocitace 192.168.1.1 na 172.16.0.1 tak neni NATovano. (ani odpovidajici paket) pokud dam ping napr. z pocitace 172.16.0.1 na 192.168.1.1 tak je NATovano. Ale preci vsechny pakety co jdou ven pres eth1 maji podle prvni radky iptables prekladat zdrojovou adresu - tedy by to spavne nemelo fungovat. Nebo tabulka NAT v iptables funguje tak ze pokud neni pro dany paket zaznam v tabulce NAT v kernelu tak jej pusti bez NATu dal ? Jako ja jsem spokojeny jak to funguje - presne jak potrebuju - jenom mi neni jasne jakto ze nejsou SNATovany vsechny pakety ktere jdou na rozhrani eth1 (kdyz rozkaz v iptables znel jasne
Řešení dotazu:
internet | | ------------ eth1: 10.0.0.254 eth1: 10.0.0.1 (SNAT) ----------- - router 1 ------------------------------------------------ router 2 - ------------ ----------- | | PC 1 PC 2 192.168.1.1 172.16.0.1router 1 ma k beznemu routovani navic:
ip route add 172.16.0.0/24 via 10.0.0.1 dev eth1router 2:
ip route add default via 10.0.0.254 iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 10.0.0.1 iptables -A FORWARD -s 192.168.0.0/16 -i eth1 -o eth0 -j ACCEPT
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.