dirkschwarz
Goto Top

Wireguard-Klient ohne Internet bei Durchleitung des gesamten Netzwerktraffic

Guten Abend,

versuche gerade mir einen WireGuard-Server aufzusetzen und habe folgendes Problem.

Die Verbindung zwischen Server/Klient klappt problemlos. Sobald ich aber den gesamten Netzwertraffic vom Klienten über den Wireguard-Tunnel schicken möchte, habe ich keine Internetverbindung mehr auf dem Klienten.

Ping an den Wireguard-Server (10.10.10.1) klappt, alles andere wird nicht erreicht (ping google.de/ ping 1.1.1.1).

Es hat auch keine Auswirkungen, wenn ich den DNS Eintrag im Interface des Klienten dekaktiviere oder durch einen öffentlichen DNS ersetze.

Dieses Szenario tritt nur bei der Durchleitung des kompletten Netzwertraffic auf. Sobald ich nur spezifische Netzwerkadressbereiche durch den Tunnel leite klappt alles ohne Probleme.

Was mache ich falsch?

Hier meine Konfigurationen:

WG-Server:

[Interface]
PrivateKey = (privater Key)
Address = 10.10.10.1/24
ListenPort = 51820
DNS = 9.9.9.9,149.112.112.11,2620:fe::9,2620:fe::11

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE;

WG-Klient:

[Interface]
Address = 10.10.10.3/32
PrivateKey = (privater Key)
DNS = 10.10.10.1

[Peer]
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 82.x.x.x:51820
PersistentKeepalive = 60
PublicKey = (öffentl.Key)

Content-ID: 1336806731

Url: https://administrator.de/contentid/1336806731

Ausgedruckt am: 19.12.2024 um 13:12 Uhr

149569
149569 02.10.2021, aktualisiert am 03.10.2021 um 07:56:02 Uhr
Goto Top
::/0
Du setzt auch eine Default-Route für IPv6 auf den Tunnel obwohl dein Wireguard Interface überhaupt keine IPv6 Addresse konfiguriert hat. Außerdem teilst du dem Client eine IPv6 Adresse eines DNS-Servers mit. Das führt dazu, dass der Client versucht sich per IPv6 mit den Gegenstellen zu verbinden (sofern diese per DNS einen AAAA Record liefern) was aber natürlich nicht klappt weil das Interface keine gültige IPv6 Config hat. Und bekanntermaßen wird IPv6 immer bevorzugt sofern man nicht selbst Hand angelegt hat.
Wenn du wirklich jeglichen Traffic, also auch IPv6 mit einbeziehen willst musst du auch auf dem wireguard Interface IPv6 einrichten. Wenn du das nicht tust und die Default Route für IPv6 in der Wireguard-Config entfernst geht der Client sofern er lokal bereits eine globale IPv6 Adresse besitzt nicht über den Tunnel ins Netz wenn er eine IPv6 Gegenstelle anspricht .
Also entweder Wireguard auch mit IPv6 korrekt einrichten, oder am Client IPv4 vor IPv6 bevorzugen oder die IPv6 Bindung am Netzwerkadapter deaktivieren (nicht empfohlen).

Du verstehen 😉
dirkschwarz
dirkschwarz 03.10.2021 um 23:46:51 Uhr
Goto Top
@149569

Danke für deine Rückmeldung - leider ohne Erfolg. Selbes Ergebnis - sobald ich den gesamten Netzwerktraffic durch den WG-Tunnel schicke hat der Klint keine Internetverbindung mehr. Ausschließlich der WG-Server ist über seinen WG Adresse (10.10.10.1) zu erreichen.

WG-Server:

[Interface]
PrivateKey = (privater Key)
Address = 10.10.10.1/24
ListenPort = 51820
DNS = 9.9.9.9,149.112.112.11

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE;

WG-Klient:

[Interface]
Address = 10.10.10.3/32
PrivateKey = (privater Key)
DNS = 10.10.10.1

[Peer]
AllowedIPs = 0.0.0.0/0
Endpoint = 82.x.x.x:51820
PersistentKeepalive = 60
PublicKey = (öffentl.Key)

Hat vielleicht noch jemand einen Ratschlag?
149569
149569 04.10.2021 aktualisiert um 08:22:43 Uhr
Goto Top
Wireshark anwerfen und das Routing am Server kontrollieren, ob dort überhaupt das IPv4 Forwarding aktiviert wurde, denn nur Firewall Regeln reichen nicht aus.