WireGuard – Installationsanleitung
macOS · Apple Silicon (arm64) für den Systemdienst
Einleitung
WireGuard ist eine moderne VPN-Lösung, mit der Sie eine sichere Verbindung zu Ihrem Unternehmensnetzwerk oder Ihrer Kanzlei herstellen können.
Diese Anleitung beschreibt die Installation und Einrichtung von WireGuard für macOS.
Hinweis: Für die Einrichtung benötigen Sie eine WireGuard-Konfigurationsdatei (.conf) oder einen QR-Code, den Sie von Ihrem Administrator erhalten.
Installation unter macOS
Schritt 1 – WireGuard installieren
- Öffnen Sie den App Store.
- Suchen Sie nach WireGuard.
- Installieren Sie die Anwendung.
Schritt 2 – WireGuard starten
Starten Sie die WireGuard-App.
Schritt 3 – Konfiguration importieren
- Klicken Sie auf Import Tunnel(s) from File.
- Wählen Sie Ihre Konfigurationsdatei aus.
Alternativ kann die Konfigurationsdatei per Drag & Drop in das WireGuard-Fenster gezogen werden.
Schritt 4 – VPN aktivieren
- Wählen Sie den Tunnel aus.
- Klicken Sie auf Activate.
Beim ersten Verbindungsaufbau fordert macOS zur Genehmigung der VPN-Konfiguration auf. Bestätigen Sie diese mit Ihrem Kennwort oder Touch ID.
On-Demand aktivieren (für den App-Betrieb empfohlen)
Warum sollte On-Demand aktiviert werden?
Ist On-Demand aktiviert, stellt WireGuard die VPN-Verbindung nach einem Neustart oder nach einer Unterbrechung der Netzwerkverbindung automatisch wieder her.
Einrichtung
- Öffnen Sie WireGuard.
- Wählen Sie den gewünschten Tunnel aus.
- Klicken Sie auf Edit.
- Aktivieren Sie die Option On-Demand.
- Speichern Sie die Änderung.
Funktion prüfen
- Aktivieren Sie den Tunnel.
- Starten Sie den Mac neu.
- Nach der Anmeldung sollte sich der Tunnel automatisch wieder verbinden.
Empfehlung: Für die Nutzung über die WireGuard-App ist On-Demand die einfachste automatische Verbindungsart. Wenn derselbe Tunnel als Systemdienst eingerichtet wird, darf er nicht zusätzlich per App oder On-Demand aktiviert werden.
Tunnel als macOS-Systemdienst installieren
Ziel
Ein WireGuard-Tunnel soll auf einem Mac systemweit laufen, damit mehrere gleichzeitig angemeldete macOS-Benutzer denselben VPN-Tunnel verwenden können.
Die normale WireGuard-App wird dabei nicht für den dauerhaften Betrieb verwendet. Stattdessen läuft WireGuard über wg-quick als LaunchDaemon.
1. Architektur des Macs prüfen
Im Terminal:
uname -m
Bei Apple Silicon:
arm64
Bei Intel:
x86_64
Diese Anleitung geht von Apple Silicon / arm64 aus.
2. Homebrew installieren
Prüfen:
brew --version
Falls command not found:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Danach die von Homebrew angezeigten Next steps ausführen.
Bei Apple Silicon sind das typischerweise:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
Prüfen:
brew --version
3. WireGuard-Tools installieren
brew install wireguard-tools
Prüfen:
wg --version
4. Vorhandenen WireGuard-Tunnel exportieren
In der normalen WireGuard-App den funktionierenden Tunnel exportieren.
Beispiel:
RA002.conf
Wichtig: Die .conf enthält den PrivateKey und sollte nicht öffentlich weitergegeben werden.
5. Konfiguration systemweit ablegen
Verzeichnis erstellen:
sudo mkdir -p /opt/homebrew/etc/wireguard
Konfiguration kopieren:
sudo cp ~/Desktop/RA002.conf /opt/homebrew/etc/wireguard/RA002.conf
Dateirechte setzen:
sudo chmod 600 /opt/homebrew/etc/wireguard/RA002.conf
Prüfen:
ls -l /opt/homebrew/etc/wireguard/RA002.conf
Es sollte ungefähr so aussehen:
-rw------- 1 root ...
6. Tunnel zunächst manuell testen
Die normale WireGuard-App vorher deaktivieren.
Dann:
sudo wg-quick up /opt/homebrew/etc/wireguard/RA002.conf
Status:
sudo wg show
Danach prüfen, ob das Zielnetz erreichbar ist.
Beispiel:
Domainname.es.ra-micro.de
7. Zweiten macOS-Benutzer testen
Wichtig:
• Benutzer A angemeldet lassen
• Tunnel läuft weiterhin
• zu Benutzer B wechseln
• WireGuard-App bei Benutzer B nicht starten
Jetzt prüfen, ob Benutzer B ebenfalls das VPN-Ziel erreicht.
Wenn das funktioniert, ist bestätigt:
Mac
└── systemweiter WireGuard-Tunnel
├── Benutzer A
└── Benutzer B
8. WireGuard-App deaktivieren
In der normalen WireGuard-App:
• Tunnel deaktivieren
• On-Demand deaktivieren
• keinen automatischen Start über die App verwenden
Die App darf installiert bleiben.
9. LaunchDaemon erstellen
Datei:
/Library/LaunchDaemons/com.wireguard.ra002.plist
Erstellen:
cat <<'EOF' | sudo tee /Library/LaunchDaemons/com.wireguard.ra002.plist >/dev/null
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.wireguard.ra002</string>
<key>ProgramArguments</key>
<array>
<string>/opt/homebrew/bin/wg-quick</string>
<string>up</string>
<string>/opt/homebrew/etc/wireguard/RA002.conf</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>OnDemand</key>
<false/>
<key>TimeOut</key>
<integer>90</integer>
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/opt/homebrew/sbin:/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
</dict>
</dict>
</plist>
EOF
Syntax prüfen:
plutil -lint /Library/LaunchDaemons/com.wireguard.ra002.plist
Erwartet:
/Library/LaunchDaemons/com.wireguard.ra002.plist: OK
10. Rechte des LaunchDaemons setzen
sudo chown root:wheel /Library/LaunchDaemons/com.wireguard.ra002.plist
sudo chmod 644 /Library/LaunchDaemons/com.wireguard.ra002.plist
Prüfen:
ls -l /Library/LaunchDaemons/com.wireguard.ra002.plist
Erwartet ungefähr:
-rw-r--r-- 1 root wheel ...
11. Manuell gestarteten Tunnel beenden
sudo wg-quick down /opt/homebrew/etc/wireguard/RA002.conf
Prüfen:
sudo wg show
Jetzt sollte keine Ausgabe mehr erscheinen.
12. Systemdienst starten
sudo launchctl bootstrap system /Library/LaunchDaemons/com.wireguard.ra002.plist
Bei Erfolg erscheint meist keine Ausgabe.
Dann:
sudo wg show
Jetzt sollte wieder ein Interface erscheinen.
Beispielsweise:
interface: utun10
peer: ...
latest handshake: ...
transfer: ...
13. Funktion testen
Jetzt wieder:
• interne Webseite
• RDP
• Server
• Anwendung
testen.
Wenn das funktioniert, läuft der VPN-Tunnel bereits über den LaunchDaemon.
14. Neustart testen
Mac neu starten.
Danach nicht die WireGuard-App öffnen.
Im Terminal:
sudo wg show
Wenn wieder ein Tunnel angezeigt wird, startet WireGuard korrekt beim Systemstart.
Danach erneut das VPN-Ziel testen.
Wichtige Befehle für später
WireGuard-Status
sudo wg show
Dienststatus
sudo launchctl print system/com.wireguard.ra002
Dienst stoppen
sudo launchctl bootout system /Library/LaunchDaemons/com.wireguard.ra002.plist
Dienst wieder starten
sudo launchctl bootstrap system /Library/LaunchDaemons/com.wireguard.ra002.plist
Tunnel manuell starten
sudo wg-quick up /opt/homebrew/etc/wireguard/RA002.conf
Tunnel manuell beenden
sudo wg-quick down /opt/homebrew/etc/wireguard/RA002.conf
Für einen anderen Tunnel anpassen
Wenn der Tunnel z. B. statt
RA002
so heißt:
FirmaVPN
dann einfach überall ersetzen:
RA002.conf
durch:
FirmaVPN.conf
und:
com.wireguard.ra002
durch z. B.:
com.wireguard.firmavpn
Ergebnis
Am Ende sieht die Struktur so aus:
macOS
│
├── LaunchDaemon
│ └── wg-quick
│ └── FirmaVPN.conf
│
├── Benutzer A
│ └── nutzt VPN
│
└── Benutzer B
└── nutzt VPN
Der Tunnel gehört damit nicht mehr einem bestimmten macOS-Benutzer, sondern dem gesamten Mac. Das ist für den Fall mit mehreren gleichzeitig angemeldeten Benutzern die passende Variante.
Verbindung trennen
So trennen Sie die VPN-Verbindung:
- macOS: Im App-Betrieb „Deactivate“; bei einem Systemdienst die nachfolgenden launchd-Befehle verwenden.
Häufige Probleme
Keine Verbindung möglich
- Prüfen Sie, ob eine Internetverbindung besteht.
- Kontrollieren Sie Datum und Uhrzeit des Geräts.
- Stellen Sie sicher, dass die richtige Konfigurationsdatei verwendet wird.
- Prüfen Sie, ob der Tunnel aktiviert wurde.
Verbindung hergestellt, aber kein Zugriff auf interne Dienste
Mögliche Ursachen:
- Der Zielserver ist nicht erreichbar.
- Eine Firewall blockiert den Datenverkehr.
- Die VPN-Konfiguration ist veraltet oder fehlerhaft.
Wenden Sie sich in diesem Fall an Ihren Administrator.
Sicherheitshinweise
- Geben Sie Ihre WireGuard-Konfiguration niemals an Dritte weiter.
- Bewahren Sie Konfigurationsdateien sicher auf.
- Löschen Sie nicht mehr benötigte VPN-Konfigurationen.
- Installieren Sie die WireGuard-App nur aus dem Apple App Store und die WireGuard-Tools wie beschrieben über Homebrew.
- Bei Verlust eines Geräts informieren Sie umgehend Ihren Administrator, damit die betreffende VPN-Konfiguration gesperrt werden kann.