Это старая версия документа!
Содержание
WireGuard-клиент в WSL2 (Ubuntu)
Пошаговая инструкция по установке и ручному запуску WireGuard-туннеля в среде WSL2. Подходит, если wg-quick не работает или вызывает ошибки.
1. Установка WireGuard
sudo apt update sudo apt install wireguard -y
2. Создание конфигурационного файла
Файл должен быть размещён в /etc/wireguard/wg0.conf
Пример структуры:
[Interface] PrivateKey = <приватный_ключ_клиента> ListenPort = 51825 Address = 10.0.0.X/32 DNS = 1.1.1.1 [Peer] PublicKey = <публичный_ключ_сервера> Endpoint = <ip_или_домен_сервера>:51820 AllowedIPs = 10.0.0.0/24 PersistentKeepalive = 25
для linux эти 2 строки не нужны
Address = 10.0.0.X/32 DNS = 1.1.1.1
3. Настройка интерфейса вручную
Удаляем старый интерфейс, если он существует
sudo ip link del wg0 2>/dev/null || true
Создаём интерфейс WireGuard
sudo ip link add dev wg0 type wireguard
Назначаем IP-адрес для VPN-интерфейса (уникальный для этого клиента)
sudo ip address add 10.0.0.X/24 dev wg0 # Заменить X на нужный адрес
Загружаем конфигурацию (ключи, peers и т.д.) из wg0.conf
sudo wg setconf wg0 /etc/wireguard/wg0.conf
Поднимаем интерфейс (активируем его)
sudo ip link set up dev wg0
4. Проверка подключения
Проверяем статус туннеля
sudo wg
Проверка доступности сервера по VPN-сети (если известен его IP)
ping 10.0.0.1
5. Остановка туннеля
Отключить интерфейс и удалить его
sudo ip link set down dev wg0 sudo ip link del dev wg0
6. Быстрый перезапуск (например, при смене IP или отладке)
Можно обернуть в скрипт для удобства:
(примерный start-wg.sh)
- start-wg.sh
#!/bin/bash sudo ip link del wg0 2>/dev/null || true sudo ip link add dev wg0 type wireguard sudo ip address add 10.0.0.X/24 dev wg0 sudo wg setconf wg0 /etc/wireguard/wg0.conf sudo ip link set up dev wg0 sudo wg
Примечания
Строка Address и DNS в конфиге wg0.conf
не используется при ручной настройке и может вызывать ошибки
Все настройки IP выполняются через ip address add
Если handshake не происходит, проверь правильность ключей, endpoint, фаервола и проброса портов