Keine DNS Auslösung mit aktiviertem VPN Client sobald der DNS Resolver aktiviert ist
-
Hi,
die Route zu den DNS Servern habe ich gesetzt, allerdings macht das keinen Unterschied. Es ist ja so das die Route auch passend vom VPN Client gesetzt ist sonst würde ich die DNS Server ja gar nicht erreichen bzw. das Netzwerk dahinter. Per IP Adressen funktioniert ja alles...
Meiner Meinung nach ist das ein Problem im DNS Resolver auf der pfsense. Vielleicht auch ein Bug oder ähnliches. Weil wenn ich diesen nicht verwende geht es ja. Also irgendwas muss ja der DNS Resolver mit meiner DNS Anfrage machen.
Ich bin da nicht so tief in pfsense drin, in welches Log muss ich den schauen um zu sehen was mit dem DNS request passiert? -
Mach doch erst mal diese ganzen Regeln für oder gegen DNS weg und lass die Standard-Regel drin, alles ausgehende zu erlauben. Macht der Resolver dann immer noch das Problem?
-
@johndo said in Keine DNS Auslösung mit aktiviertem VPN Client sobald der DNS Resolver aktiviert ist:
Weil wenn ich diesen nicht verwende geht es ja. Also irgendwas muss ja der DNS Resolver mit meiner DNS Anfrage machen.
Ich bin da nicht so tief in pfsense drin, in welches Log muss ich den schauen um zu sehen was mit dem DNS request passiert?Nope, das stimmt so nicht. Deine Screenshots mit "das funktioniert" zeigen doch einen ganz anderen Fall. Du machst dann DNS nach überall auf, was vorher nicht auf war. Wenn du das drinlässt wird es mit und ohne VPN wahrscheinlich genauso funktionieren. Du klemmst es ja aber stetig ab.
Da du wie du schreibst eine fertige VPN Konfig bekommst und ich nicht weiß was der VPN Client von Watchguard für ne Magic macht, kann ich nicht genau sagen, warum DNS dann nicht geht. OpenVPN bspw. hat genauso auch eine Einstellung, dass bei aktiver VPN Verbindung alle anderen DNSe NICHT verwendet werden dürfen, sondern NUR via VPN. Wenn sowas im Spiel ist hat das nichts mit pfSense zu tun, sondern mit dem VPN. Und deinem Regelwerk. Da du aber auch kein Firewall Log gepostet hast, ist das schwer zu sagen.
Wenn in deinem Fall "es nicht geht", würde ich mal ins Firewall Log schauen, was da geblockt wird von deiner Client IP aus. Das sollte aufschlußreich(er) sein und zeigen, ob/was dein Client macht. Ansonsten wäre nur noch ein tcpdump entweder auf dem Client oder der pfSense hilfreicher damit man sehen kann was läuft.
Ich gehe aber davon aus, dass es deine Regeln sind. Das "mit der Fritte gings" ist eigentlich ein Indikator dafür, denn eine Fritte hat keine Filter von LAN->WAN/VPN. Die filtern nur ein klein wenig eingehend und machen NAT, sonst gar nichts. Dass ein echter Paketfilter dann stärker zwischengrätscht als die Fritte ist klar :D
Mach doch erst mal diese ganzen Regeln für oder gegen DNS weg und lass die Standard-Regel drin, alles ausgehende zu erlauben. Macht der Resolver dann immer noch das Problem?
Genau das :)
-
Hallo zusammen,
ich habe mal testweise eine pfsense sowie einen Windows Client in einer VMWare Umgebung installiert um damit besser testen zu können. Ich habe mal das gleiche Scenario wie in meiner Umgebung nachgebaut.
Die pfsense ist Standard installiert und ich habe nun folgendes konfiguriert:
Hinter der pfsense hängt ein Windows Client, und auf diesem habe ich den Watchguard VPN Client installiert.
Sobald ich mich mit dieser Konfiguration einwähle habe ich das gleiche Problem sprich die DNS Auflösung funktioniert in Richtung Netzwerk das hinter dem WatchGuard Client liegt nicht. Sprich mein Testscenario hat nun das gleiche Verhalten.Nun werde ich mal die Regeln löschen und auf den Werkszustand zurücksetzen und nochmal testen.
-
Hallo zusammen,
habe nun die pfsense auf Werkseinstellung zurückgesetzt und folgende Einstellungen gemacht:
Damit habe ich aber das gleiche Problem sobald ich mich mit dem Watchguard VPN Client einwähle, es geht keine DNS Namensauflösung in das Netzwerk was hinter dem VPN liegt.
-
@johndo Ist denn in deiner Testumgebung pfSense direkt mit dem Modem verbunden? Wenn nicht, darfst Du private Netze nicht am WAN blocken.
-
Hi,
aktuell hängt diese hinter meiner normalen pfsense und hat eine Regel die alles darf. Habe im WAN Interface die beiden Haken rausgenommen, hat aber für meinen Test keinen Unterschied gemacht.
-
Wenn ich nun folgende Einstellungen auf meiner pfsense mache:
Dann funktioniert auch die DNS Auflösung in das Netzwerk hinter dem VPN Client.
-
@johndo pfBlocker hast Du nicht irgendwo installiert? Denn der, genauer PRI1 ausgehend, blockt teilweise leider die Cloudflare IPs. Besser also noch 8.8.8.8 eintragen. Ich weiß auch nicht, ob eine pfSense hinter einer pfSense wirklich ein geeignetes Testszenario sein kann.
-
Ich glaube dein ganzes Problem kommt von einer völlig anderen Seite.
Ich würde aber gerne wissen: du schreibst nach Firmware Reset mit Standard Regeln und Standard Setup, also DNS Resolver an etc. geht das mit dem WG VPN Client mit DNS nicht. Wenn du danach in der letzten Bilderstrecke den DNS abschaltest gehts. Mehr war ja da nicht der Unterschied, oder?
Ich will aber gern noch wissen: Nach Reset -> wie sieht deine Client Konfig auf dem Windows PC aus? DHCP? Wenn ja, welche Einstellungen wurden gepusht? (DNS etc.) und wie sehen die Einstellungen aus, sobald das WG VPN läuft?
(Beide Male nen
ipconfig /all
und einroute print
)Und wie sehen die Client Einstellungen aus, im letzten Modus wenn du DNS abschaltest?
Meine Vermutung ist hier der gleiche Nervkram von Windows, der auch OpenVPN betrifft und weshalb es seit einiger Zeit in den OVPN Einstellungen den Haken gibt zum Pushen der Option, dass fremde DNSe während des VPNs verboten sind und nur die der Verbindung genutzt werden dürfen. Windows' DNS ist nämlich nicht der Hellste und wenn ein VPN besteht, was selbst per DHCP einen DNS gepusht hat, dann wird der meistens/oft NACH dem lokalen DNS genutzt. In dem Fall also:
- Du verbindest per VPN
- du fragst nach einem internen Namen, den nur der DNS der VPN Verbindung kennt weil interne Namen
- dein System nutzt aber die pfSense die keine Ahnung von dem Namen hat/haben kann
- du bekommst ein NXDOMAIN o.ä. zurück
Ohne DNS Resolver der pfSense hat dein Client dann entweder lokal einstellt DNS Server (nicht per DHCP bekommen) oder gar keinen, bekommt per VPN einen zugewiesen und nutzt den dann präferiert. Tadaa, Antwort auf DNS kommt.
Problem ist da u.a. die Interface Reihenfolge interner-weise bei Windows (die IDs kann man sich via Powershell und Co anzeigen lassen) und wie dann die DNS Abfragen pro Interface präferiert werden. Wenn du die Watchguard VPN Verbindung priorisierst/prio. kannst (weiß nicht ob die als Interface wie OVPN angelegt wird), dann könnte das Problem genauso verschwinden, weil es dann bei aktiver Verbindung präferiert genutzt wird und ansonsten ignoriert.
Ist wie gesagt meine Vermutung, mit pfSense hat das nur marginal wenig bis nichts zu tun, sondern eher, wie Windows/Clients die DNS Geschichte handeln und mit mehreren DNS Resolvern/Forwardern klarkommen und ihre Queries streuen.
Wurde bspw. auch unter Linux ziemlich grausam mit systemd-networkd oder NetworkManager oder oder oder, da sich alle Varianten unterschiedlich verhalten und manche ignorieren gepushte DNSe einfach, andere nutzen sie parallel (mal geht's mal nicht) oder manche priorisieren das dann.Vielleicht kannst du da ja noch die Infos nachreichen, würde mich interessieren.
Grüße
-
Hi,
habe soeben mal testweise die Firewall direkt ans Modem gehängt, macht aber keinen Unterschied. Habe es nun wieder über die VMWare laufen sonst geht mein internes Netzwerk nicht so ohne weiteres.
-
@JeGr said in Keine DNS Auslösung mit aktiviertem VPN Client sobald der DNS Resolver aktiviert ist:
Ich würde aber gerne wissen: du schreibst nach Firmware Reset mit Standard Regeln und Standard Setup, also DNS Resolver an etc. geht das mit dem WG VPN Client mit DNS nicht. Wenn du danach in der letzten Bilderstrecke den DNS abschaltest gehts. Mehr war ja da nicht der Unterschied, oder?
Hi,
ja, genau. Letztendlich habe ich die pfsense auf Werkseinstellung zurückgesetzt und habe nur das WAN und LAN Interface konfiguriert. Dann habe ich den DNS Resolver abgeschaltet, der ja Standardmäßig aktiviert ist. Danach geht es einwandfrei.
Mal unabhängig von meinem Watchguard VPN Client. Wenn ich auf meinem Windows Testclient bei abgeschaltetem DNS Resolver mir mittels:
ipconfig /release
ipconfig /reneweine neue IP Adresse vom DHCP Server meiner pfsense zuweisen lassen. Dann sieht das so aus:
das erklärt auch warum es dann mit dem Watchguard VPN Client funktioniert. Weil nun als DNS Server direkt 1.1.1.1 sowie 1.0.0.1 von meinem Client verwendet wird und die pfsense außen vor ist. Durch die Standardmäßigen aktiven Firewall-Regeln ist das ja auch erlaubt, sprich mein Client kann direkt die DNS Server im Internet erreichen.
Wenn ich nun auf der pfsense den DNS Resolver wieder aktiviere:
und mache auf meinem Windows Client:
ipconfig /release
ipconfig /renewdann bekomme ich die pfsense als DNS Server eingetragen:
-
Hallo zusammen,
und nun nochmal mit Watchguard VPN Client.
pfsense DNS Resolver aktiv, Watchguard VPN Client aktiv:
pfsense DNS Resolver nicht aktiv, Watchguard VPN Client aktiv:
-
Hi,
habe auch testweise mal nur den DNS Server 8.8.8.8 eingetragen, macht aber keinen Unterschied.
-
@johndo Ich weiß nicht, ob das hier relevant ist, aber dir ist bewusst, dass der Resolver, so wie er bei dir konfiguriert ist, eh nicht die DNS-Server nutzt, die Du eingetragen hast? Dies würde er nur machen, wenn Du auch das Forwarding enablen würdest. Stattdessen ruft er direkt die DNS-Root-Server an. Wie gesagt, keine Ahnung, ob hier relevant.
-
Hi,
also wenn ich im DNS Resolver meine Domain aus dem Netzwerk hinter dem Watchguard VPN eintrage dann funktioniert es.
Klar, weil dann der DNS Resolver dafür nicht verwendet wird.
Letztendlich wäre das für mich so ok, hauptsache es funktioniert. Allerdings würde mich es schon Interessieren warum das Verhalten so ist wie es ist :)
-
@johndo said in Keine DNS Auslösung mit aktiviertem VPN Client sobald der DNS Resolver aktiviert ist:
also wenn ich im DNS Resolver meine Domain aus dem Netzwerk hinter dem Watchguard VPN eintrage dann funktioniert es.
Das KANN gar nicht funktionieren, sorry :)
Deine pfSense hat keinerlei Verbindung zu 172.21.4.200. Das heißt sämtliche Anfragen an die Domain die du unter Override eingetragen hast gehen ins Leere. Kannst du das via DNS Test (Diagnostics) auf der pfSense bitte mal testen? Oder hast du auf der pfSense NOCH einen Tunnel auch in die Firma? Ansonsten ist es quatsch und der Override kann eigentlich nie klappen.Wenn der Resolver der Sense die Adresse nicht auflösen kann hilft eigentlich nur entweder den Forward Mode reinzumachen - dann würde er weiterleiten auf 1.1.1.1 was du unter "General" konfiguriert hast (und auch dann stellt sich mir die Frage, warum das dann plötzlich funktionieren sollte?) oder so wie ich weiter oben schrieb, den TAP Adapter von der Watchguard auf Windows Seite zu präferieren, dass er den als erstes nutzt wenn ein VPN offen ist und auch dessen DNS Server nutzt.
Welchen er nutzt siehst du ja, wenn du unter dem Command Prompt oder Powershell "nslookup" eingibst, selbst mit VPN offen wird das potentiell der sein, der die Sense via DHCP verteilt hat, weil Windows das mit parallelem Lookup nicht so drauf hat.
Da der WG VPN Client wohl nix anderes als ein verkapptes OpenVPN ist (wenn ich den Adapternamen sehe), hat er auch genau das Gleiche Problem wie OpenVPN.
Da könnte u.a. der alte Tipp mit dem MultiHomed DNS helfen, da du ja wie du sagst die WG VPN Config nicht verändert kannst (oder hast du ggf. eine Text Config und kannst da zusätzlich noch was reineditieren?).Ansonsten schau mal hier:
http://woshub.com/dns-resolution-via-vpn-not-working-windows/
älterer Artikel, der aber genau den Kern trifft, was auch OpenVPN passiert:
If you are using Split Tunneling (the “Use default gateway on remote network” option is unchecked) for your VPN connection, you can access the Internet from your local network, but you cannot resolve DNS addresses in the remote VPN network (IPv6 disabling does not help here).
You must understand that Windows sends a DNS query from the network interface, which has the highest priority (lower value of the interface metric). For example, your VPN connection works in the the Split Tunneling mode (you want to access Internet from your LAN and your corporate resources over VPN).Mit einem
Get-NetIPInterface | Sort-Object Interfacemetric
kann man das abfragen, welche ID welches Interface hat. U.a. ist das auch der Grund, warum es manchmal per OpenVPN Probleme gibt, wenn im Unternehmen ein Proxy (Squid) zum Einsatz kommt. Der wird dann nämlich auch gern mal ignoriert, obwohl er automatisch gepusht wird weil Windows die IfIndex berücksichtigen will.Man kann aber manuell den Index herunterstufen und damit die VPN Verbindung bspw. auf 10 stellen (meistens haben LAN/Ethernet 25) und das damit über die lokalen Netze stellen, DANN müsste eigentlich auch dein DNS etc. via VPN der "Tonangeber" sein :)
-
Das runterstufen kurz für dein Beispiel:
netsh int ip set interface interface="Ethernet" metric=15
oder
netsh int ip set interface interface="Ethernet0" metric=35
das LAN hochstufen. Würde aber eher das VPN runterfahren, gerade wenn du mehrere LANs/VLAN/Virtuelle Adapter hast, wäre das sonst etwas nervig.
Bei mir siehts bspw. so aus:
PS C:\Users\groh> Get-NetIPInterface | Sort-Object Interfacemetric ifIndex InterfaceAlias AddressFamily NlMtu(Bytes) InterfaceMetric Dhcp ConnectionState PolicyStore ------- -------------- ------------- ------------ --------------- ---- --------------- ----------- 77 vEthernet (WSL) IPv6 1500 15 Enabled Connected ActiveStore 77 vEthernet (WSL) IPv4 1500 15 Disabled Connected ActiveStore 16 ProtonVPN IPv4 1500 25 Enabled Disconnected ActiveStore 9 VirtualBox Host-Only Network #2 IPv4 1500 25 Disabled Connected ActiveStore 13 VirtualBox Host-Only Network #4 IPv4 1500 25 Disabled Connected ActiveStore 7 VirtualBox Host-Only Network #3 IPv4 1500 25 Disabled Connected ActiveStore 26 Ethernet IPv4 1500 25 Enabled Connected ActiveStore 27 OpenVPN 1 IPv4 1500 25 Enabled Disconnected ActiveStore 8 OpenVPN 2 IPv4 1500 25 Enabled Disconnected ActiveStore 19 LAN-Verbindung* 2 IPv4 1500 25 Enabled Disconnected ActiveStore 25 LAN-Verbindung* 1 IPv4 1500 25 Enabled Disconnected ActiveStore 9 VirtualBox Host-Only Network #2 IPv6 1500 25 Enabled Connected ActiveStore 19 LAN-Verbindung* 2 IPv6 1500 25 Disabled Disconnected ActiveStore 7 VirtualBox Host-Only Network #3 IPv6 1500 25 Enabled Connected ActiveStore 16 ProtonVPN IPv6 1500 25 Enabled Disconnected ActiveStore 13 VirtualBox Host-Only Network #4 IPv6 1500 25 Enabled Connected ActiveStore 26 Ethernet IPv6 1500 25 Enabled Connected ActiveStore 27 OpenVPN 1 IPv6 1500 25 Enabled Disconnected ActiveStore 25 LAN-Verbindung* 1 IPv6 1500 25 Enabled Disconnected ActiveStore 8 OpenVPN 2 IPv6 1500 25 Enabled Disconnected ActiveStore 18 WLAN IPv4 1500 70 Enabled Disconnected ActiveStore 1 Loopback Pseudo-Interface 1 IPv6 4294967295 75 Disabled Connected ActiveStore 1 Loopback Pseudo-Interface 1 IPv4 4294967295 75 Disabled Connected ActiveStore
Da wäre ich ziemlich doof dran, wenn ich VPN priorisieren will und alle "LAN" Arten hochsetzen müsste ^^
Außerdem: Wenn ihr v4 und v6 übern Tunnel nutzt, nicht vergessen beides runterzustellen für höhere Prio :)
-
Hi,
das hat funktioniert! Nachdem ich das hier gemacht haben:
netsh int ip set interface interface="Ethernet" metric=15
netsh int ip set interface interface="Ethernet0" metric=35geht sofort DNS Auflösung.
-
Hi,
aber wie kann das Problem nun gelöst werden? Muss dann am VPN Server bzw. VPN Client etwas geändert werden das diese Settings automatisch angezogen werden sobald ich mich einwähle?
Weil eigentlich wäre das ja nicht meine Aufgabe lokal Einstellungen vorzunehmen damit das VPN funktioniert oder?
Welche Einstellungen wären das den auf einem OpenVPN Server bei der pfsense? Nur das ich mal einen Anhaltspunkt habe welche Seetings das wären.