Die systemweite Proxy-Konfiguration unter macOS leitet den gesamten Netzwerkverkehr von Anwendungen, die die System-Proxy-Einstellungen respektieren, über einen bestimmten Proxy-Server. Dies wird typischerweise über die Systemeinstellungen oder das Befehlszeilendienstprogramm networksetup verwaltet.
macOS bietet einen zentralen Mechanismus zur Konfiguration von Proxy-Einstellungen, den die meisten Anwendungen, einschließlich Webbrowser (Safari, Chrome, Firefox standardmäßig), Befehlszeilentools (curl, wget) und andere netzwerkfähige Software, automatisch übernehmen. Dies gewährleistet ein konsistentes Netzwerkverhalten über das gesamte Betriebssystem hinweg, ohne eine Konfiguration pro Anwendung.
Konfigurationsmethoden
Es gibt zwei primäre Methoden zur Konfiguration systemweiter Proxys unter macOS:
- Grafische Benutzeroberfläche (GUI): Verwendung der Anwendung Systemeinstellungen. Dies eignet sich für interaktive, einmalige Einrichtungsarbeiten.
- Kommandozeilenschnittstelle (CLI): Einsatz des Dienstprogramms
networksetup. Diese Methode wird für Skripte, Automatisierung oder Fernverwaltung bevorzugt.
GUI-Konfiguration: Systemeinstellungen
So konfigurieren Sie Proxy-Einstellungen über die macOS Systemeinstellungen:
- Öffnen Sie die Systemeinstellungen.
- Navigieren Sie in der Seitenleiste zu Netzwerk.
- Wählen Sie die aktive Netzwerkschnittstelle (z. B. WLAN, Ethernet) aus der Liste aus.
- Klicken Sie auf die Schaltfläche Details... für die ausgewählte Schnittstelle.
- Wählen Sie im neuen Fenster in der Seitenleiste Proxies aus.
Im Bereich Proxies stehen mehrere Optionen zur Verfügung:
-
Automatische Proxy-Konfiguration:
- Autom. Proxy-Ermittlung: Ermöglicht die Ermittlung von Proxy-Einstellungen über das Web Proxy Auto-Discovery Protocol (WPAD).
- Automatische Proxy-Konfiguration: Gibt eine URL zu einer Proxy Auto-Configuration (PAC)-Datei an.
-
Manuelle Proxy-Konfiguration:
- Web-Proxy (HTTP): Konfiguriert einen HTTP-Proxy für unverschlüsselten Webverkehr.
- Sicherer Web-Proxy (HTTPS): Konfiguriert einen HTTPS (SSL/TLS)-Proxy für verschlüsselten Webverkehr.
- FTP-Proxy: Konfiguriert einen Proxy für das File Transfer Protocol.
- SOCKS-Proxy: Konfiguriert einen SOCKS-Proxy, der verschiedene Arten von Netzwerkverkehr verarbeiten kann.
- Gopher-Proxy: (Veraltet) Konfiguriert einen Proxy für das Gopher-Protokoll.
- Streaming-Proxy (RTSP/RTSP): Konfiguriert Proxys für das Real-Time Streaming Protocol.
Für jeden manuellen Proxy-Typ:
- Server: Geben Sie die IP-Adresse oder den Hostnamen des Proxy-Servers ein.
- Port: Geben Sie die Portnummer ein, auf der der Proxy-Server lauscht.
- Proxy-Server erfordert Passwort: Aktivieren Sie dieses Kontrollkästchen, wenn eine Authentifizierung erforderlich ist. Geben Sie Benutzername und Passwort ein.
Proxy-Umgehungseinstellungen
Das Feld "Proxy-Einstellungen für diese Hosts & Domains umgehen" ermöglicht die Angabe von Zielen, die den konfigurierten Proxy nicht verwenden sollen. Geben Sie Hostnamen, Domainnamen oder IP-Adressen durch Kommas getrennt ein. Wildcards (*) werden für den Domain-Abgleich unterstützt.
Beispiel:
*.local, 192.168.1.0/24, localhost, 127.0.0.1
CLI-Konfiguration: networksetup
Das Befehlszeilendienstprogramm networksetup bietet umfassende Kontrolle über Netzwerkeinstellungen, einschließlich Proxys. Es arbeitet mit "Netzwerkdiensten", die den in den Systemeinstellungen aufgeführten Schnittstellen entsprechen (z. B. "Wi-Fi", "Ethernet").
Auflisten von Netzwerkdiensten
Identifizieren Sie vor der Konfiguration den genauen Namen Ihres Netzwerkdienstes:
networksetup -listallnetworkservices
Beispielausgabe:
An asterisk (*) denotes that a network service is disabled.
Wi-Fi
Ethernet
Bluetooth PAN
Thunderbolt Bridge
Verwenden Sie den Namen genau so, wie er erscheint (z. B. "Wi-Fi").
HTTP/HTTPS-Proxy einrichten
So richten Sie einen Web-Proxy (HTTP) und einen sicheren Web-Proxy (HTTPS) für einen Dienst ein:
# HTTP-Proxy einrichten (IP-Adresse:Port)
networksetup -setwebproxy "Wi-Fi" 192.168.1.100 8080
# HTTPS-Proxy einrichten (IP-Adresse:Port)
networksetup -setsecurewebproxy "Wi-Fi" 192.168.1.100 8080
Um die Authentifizierung einzuschließen:
# HTTP-Proxy mit Authentifizierung einrichten
networksetup -setwebproxy "Wi-Fi" 192.168.1.100 8080 username password
# HTTPS-Proxy mit Authentifizierung einrichten
networksetup -setsecurewebproxy "Wi-Fi" 192.168.1.100 8080 username password
Hinweis: Die direkte Angabe von Anmeldeinformationen in der Befehlszeile ist im Allgemeinen unsicher, da sie in der Shell-Historie gespeichert werden können. Ziehen Sie alternative Methoden wie Umgebungsvariablen oder Keychain für sensible Anmeldeinformationen in Skripten in Betracht.
SOCKS-Proxy einrichten
So richten Sie einen SOCKS-Proxy ein:
networksetup -setsocksfirewallproxy "Wi-Fi" 192.168.1.100 1080
Mit Authentifizierung (ähnlicher Sicherheitshinweis wie oben):
networksetup -setsocksfirewallproxy "Wi-Fi" 192.168.1.100 1080 username password
Proxys deaktivieren
So deaktivieren Sie bestimmte Proxys:
networksetup -setwebproxystate "Wi-Fi" off
networksetup -setsecurewebproxystate "Wi-Fi" off
networksetup -setsocksfirewallproxystate "Wi-Fi" off
Um alle manuellen Proxys für einen Dienst zu deaktivieren:
networksetup -setwebproxystate "Wi-Fi" off
networksetup -setsecurewebproxystate "Wi-Fi" off
networksetup -setftpproxystate "Wi-Fi" off
networksetup -setsocksfirewallproxystate "Wi-Fi" off
# ... und so weiter für andere Proxy-Typen
Automatische Proxy-Konfiguration (PAC-Datei) einrichten
So geben Sie eine PAC-Datei-URL an:
networksetup -setautoproxyurl "Wi-Fi" http://proxy.example.com/proxy.pac
So aktivieren Sie die automatische Proxy-Ermittlung (WPAD):
networksetup -setautoproxydiscovery "Wi-Fi" on
Proxy-Umgehungsdomänen einrichten
So konfigurieren Sie Domänen, die den Proxy umgehen:
networksetup -setproxybypassdomains "Wi-Fi" "*.local" "192.168.1.0/24" "localhost"
Die Argumente nach dem Dienstnamen sind die Umgehungseinträge. Um bestehende Umgehungseinträge zu löschen:
networksetup -setproxybypassdomains "Wi-Fi" ""
Erläuterung der Proxy-Typen
| Proxy-Typ | Verarbeitetes Protokoll | Beschreibung