Portál AbcLinuxu, 7. května 2025 12:58

Dotaz: WireGuard, routing & firewall

29.12.2021 10:59 Deryl | skóre: 11
WireGuard, routing & firewall
Přečteno: 408×
Odpovědět | Admin
Příloha:

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:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 1× (Deryl (tazatel))
29.12.2021 11:27 X
Rozbalit Rozbalit vše Re: WireGuard, routing & firewall
Odpovědět | | Sbalit | Link | Blokovat | Admin
Hadam, ze na server2 bude problem s tim, ze tunelem prichazi 2x dnatovany provoz s verejnou IP, ale podle routovaci tabulky se snazi odpovidat pres router2. Se zapnutym rp_filter by to neproslo vubec. Vhodnjsi by bylo pridat na server1 jeste SNAT, ktery to zamaskuje jako 10.99.0.10. Potom na server2 nemusi resit vubec nic:
iptables -t nat -A POSTROUTING -d 10.99.0.10 -p tcp --dport 4321 -j SNAT --to 10.99.0.10
Mimochodem ta maskarada nema na odesilani server2 zpet do tunelu zadny vliv..
29.12.2021 16:13 Deryl | skóre: 11
Rozbalit Rozbalit vše Re: WireGuard, routing & firewall

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.

Každopádně, '-j SNAT --to 10.99.0.10' či '-j MASQUERADE' je snad z pohledu přepisování zdrojové IP adresy totéž, ne? Nyní funguje obojí.
29.12.2021 16:26 X
Rozbalit Rozbalit vše Re: WireGuard, routing & firewall
Na obrazku je "MASQ from wg0 to eno0", tedy smerem ven. SNAT ktery jsem navrhoval je smerem dovnitr.
29.12.2021 16:35 Deryl | skóre: 11
Rozbalit Rozbalit vše Re: WireGuard, routing & firewall
Pravda, moje chyba :-(

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.