DNS Auflösung Wireguard

wwolf1987

Cadet 4th Year
Registriert
Mai 2007
Beiträge
108
Hallo zusammen,

ich habe ein Site-2-Site VPN mit 2 Raspberrys und WireGuard aufgebaut.
Die Verbindung funktioniert so weit.
Ich kann alles gegenseitig per IP anpingen.

Nur funktioniert die DNS Auflösung nicht wie sie sollte.
Auf der primäre Site läuft eine Fritzbox und ein Windows Server mit DNS und AD.
Wenn ich auf meiner Seite den die IPV4 Adresse des Windows Server als DNS eintrage, werden die Namen nicht aufgelöst.
Auch die Fritzbox Einzugtragen bringt nichts.

Wenn ich jetzt aber bei mir IPV6 deaktiviere werden die DNS Namen aufgelöst.

Ich habe bereits versuch die Metrik von IPV6 zu reduzieren, was aber nichts gebracht hat.

Was ist hier noch falsch konfiguriert?

Grüße

Michael
 
Lässt der AD Server denn andere Netzte als das eigene zu für Anfragen? MMN ist da ein häufiger Fehler auf DNS Seite.

PS: Wireguard bietet es direkt an, die DNS Server an zu geben, da muss man nichts händisch friemeln :)
 
bist denn auf ipv6 angewiesen? wenn nicht per registy deaktivieren.
oder denselben Schlüssel in der Registry so setzen das ipv4 präferiert wird.

Ich kann dir den Registry pfad/Schlüssel jetzt nicht nennen da ich auf Linux bin.
aber google und MS knowledge base helfen.
Ergänzung ()

Salamimander schrieb:
Lässt der AD Server denn andere Netzte als das eigene zu für Anfragen? MMN ist da ein häufiger Fehler auf DNS Seite.

PS: Wireguard bietet es direkt an, die DNS Server an zu geben, da muss man nichts händisch friemeln :)
wenn er schon schreibt das bei ipv6 off, dns funkt dann lässt der server auch andere ip ranges zu.
 
Der Server nimmt die DNS Anfragen ja an.
Es liegt eher am Client der zuerst versuch DNS über IPV6 aufzulösen.

Der Tunnel ist S2S und ich habe da die DNS Server eingetragen und auf den Raspberrys funktioniert es auch nur nicht auf den anderen Clients im Netz.

IPV6 wäre schon gut, da der eine Internetanschluss kein natives IPV4 hat und damit die Anfragen langsamer geworden sind.
 
Danke,
das habe ich auch bereits in einer VM getestet, ohne Erfolg.
 
Wenn er aber IPv6 nutzt, dann bitte auch richtig konfigurieren. Dinge abschalten weil falsch konfiguriert ist keine Lösung. Bei mir funktioniert es auch DualStack ohne Probleme.

(Nur etwas anders aufgebaut:
  • Roadwarrior nutzten direkt den DNS daheim
  • S2S hat jede Seite einen eigenen Recursive resolver und nur bestimmte Zonen werden nach Hause geschickt)

Etwas mehr Analyse wäre auch notwendig. „Geht nicht“ ist eher keine Analyse. Gibt es denn einen TimeOut? Oder doch eher was anderes? Was sagt die Route Verfolgung? Ist es ggf überhaupt kein DNS Thema? Usw usw)
 
Salamimander schrieb:
PS: Wireguard bietet es direkt an, die DNS Server an zu geben, da muss man nichts händisch friemeln :)
Das ist erst einmal richtig, hilft OP aber auch nicht. der DNS Server bei Wireguard ist nur für dieses Gerät. Bspw am Handy, wenn man dort den heimischen DNS einträgt. (ohne DNS in der "Client" Konfig erstellt Wireguard nur die Routen, die in den AllowedIPs definiert sind. im mobilen Netz oder fremden WLANs nutzt man damit noch immer nicht den heimischen DNS Server)

bei einer S2S Umgebung bringt der DNS Server im Wireguard Peer nichts. Da musst du im fremden Netz per DHCP deinen Clients den neuen DNS Server mitgeben. (oder weiterhin den Router als DNS nehmen und der Router selbst nutzt den entfernten DNS Server)

@OP ohne IPv6 geht es ja. Hast du denn auch in den DHCP Einstellungen bei IPv6 den DNS benannt? tunnelst du IPv6 ebenfalls? Wenn du IPv6 vollumfänglich routest kannst du auch auf die IPv6 des WIndows Servers zugreifen. Dann sollten deine Clients auch diesen verwenden.
Alternativ könntest du auf dem lokalen Pi einen einfachen DNS Server aufsetzen und dort den Windows Server als einzigen UPStream DNS nehmen.
 
Ich habe auf der Seite ohne Windows Server DNS manuell auf 2 Clients konfiguriert.
Dort ist der Windows Server(192.168.1.102) als primärer und die lokal Fritzbox(192.168.2.1) als sekundär eingetragen.
IPV6 habe ich nichts konfiguriert alles auf DHCP.
Auf der Fritzbox ist per DHCP nur die eigene IPV6 DNS eingetragen, mehr geht bei denen ja nicht.

IPV6 tunnel ich nicht.

Ich denke ich komme nicht drum die Fritzbox als DNS Server zu entsorgen und einen richtigen Router zu nutzen.
Mich wundert es nur das Windows es nicht kapiert, dass es IPV4 bevorzugt nutzen soll, obwohl es nach Microsoft konfiguriert ist.
 
wwolf1987 schrieb:
Auf der Fritzbox ist per DHCP nur die eigene IPV6 DNS eingetragen, mehr geht bei denen ja nicht.
Kann ich auf meiner 7490 nicht nachvollziehen.
1668591674729.png


Du kannst du theoretisch einfach auf dem Pi einen DNS Server aufsetzen (Pihole, Adguard, ...), dort die IPv4 vom Windows Server hinterlegen und intern eben diesen Pi (per IPv4 und IPv6) als lokalen DNS nehmen. das sollte funktionieren.
Zusätzlich würde der DNS ja cachen und den Wireguard Tunnel entlasten, da eben nicht jede einzelne DNS Anfrage zum Windows Server muss, sondern nur aller paar Minuten mal welche. (auch wenn sich der Traffic durch DNS in Grenzen hält :) )

Nachtrag:
je nachdem, was dein eigentlicher Zweck dieses Unterfangens ist, kannst du den DNS dann auch so einstellen, dass nur bestimmte Domains (bspw. (d)eine lokale eigene Domain) beim Windows Server aufgelöst werden, andere/externe aber weiterhin ohne VPN bei bspw. Quad9. Ein einzelner DNS Server ist meiner Meinung nach schon schwierig (ohne DNS bist du quasi offline), diesen dann auch noch von einem VPN zu einem privaten Anschluss abhängig zu machen, erhöht das Ausfallrisiko ungemein.

VPN Problem? Offline.
Netzwerkproblem bei der entfernten Site? Offline.
Problem am Windows Server? Offline
Hardware defekt (Netzwerk, Router, Switch, Server, entfernter Pi...)? Offline

"einfach" den Remote Server als einzigen DNS zu nehmen, hat so viele Single-Point-of-Failure Möglichkeiten, die zu einem kompletten Verlust des DNS führen... das würde ich nicht machen :)
 
Zuletzt bearbeitet:
wwolf1987 schrieb:
Dort ist der Windows Server(192.168.1.102) als primärer und die lokal Fritzbox(192.168.2.1) als sekundär eingetragen.
Sowas solltest du nach Möglichkeit vermeiden. Primärer und sekundärer DNS funktionieren nicht unbedingt so wie man sich das vorstellt. Beide können und werden teilweise parallel oder auch explizit abwechselnd benutzt. Deswegen sollten beide DNS denselben Informationsgehalt bieten. Stellst du verschiedene DNS ein wie zB den lokalen DNS im Router und einen DNS jenseits eines VPNs oder im www, kann es zu unerwünschten Effekten kommen. In ungünstigen Situationen kann es dazu führen, dass zB lokale Namen wie "MeinNAS" nicht mehr aufgelöst werden, weil gerade der sekundäre DNS an der Reihe ist und dieser einfach keine Ahnung davon hat.

Gleiches gilt, wenn man gefilterte DNS einsetzt wie zB pihole. Konfiguriert man parallel dazu einen ungefilterten DNS, wird ab und zu nicht gefiltert, weil in dem Moment der andere, ungefilterte DNS gefragt wird.
 
@ Raijin,

danke für die Info.
Hast du einen anderen Lösungsvorschlag?

Trotzdem werde ich am WE mal einen Router mit OpenWRT testen und dort DNS Weiterleitung konfigurieren.
 
Naja, das Problem entsteht in dem Moment, wenn Windows IPv6 bevorzugt, was es standardmäßig tut - zu Recht. In dem Falle wird eben der IPv6-DNS befragt und nicht der IPv4-DNS, den man ggfs via VPN nutzen möchte. Die Metrik der Schnittstellen ist aber auch noch mit von der Partie.

Man kann versuchen, die Metrik der VPN-Schnittstelle niedriger einzustellen als jene der physischen Schnittstelle. Letztere hat nämlich bei aktivem IPv6 im Treiber sowie im Netzwerk/Router normalerweise eine niedrigere Metrik und wird daher vor der VPN-Schnittstelle genutzt.

Du kannst natürlich am PC IPv6 abschalten, aber das ist bestenfalls Symptombekämpfung und kann dir unter Umständen auch noch auf die Füße fallen - spätestens dann, wenn du eine IPv6-only Seite ansurfen willst.
 
Raijin schrieb:
Man kann versuchen, die Metrik der VPN-Schnittstelle niedriger einzustellen als jene der physischen Schnittstelle.
Korrigiere mich, wenn ich falsch liege, aber hat @wwolf1987 nicht ein Site-to-Site VPN über 2 Raspberrys eingerichtet? Der Windows-PC (und/oder Windows Server) ist doch gar kein Peer im WireGuard VPN und hat entsprechend keine virtuelle VPN Schnittstelle.

Wenn an beiden Standorten IPv6 verwendet wird, verstehe ich immer noch nicht, warum nicht einfach die IPv6 Adressen geroutet werden.

Alternativ eben der lokale DNS Server (bspw. Pihole) der widerum auf den Windows Server (also nur die IPv4 des Windows Servers als Upstream DNS) zurückgreift.

Sauberer wäre dann, wie gesagt, wenn der PiHole nur eigene Domains beim Windows Server abfragt und "normale" externe weiterhin extern. Einfach, weil das im Fehlerfalle (Netzwerk/Internet/Hardware auf der Remoteseite) nicht zum lokalen Totalausfall führt.
 
  • Gefällt mir
Reaktionen: Raijin
spcqike schrieb:
Der Windows-PC (und/oder Windows Server) ist doch gar kein Peer im WireGuard VPN und hat entsprechend keine virtuelle VPN Schnittstelle.
Da hast du vollkommen Recht, mein Fehler.

spcqike schrieb:
Wenn an beiden Standorten IPv6 verwendet wird, verstehe ich immer noch nicht, warum nicht einfach die IPv6 Adressen geroutet werden.
Da bin ich voll bei dir.
 
spcqike schrieb:
Das ist erst einmal richtig, hilft OP aber auch nicht. der DNS Server bei Wireguard ist nur für dieses Gerät. Bspw am Handy, wenn man dort den heimischen DNS einträgt. (ohne DNS in der "Client" Konfig erstellt Wireguard nur die Routen, die in den AllowedIPs definiert sind. im mobilen Netz oder fremden WLANs nutzt man damit noch immer nicht den heimischen DNS Server)

bei einer S2S Umgebung bringt der DNS Server im Wireguard Peer nichts. Da musst du im fremden Netz per DHCP deinen Clients den neuen DNS Server mitgeben. (oder weiterhin den Router als DNS nehmen und der Router selbst nutzt den entfernten DNS Server)

@OP ohne IPv6 geht es ja. Hast du denn auch in den DHCP Einstellungen bei IPv6 den DNS benannt? tunnelst du IPv6 ebenfalls? Wenn du IPv6 vollumfänglich routest kannst du auch auf die IPv6 des WIndows Servers zugreifen. Dann sollten deine Clients auch diesen verwenden.
Alternativ könntest du auf dem lokalen Pi einen einfachen DNS Server aufsetzen und dort den Windows Server als einzigen UPStream DNS nehmen.
Du hast mich da missverstanden. Natürlich muss man die DNS Cliet config im Wireguard CLient setzten, man muss aber nicht am Interface des Clients rumfummeln, darauf wollte ich hinaus.

Die Lösung wäre es, auch IPv6 zu tunneln. Ist ja eigentlich kein Ding ...


Server:
Code:
[Interface]
Address = IPv4/24
Address = IPv6/64
ListenPort = 51820
PrivateKey = SNIPP

[Peer]
PublicKey = SNIPP
AllowedIPs = 10.20.20.0/24, fd11:10:20:0::/64

Client analog. Kein Hexenwerk. die passende ULA zum Routen findest du ja in der FritzBox.
 
Danke für die Infos.
Es scheint jetzt auch mit aktiver IPV6 Adresse so zu funktionieren wie es soll.

Einrichtung war doch nicht ganz so einfach wie bei IPV4.

Trotzdem muss die Fritz!Box als DHCP und DNS bald weg, zweiter DNS-Server im DHCP eintragen ist wohl zu viel für die Box.

Grüße
Michael
 
Zurück
Oben