Wie richte ich Proxy-Einstellungen in WSL (Windows Subsystem for Linux) korrekt ein?
- Einleitung und Kontext
- Systemweite Umgebungsvariablen konfigurieren
- Proxy für apt, curl, wget und andere Programme
- WSL und Windows-Proxy-Synchronisation
- Authentifizierung, Sicherheit und Sonderfälle
- Praktische Beispiele und typische Fehler
- Zusammenfassung
Einleitung und Kontext
Beim Arbeiten mit WSL (Windows Subsystem for Linux) läuft eine Linux-Umgebung innerhalb von Windows. In Unternehmensnetzwerken oder bei besonderer Netzwerkkonfiguration ist es oft nötig, einen HTTP/HTTPS- oder SOCKS-Proxy zu verwenden, damit die Linux-Instanz Internetzugang erhält. Proxy-Einstellungen müssen sowohl für systemweite Tools als auch für Paketmanager, Shell-Sitzungen und grafische Anwendungen eingerichtet werden, damit Verbindungen korrekt über den Proxy laufen.
Systemweite Umgebungsvariablen konfigurieren
Die gängigste Methode besteht darin, die Umgebungsvariablen http_proxy, https_proxy und no_proxy zu setzen. Dies kann temporär in einer Shell erfolgen oder dauerhaft durch Einträge in der Profil-Datei. Für eine dauerhafte Konfiguration fügt man die Variablen in ~/.bashrc, ~/.profile oder /etc/profile hinzu. Die Werte werden in der Form http://benutzer:passwort@proxy-server:port angegeben. Bei Verwendung von Benutzernamen und Passwörtern ist wegen möglicher Sonderzeichen Vorsicht geboten; Zeichen wie @ oder : müssen URL-codiert werden. Die no_proxy-Variable erlaubt das Ausschließen bestimmter Hosts oder Domains vom Proxy, zum Beispiel für lokale Adressen wie localhost oder 192.168.0.0/16.
Proxy für apt, curl, wget und andere Programme
Einige Tools lesen Umgebungsvariablen automatisch, andere benötigen eigene Konfigurationsdateien. Der Paketmanager apt kann Proxy-Einstellungen in einer Datei unter /etc/apt/apt.conf.d/ festgelegt bekommen, zum Beispiel mit Einträgen für Acquire::http::Proxy und Acquire::https::Proxy. curl liest üblicherweise die Umgebungsvariablen, kann aber auch eine Konfigurationsdatei oder Kommandozeilenoptionen verwenden. wget verwendet sowohl Umgebungsvariablen als auch Einträge in ~/.wgetrc. Es ist wichtig, die Dokumentation des jeweiligen Programms zu prüfen, um sicherzustellen, dass die Proxy-Einstellung an der richtigen Stelle vorgenommen wird.
WSL und Windows-Proxy-Synchronisation
WSL ist in das Windows-Netzwerk eingebunden, nutzt jedoch nicht automatisch sämtliche Windows-Proxy-Einstellungen für alle Linux-Anwendungen. Manche Benutzer synchronisieren die Windows-Proxy-Konfiguration mit WSL, indem sie das Windows-Registry- oder netsh-WinHTTP-Profil auslesen und die entsprechenden Umgebungsvariablen in WSL setzen. Ein typischer Ansatz ist das Erstellen eines Startskripts in WSL, das beim Start die Windows-Proxy-Einstellungen per cmd.exe /c "netsh winhttp show proxy" abfragt, die Ausgabe parst und die Variablen für die Sitzung setzt oder in ~/.bashrc schreibt.
Authentifizierung, Sicherheit und Sonderfälle
Wenn der Proxy Authentifizierung verlangt, müssen Benutzername und Passwort in den Proxy-URL-Werten eingetragen werden. Das Speichern von Klartextpasswörtern in Profil-Dateien ist ein Sicherheitsrisiko. Besser ist die Verwendung von Credential-Managern, kurzen-laufenden Tokens oder der Eingabe per Prompt bei Bedarf. Für SOCKS-Proxies unterstützen viele Anwendungen die Verwendung via Proxy-Wrapper wie tsocks oder proxychains, die zur Laufzeit Netzwerkaufrufe umzuleiten. Bei SSL-Inspektion durch Unternehmensproxies kann es nötig sein, Root-Zertifikate des Proxies in den System- und Browser-Zertifikatsspeicher von WSL hinzuzufügen, damit HTTPS-Verbindungen nicht wegen ungültiger Zertifikate scheitern.
Praktische Beispiele und typische Fehler
Ein praktisches Beispiel für einen Eintrag in ~/.bashrc ist das Exportieren der Variablen export http_proxy="http://user:pass@proxy.example.com:8080" export https_proxy="http://user:pass@proxy.example.com:8080" export no_proxy="localhost,127.0.0.1,.localdomain". Für apt legt man eine Datei wie /etc/apt/apt.conf.d/95proxies mit Acquire::http::Proxy "http://proxy.example.com:8080/"; an. Typische Fehler sind vergessene Exports nach dem Setzen, falsch url-encodierte Anmeldedaten, nicht berücksichtigte no_proxy-Einträge für lokale Hosts sowie Programme, die ihre eigene Proxy-Konfiguration erzwingen und die Umgebungsvariablen ignorieren. Ebenfalls häufig ist, dass das Bearbeiten von /etc/environment oder /etc/profile root-Rechte erfordert.
Zusammenfassung
Um Proxy in WSL korrekt einzurichten, empfiehlt sich eine Kombination aus dem Setzen systemweiter Umgebungsvariablen, spezifischer Konfiguration für Programme wie apt, wget oder curl sowie gegebenenfalls einem Synchronisationsskript, das Windows-Proxy-Einstellungen übernimmt. Achten Sie auf sichere Handhabung von Zugangsdaten, URL-Codierung spezieller Zeichen und die Pflege von no_proxy-Einträgen für lokale Adressen. Mit diesen Maßnahmen funktionieren Netzwerkzugriffe aus WSL zuverlässig in den meisten Proxy-Umgebungen.
