Задать вопрос
@LeaksDim

Почему клиент WireGuard Windows не создает интерфейс?

Добрый день.

Может быть кто-то сталкивался или идеи есть.

Имею: туннель WireGuard (установочные с сайта wireguard), завернутый в wstunnel (исполняемые с github автора, ver 10.5.5). Сервер WireGuard поднят на VPS (Debian 12), клиент - на Win 10. Без заворачивания в wstunnel дело до рукопожатия не доходит, что понятно.

Поднимаю wstunnel на VPS: wstunnel server --restrict-to localhost:<номер порта wg> wss://[::]:443
На стороне клиента, т.е. Win 10: wstunnel client -L upd://<номер порта wg>:localhost:<номер порта wg>?timeout_sec=0 wss://:443

Конфигурационный файл сервера wg:

[Interface]
PrivateKey = <закрытый ключ сервера>
Address = 10.10.10.1
ListenPort = <номер порта wg>
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
PublicKey = <открытый ключ клиента1>
AllowedIPs = 10.10.10.2/32

[Peer]
PublicKey = <открытый ключи клиента2>
AllowedIPs = 10.10.10.3/32

Конфигурационный файл пира на клиенте (Win 10):

[Interface]
PrivateKey = <закрытый ключ клиента1>
Address = 10.10.10.2/32
DNS = 8.8.8.8
MTU=1300

[Peer]
PublicKey = <открытый ключ сервера>
Endpoint = :<номер порта wg>
AllowedIPs = 10.10.10.0/24
PersistentKeepalive = 32

В такой конфигурации после загрузки wstunnel и включения туннеля wg на клиенте - все работает как часы (рукопожатия, с клиента до сервера (10.10.10.2<->10.10.10.1) и обратно пинг без проблем и задержек). В этой конфигурации я могу в сеть 10.10.10.0/24 все объединить, что и должно быть, тут у меня вопросов пока нет.

Как только я желаю с клиента гнать любой трафик через туннель wg - т.е. меняю в конфигурации клиента

AllowedIPs 0.0.0.0/0

так клиент мне указывает на ошибку (в логе):

2026-06-11 15:19:35.442: [MGR] Failed to connect to adapter interface \\?\SWD#WireGuard#{бла-бла-бла}: Не удается найти указанный файл. (Code 0x00000002)

и никаких уже рукопожатий, пинг не проходит

Вопрос: что может быть не так? Где я ошибаюсь, в какую сторону копать?

Заранее спасибо за комментарии.
  • Вопрос задан
  • 99 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    1C-программист: расширенный курс
    18 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия DevOps-инженер + ИИ
    5 месяцев
    Далее
Решения вопроса 1
opium
@opium
Просто люблю качественно работать
Классический routing loop. При AllowedIPs=0.0.0.0/0 Windows весь трафик гонит через WG-интерфейс, включая TCP wstunnel→VPS, тоннель не поднимается: сам себе перерезает транспорт.

Фикс: добавь постоянный маршрут до IP твоего VPS напрямую через шлюз:

route -p ADD &lt;IP_VPS&gt; MASK 255.255.255.255 &lt;шлюз&gt;


Шлюз смотри в route print, строка с 0.0.0.0 в первом столбце. После этого wstunnel стучится к VPS напрямую, WG поднимается нормально.

p.s. если ноутбук и сети меняются — лучше без -p и через PostUp/PostDown в конфиге wg.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы