Méi WireGuard-Tunnellen op macOS: Optiounen, Routing an DNS

Zwee WireGuard-Tunnellen op engem Mac? Vergläich d’Optiounen, vermeit Konflikter bei Routen an DNS, a préif, ob béid Remote-Netzwierker richteg funktionéieren.

Du kanns op engem Mac méi WireGuard-Tunnelle benotzen, mat engem Client oder engem Setup op der Kommandozeil, deen dat ënnerstëtzt. Fir datt béid Remote-Netzwierker funktionéieren, muss de Client béid Tunnellen aktiv halen, macOS muss all Zil iwwer déi richteg Interface schécken, an den DNS muss all Numm richteg opléisen.

Dëse Guide deckt IPv4-Netzwierker of.

Zweemol „Verbonnen“ ze gesinn, geet net duer. Préif den Zougang zu engem richtege Service an all Netzwierk, wärend béid Tunnellen aktiv sinn.

Stand vun der offizieller App den 6. Oktober 2026: Déi publizéiert WireGuard-App fir macOS, déi mir bei eiser Upstream-Kontroll identifizéiert hunn, ass d’Versioun 1.0.16, mat der Reegel, datt nëmmen een Tunnel aktiv ka sinn. Multi-Tunnel-Patche goufe proposéiert, mä eis Kontroll huet weder en Upstream-Merge nach eng publizéiert Versioun fonnt, déi se enthält. Dat ass eng Limitt vun dëser Versioun vun der App, net eng Reegel vum WireGuard-Protokoll, déi nëmmen een Tunnel erlaabt. Kuck de Quellcode vun der offizieller App an hir Säit am App Store fir macOS.

Wiel, wéi s du béid Netzwierker erreechs

ApprocheWann et passtWat ze berécksiichtegen ass
An der offizieller App tëscht Konfiguratioune wiesselenDu brauchs ëmmer nëmmen ee Remote-NetzwierkDen Zougang iwwer den éischten Tunnel hält op, soubal s du wiessels.
wireguard-tools, wireguard-go an wg-quick benotzenDu kanns e Setup op der Kommandozeil mat getrennten Interfacen ënnerhalenRouting, DNS an d’Opraume muss du op dengen installéierte Versioune préiwen. Uleedunge fir Linux gëllen net onbedéngt fir macOS.
E grafesche Client mat gläichzäitegen Tunnelle benotzenDu wëlls onofhängeg Verbindungen, ouni dech selwer ëm d’Interfacen ze këmmerenPréif seng macOS-Ënnerstëtzung, säin DNS-Verhalen a wat geschitt, wann een Tunnel stoppt.
Méi Netzwierker iwwer een Tunnel erreechenEn Administrateur kann e Gateway ariichten, deen Zougang zu dësen Netzwierker huetDe Gateway brauch Forwarding, Firewall-Reegelen a Retour-Routen. D’Konfiguratioun vun dengem Mac eleng kann dësen Zougang net schafen.

Méi [Peer]-Abschnitter an enger WireGuard-Konfiguratioun sinn eppes anescht wéi zwou onofhängeg Tunnel-Interfacen. Konfiguratiounen zesummenzeleeën ass keng Ofkierzung: eng Interface huet nëmmen ee private Schlëssel, an all Remote-Peer muss esou konfiguréiert sinn, datt hien en erkennt.

Fir d’Kommandozeil fänk mat den Installatiounsuleedunge vu WireGuard, dem Handbuch vu wg-quick an der Darwin-Implementatioun un. D’Optioun op der Kommandozeil ass no hirer Upstream-Dokumentatioun an hirem Quellcode beschriwwen; de validéierte Paart-Setup beweist net, wéi sech eng separat Installatioun op der Kommandozeil verhält.

Zwou Route virbereeden, déi niewenteneen existéiere kënnen

Wat AllowedIPs wierklech mécht

Wann s du Verkéier schécks, ginn zwou Entscheedunge geholl:

  1. De Betribssystem wielt fir d’Adress vum Zil eng Route an eng Interface.
  2. Op enger WireGuard-Interface bestëmmt AllowedIPs, wéi ee Peer dëst Zil kritt. Et limitéiert och, wéi eng Quelladresse vun dësem Peer beim erakommende Verkéier ugeholl ginn.

Clienten installéieren normalerweis Routen am Betribssystem aus AllowedIPs; wg selwer riicht dës Routen net an. Den Ënnerscheed zielt, wann s du Cliente vergläichs oder en eegent Routing benotz. Kuck d’Erklärung vu WireGuard zum Cryptokey-Routing.

Fir e gewéinlecht Split Tunneling huel déi Remote-Ziler op, déi s du brauchs, amplaz vun all Adress am Internet. Hal d’Konfiguratioun am Aklang mat de Reegele vum Administrateur op der anerer Säit.

En einfacht Beispill mat zwee Standuerter

Dat si fiktiv Netzwierker an Nimm, keng komplett Konfiguratioun:

ZilVirgesinne WeeBeispill
Standuert ATunnel A10.20.0.0/24; Service 10.20.0.20; DNS 10.20.0.53
Standuert BTunnel B10.30.0.0/24; Service 10.30.0.20; DNS 10.30.0.53
Däi lokaalt NetzwierkLokal Verbindung192.168.50.0/24
Aner Ziler am InternetNormal InternetverbindungKeng Full-Tunnel-Route an dësem Beispill

De betraffene Peer hätt an A AllowedIPs = 10.20.0.0/24, a B AllowedIPs = 10.30.0.0/24. All DNS-Server läit an deem Beräich, deen iwwer säin Tunnel leeft.

Préif och d’Adressen an d’Maske vun den Interfacen. Getrennt zougewisen Tunneladresse wéi 10.200.1.2/32 an 10.200.2.2/32 verhënneren zum Beispill, datt dat selwecht verbonnent Subnetz iwwer béid Interfacen erakënnt. Benotz d’Adressen, déi all Administrateur zougewisen huet, amplaz se willkürlech z’änneren.

All ëffentleche WireGuard-Endpunkt muss iwwer eng funktionéierend Basisverbindung erreechbar bleiwen. Eng Route, déi de verschlësselten Transport vum Endpunkt selwer zréck an en ongëeegenten Tunnel schéckt, kann d’Handshakes verhënneren.

Iwwerschneidungen a Standardrouten

Wann déi zwee Standuerter e Server op 192.168.1.10 hunn, kann dat gewéinlecht Routing, dat nëmmen op d’Adress vum Zil kuckt, net erkennen, wéi ee Standuert s du mengs. Verschidden DNS-Nimm, déi dës selwecht Adress zréckginn, léisen déi Ambiguitéit net.

Préif och Konflikter mat dengem lokale LAN. E Remote-192.168.50.0/24 kollidéiert an eisem Beispill mam lokalen Netzwierk. Méi spezifesch Route kënnen eenzel Ziler lenken, mä si gi keen normalen, gläichzäitegen Zougang zu zwou verschiddene Maschinne mat där selwechter Adress. Nei nummeréieren, NAT op engem Gateway oder en isoléiert Ëmfeld pro Standuert sinn Optiounen um Niveau vun der Architektur.

0.0.0.0/0 deckt all IPv4-Ziler of. Zwee voll Tunnelle kämpfen ëm dës breet Ofdeckung. Gëff net dovun aus, datt ëmmer de leschten aktivéierten Tunnel gewënnt: installéiert Routen, wéi wäit se gëllen, an d’Reegele vum Client beaflossen d’Resultat. Eng méi spezifesch Route huet am jeeweilege Routing-Kontext normalerweis de Virrang; kuck no, wéi de Verkéier wierklech leeft.

DNS onofhängeg vum Routing zum Lafe bréngen

Split Tunneling wielt de Wee fir eng IP-Adress. Split DNS wielt de Resolver fir en Numm. Dacks brauchs du béides.

An eisem Beispill sollen Nimm ënner a.example.com 10.20.0.53 benotzen, Nimm ënner b.example.com 10.30.0.53, an all aner Nimm de passende lokalen oder ëffentleche Resolver behalen. Béid DNS-Serveren op der anerer Säit musse selwer erreechbar sinn.

E Search Domain an en Domain, deen de Resolver bestëmmt, sinn zwou verschidde Saachen. E Search Domain ka e kuerzen Numm wéi server zu server.a.example.com ergänzen; hie beweist eleng net, datt d’Ufroe fir dësen Domain un den DNS-Server vun A ginn. Benotz voll qualifizéiert Nimm (FQDN), wann s du zwee Standuerter préifs.

Den aktuelle Code vun den Netzwierkastellunge vun der offizieller App setzt eng DNS-Reegel, déi op all Domain passt, soubal DNS-Servere konfiguréiert sinn. D’Darwin-Skript vu wg-quick ännert mat networksetup d’DNS-Astellunge vum Netzwierkservice a restauréiert beim Opraumen déi gespäichert Astellungen. Gëff bei kengem vun deenen zwee Mechanismen dovun aus, datt se fir zwee Tunnellen en onofhängegen DNS pro Domain ariichten, just well all Konfiguratioun eng DNS-Zeil huet. Zwou Instanzen, déi gemeinsam Astellungen änneren, kënnen sech och stéieren, wann eng stoppt. Préif d’Verhale vun dengem Client a vun der installéierter Versioun.

Ënner macOS weist scutil --dns déi konfiguréiert Resolveren, och déi scoped a supplemental Entréeën. Lies hir Domainen, Serveren an hire Beräich vun der Interface; deen éischte Resolver an der Lëscht ass net onbedéngt deen, dee fir all Ufro benotzt gëtt. Applikatioune mat hirem eegenen DNS-Mechanismus kënnen sech anescht verhale wéi de System-Resolver.

Préiwen, ob béid Zougäng wierklech funktionéieren

Benotz e Service, vun deem s du weess, datt en op all Standuert disponibel ass. D’Befeeler hei ënnendrënner weisen d’Kontrolle fir dat fiktiivt Beispill; ersetz d’Adressen, d’Nimm an d’Ports duerch deng eegen. Si ënnersichen d’Routing a probéiere Verbindungen; si maache kee VPN un an änneren och keng VPN-Konfiguratioun.

1. Mat all Tunnel eleng eng Referenz festhalen

Mat A eleng aktiv préifs du seng Route an e bekannte Service:

route -n get 10.20.0.20
nc -vz -G 5 10.20.0.20 443

Widderhuel dat mat B eleng:

route -n get 10.30.0.20
nc -vz -G 5 10.30.0.20 443

Lies an all Routing-Resultat d’Interface a fann eraus, zu wéi engem Tunnel se gehéiert. Eng Interface mam Numm utun kann zu engem anere VPN gehéieren; hiren Numm eleng ass kee Beweis.

Eng erfollegräich TCP-Verbindung weist, datt de Port erreechbar ass, net datt d’Applikatioun an Uerdnung ass. Maach och de richtege Service op. Ping ass fakultativ: en Host kann ICMP blockéieren, wärend säi Service funktionéiert.

2. Mat A a B gläichzäiteg aktiv widderhuelen

Maach d’Route- a Service-Kontrollen nach eng Kéier, ouni ee vun deenen zwee Tunnellen auszeschalten. Hal op all Standuert eng richteg Sessioun op a kuck no, ob béid benotzbar bleiwen.

Préif fir all Peer mat der Diagnos vum Client e rezenten Handshake a Verkéier, deen ukënnt. Generéier Verkéier, ier s du en alen Handshake interpretéiers: en Tunnel ouni Aktivitéit muss net permanent Paketen austauschen. Wou WireGuard-Interfacen op der Kommandozeil fir wg siichtbar sinn, kënnen dës Ufroen hëllefen:

sudo wg show all latest-handshakes
sudo wg show all transfer

Si si kee universelle Wee, fir Network-Extension-Tunnellen z’ënnersichen, déi vun enger App geréiert ginn. Eng Interface, déi an wg feelt, beweist net, datt sou eng App getrennt ass.

3. Nimm iwwer macOS an d’Applikatioun préiwen

scutil --dns
dscacheutil -q host -a name server.a.example.com
dscacheutil -q host -a name server.b.example.com

Vergläich d’Adressen, déi zréckkommen, mat de virgesinne Standuerter. Maach dann all Service iwwer säi vollen Hostnumm op. Dat préift och, wéi d’Applikatioun d’Nimm wierklech opléist, a bei HTTPS d’Validatioun vum Zertifikat. E korrekten DNS fléckt keen ongëltegen Zertifikat.

dig @10.20.0.53 server.a.example.com kann den DNS-Server vun A direkt testen. Dat beweist net, datt macOS oder däi Browser dëse Resolver gewielt huet. Äntwerten aus dem Cache kënnen och e Problem mam Resolver verstoppen; kontrolléier d’Verhale mat bekannten Entréeën an den Applikatiounen, op déi s du dech wierklech verléiss.

4. Lokalen Zougang, Internetzougang an d’Stoppe vun engem Tunnel préiwen

ZoustandKontrollen
Nëmmen AService vun A per IP an Numm; lokal Ressource; ëffentlech Websäit
Nëmme BService vu B per IP an Numm; lokal Ressource; ëffentlech Websäit
A + BBéid Servicer per IP an Numm, wärend béid aktiv sinn; lokal Ressource; ëffentlech Websäit
A stoppenRoute, DNS a Service vu B; all Ënnerbriechung a wéi d’Verbindung erëm kënnt; lokalen an Internetzougang
B stoppen, nodeems béid erëm verbonne sinnRoute, DNS a Service vun A; all Ënnerbriechung a wéi d’Verbindung erëm kënnt; lokalen an Internetzougang

Notéier, wat s du erwaarts a wat s du gesäis, an net just „verbonnen“. Benotz d’IPv4-Adressen an d’Nimm, déi fir dëse Setup konfiguréiert sinn.

Wann déi zweet Verbindung eppes futti mécht

SymptomNächst Kontroll
B aktivéieren trennt AD’Aktivéierungsreegel vum Client; dat ka geschéien, ier d’Routing iwwerhaapt eng Roll spillt.
Béid gesinn aktiv aus, mä e Standuert äntwert net per IPRoute vum Zil, Präfixer, déi sech iwwerschneiden, Handshake, Remote-Firewall a Retour-Wee.
IP funktionéiert, den Hostnumm net, oder e féiert op de falsche StanduertWiel vum Resolver, Route zum DNS-Server, IPv4-Adressen, déi zréckkommen, a Cache-Äntwerten.
Den Internet oder lokal Ressourcen erreechs du net méiBreet Routen, Full-Tunnel-Reegel, Ersatz-Resolver a gewollt Spärreegelen.
A stoppe mécht d’Nimm vu B futtiGemeinsam DNS-Ännerungen an d’Reiefolleg vun der Restauratioun; préif scutil --dns nach eng Kéier.
Den Handshake klappt, e Service awer netForwarding op der anerer Säit, Retour-Routing, Firewall, ob de Service lauschtert; MTU, wann et just bei méi groussen Transferten hapert.

Fir en Tunnel, deen ni en Handshake zustane bréngt, kuck Wann den Tunnel net zustane kënnt. Fir de Bezuch tëscht DNS a Routen, kuck DNS, Routing a Split Tunneling.

Paart fir dëse Setup benotzen

Paart Client ass eng vun de grafeschen Optiounen, fir getrennt WireGuard-Verbindungen op engem Mac aktiv ze halen, wann hir Routen niewenteneen existéiere kënnen. Gläichzäiteg Verbindunge gëtt et mat Gratis wéi mat Pro. Erweidert Networking gëtt et op enger gratis Verbindung, déi s du auswiels, a mat Pro op all Verbindung.

Fir d’Nimm vun all Standuert erkläert de Paart-Guide zu Split DNS, wéi s du déi intern Nimm an hire Resolver festlees. Dës Uleedunge si spezifesch fir Paart.

Et gëtt operationell Grenzen. Datt d’Verbindunge gläichzäiteg lafen, berout op engem Verhale vu macOS, dat mir observéiert hunn, net op enger Garantie vun Apple. Paart mellt Iwwerschneidungen, déi et observéiert; et decidéiert net, wéi eng konkurréierend Route gewanne soll. Am validéierte Paart-Setup um Mac huet d’Stoppe vun enger Verbindung déi aner ënnerbrach, déi sech duerno vu selwer erëm verbonnen hunn. Plang dës Ënnerbriechung an deng Aarbechtsweis an.

Um iPhone an um iPad ënnerstëtzt Paart ëmmer nëmmen eng aktiv Verbindung. Iwwerdréi de Mac-Setup net op dës Apparater.

Technesch Quellen

Iwwerpréiwung vun de Quellen: 6. Oktober 2026. Méi aktiv Tunnellen, d’Koexistenz vun de Routen, den DNS an d’Verhalen, wann eng Verbindung stoppt an erëm kënnt, goufen an den Tester validéiert, déi mir virdru mat Paart um Mac gemaach hunn. D’Optioun op der Kommandozeil ass no den Upstream-Quellen dokumentéiert an net als Deel vun dësen Tester duergestallt.