Portál AbcLinuxu, 7. května 2025 12:58
Ahoj, mám server2 s webovou službou v LAN2, jejíž router nemá veřejnou IP adresu.
Pak mám jiný server1 v LAN1, jejíž router veřejnou IP adresu má.
Aby se klienti z internetu dostali na server2, tak jsem vytvořil WireGuard tunel mezi server1 a server2. Ping mezi server1 a server2 funguje, obousměrně.
Viz náčrtek v příloze.
Můj dotaz v této fázi nesměřuje na řešení detailů, spíše na koncept:
P.S. server1 je poněkud komplikovanější (headless Archlinux, docker kontejnery s různými službami na jiných portech, iptables firewall, ...). Když se pokouším připojit na laptopu na A.B.C.D:4321, tak dle tcpdumpu na serveru2 něco chodí tunelem ze serveru1, ale protože na laptopu to nefunguje (connection timeout), tak se asi nedaří doručit zpět odpověď.
Řešení dotazu:
iptables -t nat -A POSTROUTING -d 10.99.0.10 -p tcp --dport 4321 -j SNAT --to 10.99.0.10Mimochodem ta maskarada nema na odesilani server2 zpet do tunelu zadny vliv..
Díky především za potvrzení, že DNAT & SNAT na serveru1 je vhodnou cestou.
Jak už to bývá, problém byl trochu jinde - ve FORWARD chainu byl skok na DOCKER-USER, přes který se vracející pakety již nedostaly. Těžko říci, zda jsem jsem to tak kdysi dávno nastavil sám či zda je to kouzlení dockeru.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.