Portál AbcLinuxu, 16. července 2025 09:36
iptables -t nat -I POSTROUTING -j SNAT -s 192.168.2.10 --to-source 80.80.80.85 iptables -t nat -I PREROUTING -j DNAT -d 80.80.80.85 --to-destination 192.168.2.10Pokud jsem pripojil klienta hned za GW tak vse OK a z internetu je plne dostupny, pokud ale je klient za routerem, tak navenek IP dostane ale z internetu se na klienta nedostane. Zkousel jsem ve fw na routeru povolit forward ale nepomohlo (vypnuti fw take nepomohlo).
Nastaveni: GW eth0=verejna ip, eth0:1="Verejna Klienta" eth1=192.168.1.1/24. Router - eth0=192.168.1.2;eth1=192.168.2.1/24Dekuji za pomoc.
OUT_IF=eth0
MY_NET=192.168.0.0/22
iptables -t nat -A POSTROUTING -s $MY_NET -o $OUT_IF -j MASQUERADE
na stroji s veřejnou IP nastavit statické routování, tj. do /etc/sysconfig/static-routes vložit:
any net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.2
Toto platí pro klony Red-Hat, v jiné distribuci se nechte inspirovat.
tcpdump -ni eth0 'host 192.168.2.10'
a tcpdump -ni eth1 'host 192.168.2.10'
a zkuste se připojit z internetu. Uvidíte, kam až pakety dorazí – pokud nedorazí požadavek ani na eth0
, je chyba v NATu nebo firewallu na bráně, pokud projde dotaz až na eth1
ale nepřijde odpověď, je problém na koncovém počítači, pokud se paket v libovolném směru objeví jen na vstupní rozhraní a už na na výstupním, je problém ve firewallu nebo routování routeru.
#NAT1:1 #USER LOCAL_1=localni_ip PUBLIC_1=verejna_ip #POSTROUTING iptables -t nat -I POSTROUTING -j SNAT -s $LOCAL_1 --to-source $PUBLIC_1 #PREROUTING iptables -t nat -I PREROUTING -j DNAT -d $PUBLIC_1 --to-destination $LOCAL_1 #FORWARD iptables -A FORWARD -i eth0 -d $LOCAL_1 -j ACCEPTa na routeru, ktery stoji v ceste tak povolit FORWARD, takze
#FORWARD iptables -A FORWARD -i eth0 -d $LOCAL_1 -j ACCEPTa funguje to :)
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.