Portál AbcLinuxu, 7. května 2025 01:22
Řešení dotazu:
A) na to, co jsi zapsal za IP adresu, se Ti asi nikdo nebude snažit odpovědět ... B) najdi si, jak chodí pakety kernelem a dojde Ti, co máš udělat.
#///////////////////////////////////////////////////////////////////////////////// # ODCHOZI PAKETY / #///////////////////////////////////////////////////////////////////////////////// # Vše co má jít z 192.168.1.2 pošli na 158.235.555.42 iptables -t nat -A PREROUTING -i eth1 -s 192.168.1.2 -d 192.168.1.60 -j DNAT --to 158.235.555.42 # Vše co má jít na 158.235.555.42, tak ať má source IP veřejnou adresu routeru iptables -t nat -A POSTROUTING -o eth0 -d 158.235.555.42 -s 192.168.1.2 -j SNAT --to "VEŘEJNÁ IP ROUTERU" #///////////////////////////////////////////////////////////////////////////////// # PRICHOZI PAKETY / #///////////////////////////////////////////////////////////////////////////////// # Vše co má jít na lokální PC z veřejné IP adresy, pošli na IP adresu lokálního PC iptables -t nat -A PREROUTING -i eth0 -d "VEŘEJNÁ IP ROUTERU" -s 158.222.235.42 -j DNAT --to 192.168.1.2 # Vše co má jít na lokální PC, ať má zdrojovou adresu 192.168.1.60 iptables -t nat -A POSTROUTING -o eth1 -d 192.168.1.2 -s 158.222.235.42 -j SNAT --to 192.168.1.60
root@xxxxx# tcpdump host 192.168.1.60 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on br0, link-type EN10MB (Ethernet), capture size 96 bytes 00:22:25.602532 IP 192.168.1.60.52600 > 192.168.1.22.22: S 187316279:187316279(0) win 5840 1452,sackOK,timestamp 85961749 0,nop,wscale 6> 00:22:25.605406 arp who-has 192.168.1.60 tell 192.168.1.22 00:22:26.605398 arp who-has 192.168.1.60 tell 192.168.1.22 00:22:27.605324 arp who-has 192.168.1.60 tell 192.168.1.22a donekonecna sa opakuju tieto 4 riadky, dokonca pri nahadzovani pravidiel som posunul pravidlo ako prioritne cez -I prepinac takze by ho malo matchnut ako prve. Niekde este musim mat chybu ale nic ma nenapada....
192.168.1.60
, cílový počítač pak samozřejmě chce odpovědět této IP adrese (protože požadavek dostal jakoby od ní), takže ji hledá v síti. A pravděpodobně tam žádnou takovou IP adresu nenajde (a i kdyby ji našel, odpoví tomu počítači, jenže ten žádnou komunikaci nezahájil, takže ty pakety zahodí, a výsledek bude stejný).
Bylo by lepší, kdybyste napsal, čeho opravdu chcete docílit – ten váš původní požadavek totiž nedává žádný smysl.
Tunel je dělán mezi dvěma body a co přijde z rozhraní mimo tunel je zpravidla zahozeno = jako by to nepřišlo. Proto potřebujete routovat provoz do tunelu - nebo třeba natovat za jeden ověřený konec/stroj v LAN.
smtp:~# tcpdump -i eth1 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes 13:33:36.638877 IP 192.168.1.4 > 192.168.1.60: ICMP echo request, id 65289, seq 1, length 64 13:33:36.639654 IP 192.168.1.60 > 192.168.1.4: ICMP echo reply, id 65289, seq 1, length 64 13:33:37.641796 IP 192.168.1.4 > 192.168.1.60: ICMP echo request, id 65289, seq 2, length 64 13:33:37.643817 IP 192.168.1.60 > 192.168.1.4: ICMP echo reply, id 65289, seq 2, length 64 13:33:38.645862 IP 192.168.1.4 > 192.168.1.60: ICMP echo request, id 65289, seq 3, length 64 13:33:38.646107 IP 192.168.1.60 > 192.168.1.4: ICMP echo reply, id 65289, seq 3, length 64 smtp:~# tcpdump -i eth0 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 13:35:48.226084 IP 10.10.10.120 > 10.10.10.253: ICMP echo request, id 65289, seq 132, length 64 13:35:48.226502 IP 10.10.10.253 > 10.10.10.120: ICMP echo reply, id 65289, seq 132, length 64 13:35:49.230896 IP 10.10.10.120 > 10.10.10.253: ICMP echo request, id 65289, seq 133, length 64 13:35:49.232620 IP 10.10.10.253 > 10.10.10.120: ICMP echo reply, id 65289, seq 133, length 64
iptables -t nat -A PREROUTING -p tcp -s 158.235.555.42 --dport 5555 -j DNAT --to 192.168.1.2 iptables -t nat -A POSTROUTING -p tcp -s 158.235.555.42 -d 92.168.1.2 --dport 5555 -j SNAT --to $IP_ROUTERU
FORWARD
u povolit komunikaci z 158.235.555.42 na 192.168.1.2 na portu tcp/5555 a zpět.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.