Что такое WSL2 и зачем ему прокси-сервер?
Windows Subsystem for Linux 2 (WSL2) позволяет запускать Linux-дистрибутивы прямо в Windows 10/11. Но при работе в корпоративных сетях или для доступа к геоблокированным ресурсам часто требуется прокси-сервер. WSL2 имеет собственную виртуальную сеть, что усложняет настройку прокси по сравнению с обычной Windows. Правильная конфигурация решает проблемы:
- Доступ к npm/pip/gem репозиториям из-под Linux
- Обход корпоративных firewall-ограничений
- Безопасное шифрование трафика
- Ускорение загрузки пакетов через кэширование
3 рабочих метода настройки прокси в WSL2
Метод 1: Переменные среды в .bashrc
- Откройте терминал WSL2
- Введите:
nano ~/.bashrc
- Добавьте в конец файла:
export http_proxy='http://ваш_прокси:порт' export https_proxy='http://ваш_прокси:порт' export no_proxy='localhost,127.0.0.1'
- Сохраните (Ctrl+O) и перезагрузите:
source ~/.bashrc
Метод 2: Проброс Windows-прокси через .wslconfig
- Создайте файл
C:UsersВаш_Пользователь.wslconfig
- Добавьте конфигурацию:
[wsl2] networkingMode=bridged vmSwitch=Default Switch
- В WSL выполните:
sudo ip route del default
- Настройте прокси в Windows как для основной системы
Метод 3: Локальный прокси-сервер (например, Squid)
- Установите Squid:
sudo apt install squid
- Настройте
/etc/squid/squid.conf
:http_port 3128 acl localnet src 192.168.0.0/16 http_access allow localnet
- Перезапустите службу:
sudo service squid restart
Типичные проблемы и решения
- “Прокси игнорируется после перезагрузки”: Добавьте переменные в
/etc/environment
вместо .bashrc - Ошибки сертификатов: Скопируйте корневые сертификаты из Windows в WSL2 командой:
sudo cp /mnt/c/Windows/System32/certutil.exe /usr/local/bin/
- Конфликт VPN: Отключите
GenerateResolvConf
в/etc/wsl.conf
и укажите DNS вручную - Медленная скорость: В .wslconfig добавьте
memory=4GB
иprocessors=2
FAQ: Частые вопросы о WSL2 и прокси
Q: Как проверить работу прокси?
A: Выполните curl -v http://ifconfig.me
– в выводе должен отобразиться IP прокси.
Q: Почему не работают DNS-запросы?
A: Добавьте в resolv.conf DNS-серверы: nameserver 8.8.8.8
Q: Как настроить прокси для Docker в WSL2?
A: Создайте файл ~/.docker/config.json
с содержимым:
{ "proxies": { "default": { "httpProxy": "http://прокси:порт", "httpsProxy": "http://прокси:порт" } } }
Q: Можно ли использовать прокси только для конкретных приложений?
A: Да, например для apt: создайте файл /etc/apt/apt.conf.d/80proxy
с:
Acquire::http::Proxy "http://прокси:порт";
Q: Как синхронизировать настройки с Windows?
A: Экспортируйте переменные через setx WSLENV "HTTP_PROXY/up:HTTPS_PROXY/up"
в PowerShell