Portál AbcLinuxu, 10. května 2025 09:41
while [ 1 ]; do nc -q 1 -l -p 12070 -c "nc -q 1 10.203.0.10 22"; done
Tím samozřejmě stratím informaci o zdrojove IP, ale to mi zase tak nevadí. Problém je spíš to, že mužu mít otevřené jen jedno spojení a ani z hlediska výkonu/latence to nebude nejlepší.
Předpokládám že to půjde vyřešit na úrovni IPTABLES, ale nevím jak. Dostal jsem se k tomu že vím jak ze serveru přeposílat spojení z jednoho portu na klienta (DNAT), ale nevím jak zajistit, aby se data vracela správnou cestou přes OpenVPN a zároven se musi někde opět změnit zdrojová adresa(SNAT).
Zaroveň bych chtěl aby přes OpenVPN šla jen spojeni přes jeden konkretni port, odchozí spojeni by měla jít rovnou. Ideální by bylo kdyby se to dalo vyřešit pouze na straně serveru, vpodstatě by mi stačilo dosáhnout stejného výsledku jako teď pomocí netcat.
Mužete mě někdo nakopnout jak na to?
Řešení dotazu:
iptables -t nat -A PREROUTING -i WAN -p tcp -d WANIP --dport 12070 -j DNAT --to-destination CLIENTIP:22a nez vleze do tunelu jeste prepsat zdroj:
iptables -t nat -A POSTROUTING -o VPN -d CLIENTIP --dport 22 -j SNAT --to- source VPNIPtak, ze se pro klinta bude zdat, ze komunikuje s branou. Netusim jestli je vubec mozne takto na sebe napojit dvakrat NAT.
Mám počítač(server) s veřejnou IP a klienta s privátní IP…
Chyba. Řešením je IPv6.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.