WireGuard Split DNS op macOS: Search Domainen a Resolveren

Firwat däi Mac all Numm un de WireGuard-Tunnel schéckt, wéi Search Domainen sech vu Resolvere pro Domain ënnerscheeden, a wéi s de préifs, wat macOS benotzt.

Op engem Mac schéckt eng WireGuard-Konfiguratioun, där hir DNS =-Zeil e Server nennt, an der Reegel all Ufro no engem Numm un dee Server, soulaang den Tunnel aktiv ass: d’Nimm vum Remote-Netzwierk, an och alles anescht. Split DNS ass d’Alternativ. Fir bestëmmten Domaine gëtt e Resolver gewielt, an all aner Nimm behalen den DNS, deen s de normalerweis benotz. Search Domaine sinn en drëtten, separate Mechanismus: Si ergänze kuerz Nimm, an si wiele kee Resolver. Wann s de déi dräi ausenee häls, verstees de déi meescht Symptomer, op déi een an der Praxis stéisst.

Dëse Guide deckt macOS an IPv4-Netzwierker of.

Stand vun der offizieller App de 7. Oktober 2026: Déi publizéiert WireGuard-App fir macOS ass d’Versioun 1.0.16, an si huet keng DNS-Astellung pro Domain. E Patch fir en optionale Split DNS (Opt-in) gouf upstream proposéiert, mä eis Kontroll huet weder en Upstream-Merge nach eng publizéiert Versioun fonnt, déi en enthält. Kuck de Quellcode vun der offizieller App an hir Säit am App Store fir macOS.

D’Problem: ee Resolver fir déi ganz Maschinn

D’Beispiller hei ënnendrënner benotze fiktiv Nimm an Adressen. E Remote-Netzwierk huet en DNS-Server op 10.20.0.53, deen eenzege Server, deen server.corp.example.com kennt. Däin eegent Netzwierk, 192.168.50.0/24, huet Nimm, déi nëmmen den DNS vun dengem Router kennt: en Drécker, en NAS.

Mat engem eenzege Resolver fir all Numm funktionéiert eng vun deenen zwou Gruppen net. Riicht alles op 10.20.0.53 aus, an deng lokal Nimm ginn net méi opgeléist, wärend all aner Ufro en Ëmwee iwwer d’Remote-Netzwierk mécht. Behal den DNS vun dengem Router, a server.corp.example.com gëtt ni opgeléist, obwuel 10.20.0.20, d’Adress dohannert, perfekt erreechbar ass.

An der offizieller WireGuard-App

Eng Konfiguratioun wéi dës ass heefeg:

[Interface]
DNS = 10.20.0.53, corp.example.com

D’Netzwierkastellunge vun der App liesen se esou:

  • 10.20.0.53, eng Adress, gëtt den DNS-Server vum Tunnel.
  • corp.example.com, oder all aner Entrée, déi keng Adress ass, gëtt ee vun de Search Domaine vum Tunnel.
  • Soubal op d’mannst ee Server uginn ass, setzt d’App d’Lëscht vun de Match-Domaine vum Tunnel op eng eenzeg eidel Entrée. De Kommentar am Quellcode seet et esou: All DNS-Ufroe mussen als éischt duerch den DNS vum Tunnel goen.

Déi publizéiert App huet keng Astellung, fir nëmme bestëmmten Domainen un den DNS vum Tunnel ze schécken. De Search Domain schränkt näischt an: Hien ergänzt Nimm, wärend all Ufro ëmmer als éischt un 10.20.0.53 geet.

Mat wg-quick op macOS

wg-quick, aus wireguard-tools, deelt déi selwecht Zeil a Serveradressen a Search Domainen op. Säi macOS-Skript wierkt dann op déi ganz Maschinn, net op enger Tunnel-Interface:

  • Wann op d’mannst eng Serveradress uginn ass, setzt et déi Serveren a Search Domainen op all Netzwierkservice, deen networksetup oplëscht, an ersetzt hir bestoend Wäerter. Huet d’Zeil kee Search Domain, läscht et d’Search Domaine vun de Servicer.
  • Soulaang den Tunnel aktiv ass, setzt et dës Astellungen nees, wann d’Routing-Tabell sech ännert.
  • Wann den Tunnel stoppt, restauréiert et d’Wäerter, déi et virun der Ännerung festgehalen huet.
  • Eng DNS =-Zeil mat Search Domainen, mä ouni Serveradress, ännert iwwerhaapt keng DNS-Astellung.

Dat ass eng DNS-Ännerung fir déi ganz Maschinn, kee Split DNS.

Search Domainen si keng Auswiel vum Resolver

Wat e Search Domain mécht

E Search Domain léisst e kuerzen Numm mat engem Suffix probéieren: server kann als server.corp.example.com nogekuckt ginn. Hien hëlleft, Nimm z’ergänzen an ze sichen. Hien decidéiert net, wéi en DNS-Server fir corp.example.com äntwert.

Dat passt zu de Berichter iwwer Search Domainen, déi „nëmmen automatesch ergänzen“: Den Numm z’ergänzen ass déi ganz Aarbecht vun engem Search Domain. De Resolver, deen den ergänzten Numm kritt huet, huet en trotzdeem misse kennen.

Wat Split DNS mécht

Split DNS wielt e Resolver fir en Domain. Ufroe fir Nimm ënner corp.example.com ginn un 10.20.0.53; all aner Nimm bleiwe beim Resolver, deen s de normalerweis benotz. Den Domain, deen de Resolver auswielt, gëtt dacks Match-Domain genannt.

E Client kann seng Match-Domainen an seng Search Domainen aus der selwechter Lëscht huelen, mä et bleiwen zwee Mechanismen. Deen ee schreift e kuerzen Numm ëm; deen anere wielt de Server, dee fir en Domain äntwert. Eng Konfiguratioun kann dat eent ouni dat anert hunn.

Split DNS a Split-Tunneling sinn zwou verschidde Saachen

Split Tunneling decidéiert, wéi eng Adressen duerch den Tunnel ginn: Dat ass AllowedIPs. Split DNS decidéiert, wéi e Resolver op en Numm äntwert. Dacks brauchs de béides, an si hänken openeen of: Den DNS-Server op der anerer Säit muss selwer duerch den Tunnel geroutet ginn. Am Beispill muss AllowedIPs souwuel 10.20.0.53 wéi och 10.20.0.20 ofdecken. Kuck DNS, Routing a Split Tunneling fir d’Routing-Hallschent.

Deng Optiounen op macOS

ApprocheWat se ännertWat se net mécht
D’Verhale vun der offizieller App behalenWärend der Verbindung geet all Ufro als éischt un den DNS-Server vum TunnelNimm, déi nëmmen den DNS vun dengem eegenen Netzwierk kennt, kënnen net méi opgeléist ginn
„Exclude private IPs“ an der offizieller App aktivéierenRouting: privat IPv4-Beräicher verloossen e Full TunnelSi wielt kee Resolver pro Domain; d’DNS-Astellunge bleiwen déi selwecht
E Resolver-Fichier an /etc/resolver dobäisetzenEng Resolver-Konfiguratioun fir een Domain, déi de Server nennt, deen s de wielsHien ass net un den Tunnel gebonnen, an säin Zesummespill mat der offizieller App wärend der Verbindung ass net gekläert
wg-quick benotzenDNS fir déi ganz Maschinn, soulaang den Tunnel aktiv ass, duerno restauréiertKee Resolver pro Domain; Skripter kënnen een dobäisetzen, an hiert Opraume bleift dann deng Saach
E Client benotzen, deen d’Resolvere pro Domain auswieltNëmmen déi Domainen, déi s de uginn hues, benotzen de Remote-ResolverPréif, wéi en d’Search Domaine behandelt, a wat mat den Nimm geschitt, wann den Tunnel stoppt

Resolvere pro Domain mat /etc/resolver

D’Manpage op dengem Mac, man 5 resolver, beschreift Resolver-Konfiguratiounsfichiere fir eenzel Domainen, déi aus /etc/resolver gelies ginn. Bei engem Fichier an dësem Dossier déngt den Numm vum Fichier als Domainnumm, an d’Schlësselwuert nameserver gëtt d’Adress vun engem Nummserver un, deen de Resolver ufroe soll. D’Säit beschreift, datt Ufroen un d’Konfiguratioun weidergeleet ginn, där hiren Domain am beschte mam Numm iwwereneestëmmt. Fir d’Beispill géif e Fichier mam Numm /etc/resolver/corp.example.com dat hei enthalen:

nameserver 10.20.0.53

Déi selwecht Säit dokumentéiert port an déi aner Schlësselwierder. Si seet och, datt Resolver-Konfiguratiounen aus anere Quelle komme kënnen, zum Beispill aus der System-Configuration-Datebank, an datt d’Benotzer keng Unhuelen doriwwer solle maachen, wou d’Konfiguratioun hierkënnt.

Kenn hir Grenzen, ier s de dech drop verléiss:

  • Fir de Fichier unzeleeën, brauchs de Administratorrechter.
  • De Fichier bleift do, egal ob den Tunnel aktiv ass oder net. Näischt läscht en, wann den Tunnel stoppt: Hien nennt fir dësen Domain ëmmer nach 10.20.0.53, e Server, deen eventuell nëmmen duerch den Tunnel erreechbar ass.
  • Et ass e Mechanismus vu macOS, keng WireGuard-Astellung. Wéi dee Fichier mat der offizieller WireGuard-App zesummespillt, wärend déi verbonnen ass, gouf hei net gekläert: D’App schéckt all Ufro als éischt un den DNS vum Tunnel. Gëff net dovun aus, datt dat eent dat anert iwwersteiert; préif d’Resultat mat scutil --dns an enger richteger Opléisung, wéi ënne beschriwwen.

Wat „Exclude private IPs“ ännert

An der offizieller App fir macOS erschéngt dës Checkbox am Tunnel-Editor, wann d’Konfiguratioun een eenzege Peer huet, deem seng AllowedIPs all IPv4-Adress ofdeckt (0.0.0.0/0). Wann d’App op Däitsch ugewise gëtt, heescht d’Optioun „Private IPs ausschließen“.

Wann s de se aktivéiers, gëtt AllowedIPs ëmgeschriwwen:

  • 0.0.0.0/0 gëtt duerch eng fix Lëscht ersat, déi de Quellcode als all net-privat IPv4-Adresse beschreift. Si léisst déi privat Beräicher 10.0.0.0/8, 172.16.0.0/12 an 192.168.0.0/16 ewech.
  • D’DNS-Serveradresse vun der Konfiguratioun ginn dobäigesat, fir datt se am Tunnel bleiwen.
  • All aner IPv4-Entrée an dësem AllowedIPs gëtt och ersat.

Privat Adresse ginn dann iwwer deng normal Verbindung eraus. Däi lokaalt Netzwierk gëtt ausserhalb vum Tunnel erreechbar. Privat Netzwierker op der anerer Säit verloossen den Tunnel och: Ausser den dobäigesaten DNS-Serveradresse ginn se net méi duerch den Tunnel erreecht.

D’Optioun ännert nëmme Routen. D’DNS-Astellunge bleiwen, wéi se waren, an d’Ufroe ginn ëmmer nach als éischt un den DNS-Server vum Tunnel. Si wielt kee Resolver pro Domain.

Kontrolléieren, wat macOS wierklech benotzt

Dräi Kommandoe beäntweren dräi verschidde Froen. Ersetz déi fiktiv Nimm an Adressen duerch deng. Si liesen d’Konfiguratioun oder maachen Opléisungen; si ännere keng Astellung.

D’Resolver-Konfiguratioun liesen

scutil --dns

Dat beäntwert: Wéi eng Resolveren huet macOS kritt, a fir wéi eng Domainen? Kuck no dem DNS-Server vum Tunnel, dem Domain, deen zu all Resolver gehéiert, de Search Domainen an der Interface, un déi all Resolver gebonnen ass (scoped). E Resolver ouni Domain an e Resolver fir corp.example.com spillen ënnerschiddlech Rollen. Deen éischte Resolver an der Lëscht ass net onbedéngt deen, dee fir all Ufro benotzt gëtt.

scutil --dns weist d’Konfiguratioun, net d’Resultat vun enger Opléisung.

Iwwer de System opléisen

dscacheutil -q host -a name server.corp.example.com

Dat beäntwert: Wat gëtt macOS zréck, wann et iwwer seng Standardopriff no dësem Numm gefrot gëtt? Seng Manpage, man dscacheutil, seet, datt et eng Ufro mat de Standardopriff ausléist, an datt d’Resultat aus engem Cache komme kann. Et weist d’Adress, déi de System zréckgëtt, net, wéi en DNS-Server se geliwwert huet. Benotz de voll qualifizéierten Numm (FQDN), a vergläich d’Adress, déi zréckkënnt, mat där, déi s de erwaarts.

E Server direkt ufroen

dig @10.20.0.53 server.corp.example.com

Dat beäntwert: Kennt dëse Server den Numm, a kanns du en erreechen? dig @server schéckt d’Ufro direkt un de Server, deen s de nenns, an ëmgeet d’Auswiel vum Resolver duerch de System. Eng korrekt Äntwert beweist, datt de Server funktionéiert an erreechbar ass. Si beweist net, datt macOS dëse Server fir den Numm wiele wäert.

Mat der richteger Applikatioun testen

Maach de Service iwwer säi vollen Numm op, zum Beispill https://server.corp.example.com/. Dat préift och d’HTTPS-Zertifikat, dat nëmmen um richtegen Hostnumm gëlteg ass. Eng Applikatioun mat hirem eegenen DNS-Mechanismus kann sech anescht verhale wéi de System-Resolver. Äntwerten aus dem Cache kënnen eng Ännerung verstoppen: Test, nodeems s de eng Astellung geännert hues, nach eng Kéier mat Nimm, bei deenen s de déi erwaart Äntwert kenns.

Heefeg Falen

SymptomWat ze kontrolléieren ass
Nëmmen de kuerzen Numm geet netDe Search Domain: feelt, oder gëtt vun dengem Client net ugewannt. Test de vollen Numm
De vollen Numm geet net, d’Adress äntwertD’Resolveren an hir Domainen an scutil --dns; wat de System mat dscacheutil zréckgëtt
All Numm geet duerch den TunnelDe Catch-all-DNS vun der offizieller App, oder d’Astellunge vu wg-quick fir déi ganz Maschinn
Lokal Nimm ginn no der Verbindung net méi opgeléistE Remote-Resolver, deen op alles äntwert; kuck d’Optiounen uewendriwwer
dig @10.20.0.53 äntwert, de Browser netdig huet d’Resolver-Auswiel vum System ëmgaangen; lies scutil --dns, a vergläich mat deem, wat dscacheutil zréckgëtt
Guer keng Äntwert vum Remote-DNS-ServerSeng Adress an AllowedIPs; kuck DNS, Routing a Split Tunneling
Nimm funktionéieren net méi, nodeems den Tunnel gestoppt assAstellungen, déi net restauréiert goufen, oder e Fichier, deen an /etc/resolver bliwwen ass
En Numm op .local gëtt net iwwer DNS opgeléistDe Multicast-DNS vu Bonjour benotzt dës Endung, an Apple huet Feeler bei der Opléisung vun Unicast-DNS-Nimm dokumentéiert, déi op .local ophalen

Wann net emol eng Adress äntwert, läit de Problem um Tunnel selwer: kuck Wann den Tunnel net zustane kënnt.

Firwat dat zielt, soubal méi Netzwierker verbonne sinn

Mat zwee Remote-Netzwierker, déi all hiren eegenen DNS-Server hunn, ass een eenzege Resolver fir ee vun hinne falsch: Kee vun deenen zwee Servere kennt d’Nimm vum aneren Netzwierk. Méi VPN-Clienten, déi all d’DNS-Astellunge vun der Maschinn änneren, kënnen sech och géigesäiteg stéieren, virun allem wann ee vun hinne stoppt. Fir zwee WireGuard-Tunnelle gläichzäiteg, Routen an DNS zesummen, kuck Méi WireGuard-Tunnellen op macOS.

Paart fir Split DNS benotzen

Paart Client ass ee vun de WireGuard-Clienten, déi e Resolver pro Domain auswielen. Säi Split DNS funktionéiert mat internen Nimm, déi s de fir all Verbindung ugëss.

Wat intern Nimm maachen

Näischt gëtt opgedeelt, soulaang s de net sees, wéi eng Nimm zum Remote-Netzwierk gehéieren. Maach an den Detailer vun der Verbindung Names op a wiel Add an internal name: zum Beispill int.example.com. Déi Nimm, an nëmmen déi, ginn duerch den Tunnel opgeléist. All aner behalen den DNS vun dësem Apparat:

  • int.example.com geet duerch den Tunnel bei de Remote-Resolver, 10.0.99.10;
  • google.com geet un den DNS vum WLAN, an deem s de grad bass.

Ausser du wiels ënner Settings › Resolvers en Ersatz-Resolver: Da kritt dee Resolver amplaz all aner Nimm ze beäntweren.

D’Zeil Look up with, uewen ënner Names, seet, wou déi intern Nimm nogekuckt ginn. Bleift se eidel, ass et den DNS vun der Konfiguratioun. Ouni internen Numm gëtt näischt opgedeelt: De Resolver, deen ënner DNS gewielt ass, äntwert op all Numm. Op macOS hänkt Paart déi intern Nimm als Match-Domainen un de gewielte Resolver.

Intern Nimm wielen e Resolver; si si keng Search Domainen. Paart applizéiert d’Search Domainen aus der DNS =-Zeil vun enger Konfiguratioun net: Si gi beim Import ewechgelooss, an den Import seet et. Benotz voll qualifizéiert Nimm, wéi server.int.example.com.

Intern Nimm gëtt et op Mac, iPhone an iPad. Si gehéieren zum erweiderten Networking: An der gratis Offer funktionéiere se op denger gratis Verbindung, op deenen anere kommen se mat Paart Pro.

Technesch Quellen

Iwwerpréiwung vun de Quellen: 7. Oktober 2026. Déi offiziell App a wg-quick sinn no hirem Upstream-Quellcode beschriwwen, net no engem Test vun all macOS-Versioun.