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
| Approche | Wann et passt | Wat ze berécksiichtegen ass |
|---|---|---|
| An der offizieller App tëscht Konfiguratioune wiesselen | Du brauchs ëmmer nëmmen ee Remote-Netzwierk | Den Zougang iwwer den éischten Tunnel hält op, soubal s du wiessels. |
wireguard-tools, wireguard-go an wg-quick benotzen | Du kanns e Setup op der Kommandozeil mat getrennten Interfacen ënnerhalen | Routing, 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 benotzen | Du wëlls onofhängeg Verbindungen, ouni dech selwer ëm d’Interfacen ze këmmeren | Préif seng macOS-Ënnerstëtzung, säin DNS-Verhalen a wat geschitt, wann een Tunnel stoppt. |
| Méi Netzwierker iwwer een Tunnel erreechen | En Administrateur kann e Gateway ariichten, deen Zougang zu dësen Netzwierker huet | De 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:
- De Betribssystem wielt fir d’Adress vum Zil eng Route an eng Interface.
- 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:
| Zil | Virgesinne Wee | Beispill |
|---|---|---|
| Standuert A | Tunnel A | 10.20.0.0/24; Service 10.20.0.20; DNS 10.20.0.53 |
| Standuert B | Tunnel B | 10.30.0.0/24; Service 10.30.0.20; DNS 10.30.0.53 |
| Däi lokaalt Netzwierk | Lokal Verbindung | 192.168.50.0/24 |
| Aner Ziler am Internet | Normal Internetverbindung | Keng 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
| Zoustand | Kontrollen |
|---|---|
| Nëmmen A | Service vun A per IP an Numm; lokal Ressource; ëffentlech Websäit |
| Nëmme B | Service vu B per IP an Numm; lokal Ressource; ëffentlech Websäit |
| A + B | Béid Servicer per IP an Numm, wärend béid aktiv sinn; lokal Ressource; ëffentlech Websäit |
| A stoppen | Route, 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 sinn | Route, 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
| Symptom | Nächst Kontroll |
|---|---|
| B aktivéieren trennt A | D’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 IP | Route 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 Standuert | Wiel vum Resolver, Route zum DNS-Server, IPv4-Adressen, déi zréckkommen, a Cache-Äntwerten. |
| Den Internet oder lokal Ressourcen erreechs du net méi | Breet Routen, Full-Tunnel-Reegel, Ersatz-Resolver a gewollt Spärreegelen. |
| A stoppe mécht d’Nimm vu B futti | Gemeinsam DNS-Ännerungen an d’Reiefolleg vun der Restauratioun; préif scutil --dns nach eng Kéier. |
| Den Handshake klappt, e Service awer net | Forwarding 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
- WireGuard: Interfacen a Cryptokey-Routing — Protokoll a Wiel vum Peer.
- Referenz zu wg
—
AllowedIPsan Ufroe wärend dem Betrib. - Referenz zu wg-quick an Darwin-Quellcode — Ariichte vun de Routen an DNS-Behandlung ënner macOS. Den Darwin-Quellcode ass d’Referenz fir d’Plattform.
- Netzwierkastellunge vu wireguard-apple — Routen an DNS-Astellungen am offizielle Client.
- Verlaf vu wireguard-apple a Virschlag fir Multi-Tunnel-Patchen — e Virschlag vun engem Upstream-Merge an enger publizéierter App ënnerscheeden.
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.