Wireguard windows не работает интернет

Использую облачный сервер на ubuntu 20.04, работает по ip 185.253.44.4:3333, вот содержание конфига(wg0.conf):

[Interface]
Address = 185.253.44.4/24
ListenPort = 3333
PrivateKey = mLc+jV2XjWt9OLvXyqa2+J+OOPmuV77As4jUZTss8mk=

Вот, что выводит по команде «sudo systemctl status wg-quick@wg0»:

● wg-quick@wg0.service - WireGuard via wg-quick(8) for wg0
     Loaded: loaded (/lib/systemd/system/wg-quick@.service; enabled; vendor preset: enabled)
     Active: active (exited) since Wed 2022-03-16 10:50:13 UTC; 4s ago
       Docs: man:wg-quick(8)
             man:wg(8)
             https://www.wireguard.com/
             https://www.wireguard.com/quickstart/
             https://git.zx2c4.com/wireguard-tools/about/src/man/wg-quick.8
             https://git.zx2c4.com/wireguard-tools/about/src/man/wg.8
    Process: 4443 ExecStart=/usr/bin/wg-quick up wg0 (code=exited, status=0/SUCCESS)
   Main PID: 4443 (code=exited, status=0/SUCCESS)
      Tasks: 0 (limit: 527)
     Memory: 1.5M
     CGroup: /system.slice/system-wg\x2dquick.slice/wg-quick@wg0.service

Mar 16 10:50:13 opezd79549 systemd[1]: Starting WireGuard via wg-quick(8) for wg0...
Mar 16 10:50:13 opezd79549 wg-quick[4443]: [#] ip link add wg0 type wireguard
Mar 16 10:50:13 opezd79549 wg-quick[4443]: [#] wg setconf wg0 /dev/fd/63
Mar 16 10:50:13 opezd79549 wg-quick[4443]: [#] ip -4 address add 185.253.44.4/24 dev wg0
Mar 16 10:50:13 opezd79549 wg-quick[4443]: [#] ip link set mtu 1420 up dev wg0
Mar 16 10:50:13 opezd79549 systemd[1]: Finished WireGuard via wg-quick(8) for wg0.

Вывод после «sudo ip a show wg0»:

interface: wg0
  public key: FRrQgjEXAeY7MpLPcdDuCd1e6LylHc6414zbpUEclkQ=
  private key: (hidden)
  listening port: 3333
root@opezd79549:/etc/wireguard# sudo ip a show wg0
3: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none 
    inet 185.253.44.4/24 scope global wg0
       valid_lft forever preferred_lft forever

На windows подключаюсь через приложение от wireguard. Вот конфиг тоннеля:

[Interface]
PrivateKey = 6JW3oWJ/cXg1T9Q7b9jCShQ8snoEaf4sCBSllJD6a0E=
Address = 178.155.6.110/24

[Peer]
PublicKey = FRrQgjEXAeY7MpLPcdDuCd1e6LylHc6414zbpUEclkQ=
AllowedIPs = 0.0.0.0/0
Endpoint = 185.253.44.4:3333
PersistentKeepalive = 15

Я не использую фаерволл, так как даже после открытия порта для сервера, к нему невозможно подключится.
На клиенте ВПН подключается моментально, но перестает работать интернет соединение.

Велик соблазн написать «наконец-то нормальный» мануал для настройке wireguard. Но в итоге такой мануал станет очередным, который не решает все проблемы пользователя при настройке. Поэтому данная запись носит цель подсветить возможные проблемы, с которыми может столкнуться рядовой пользователь при настройке базового vpn через wireguard на типовом vds.

Использовал данный мануал по настройке:

  • видео версия на YouTube
  • текстовая инструкция в Telegram

Вполне возможно, что статья будет добавлять или в итоге в комментариях окажется больше полезной информации нежели в самом посте.

Мой VDS

  • базовый VDS в DIgitalOcean за $4: 512 MB Memory / 10 GB Disk / SGP1 — Ubuntu 22.10 x64
  • регион Сингапур. Скорее всего не лучший вариант, но точно рабочий. Изначально пробовал другие регионы, но в процессе поиска проблем менял сервера. Встречал комменты, что для некоторых регионов не «заводилось». Пример замера скорости в конце статьи.

Примечание: при регистрации Digital Ocean предоставил пробный период с «$200.00 (expires in 59 days)». При этом DO сделал списание (и сразу возврат) тестовой суммы в $5 при регистрации. Если есть подходящая карта, то скорее всего есть рабочий вариант завести новый аккаунт и раскатать wireguard еще раз на два месяца. При необходимости повторить.

Пробовал настраивать VDS по нескольким инструкциям. Вцелом, они однотипны и по каждой из них была проблема на финальном шаге — подключаюсь в WireGuard через клиент, но интернета нет. Скорее всего если есть проблема, то она будет воспроизводиться именно на этом шаге.

Полагаю, что вы прошли инструкцию и понимаете о чем идет речь дальше.

Еще раз проверяем файлы конфигураций

Проверьте еще раз файлы конфигураций. При минимальной настройке файлов получается два:

  • первый файл wg0.conf располагается на самом VDS и задает настройки для wireguard
  • второй, к примеру, mac.conf в моем случае, в котором задаются настройки клиента

Пример моего файла wg0.conf

[Interface]
Address = 10.0.0.1/24
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 51830
PrivateKey = <private_key>

[Peer]
PublicKey = <public_key>
AllowedIPs = 10.0.0.2/32

Пройдемся по основным полям:

  1. PrivateKey & PublicKey. В процессе настройке можно вполне легко перепутать данные для вставки в поля PrivateKey и PublicKey при вставке в файлы конфигураций. Проверьте еще раз, что в этой части все правильно.
  2. ListenPort. У меня указан 51830, но вроде как 51820 согласно другим инструкциям тоже должен работать. Проблем тут быть не должно.
  3. AllowedIPs. По сути данное значение должно совпадать с указанным в файле настроек клиента.
  4. ⚡⚡⚡ PostUp & PostDown. Молния. Даже три. В инструкции указана такая строчка:

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

Данные команды выполняются при старте/останове wireguard сервера. Здесь нас интересуют значения %i и eth0.

Так понял значение %i является шаблоном для сетевого интерфейса, вместо которого в итоге подставляется конкретное значение. В моем случаем указал хардкодом ‘wg0’. Без этого у меня не работало.

Также вместо eth0 иногда требуется указать ваше значение сетевого интерфейса. Для просмотра сетевых интерфейсов можно использовать команду ifconfig -a в терминале VDS. В моем случае eth0, но может быть ens3 или другое значение. Если здесь указан неправильный интерфейс, то при просмотре статуса через команду systemctl status [email protected] видел ошибку в консоли. В моем случае правка относительно инструкции не понадобилась.

Пример моего файла mac.conf (файл клиента)

[Interface]
PrivateKey = <private_key>
Address = 10.0.0.2/32 # должно совпадать с указанным в wg0.cong в для настойки [Peer]
DNS = 1.1.1.1 # сами задаем DNS, можно 8.8.8.8 или любой другой

[Peer]
PublicKey = <public_key>
Endpoint = <ip_vds>:51830 # проверяем порт
AllowedIPs = 0.0.0.0/0 # пропускаем весь трафик через wireguard
PersistentKeepalive = 20

Основные момент прокомментировал по файлу.

Клиент настраивал на MacOS. Приложение WireGuard можно скачать из AppStore. Приложение в итоге рабочее, но не отличается многословностью в случае ошибок. Даже в кривыми конфигами подключается и горит зеленым. что появились строки — получено данных, отправлено данных, последнее рукопожатие. Пример скрина с удачно запущенным wireguard:

Пример скрина с удачно запущенным wireguard

Напоследок замеры скорости по WI-FI:

Через wireguard

Без wireguard

У меня есть сервер vpn wireguard который прекрасно работает. Я подключаюсь к нему из ubuntu 20.04 и со своего телефона на android. И там и там нет никаких проблем. Но есть проблема на windows 11. Там при подключении к впн просто пропадает интернет. Я пробовал скармливать те же самые конфиги что и ubuntu клиенту и андроид клиенту. Но оно не работает. Вообще никак. Так же я пробовал создавать нового юзера на сервере и скармливать его конфиг windows клиенту. Тоже не работает. Делаю ctrl+c ctrl+v Этого конфига на линукс и всё запускается с первой попытки. Из этого я сделал два вывода:

  1. Никаких проблем с сервером нет (иначе почему линукс и андроид клиенту отлично работают?)
  2. Никаких проблем с конфигом клиента так же нет. Потому что когда я скармливаю тот же самый конфиг линукс и андроид клиента то всё прекрасно работает.

Значит проблема исключительно с моим любимым майкрософтом и его виндой, у которого постоянно какие-то танцы с бубном. Конфиг который я вставляю в клиент:

[Interface]
PrivateKey = <private_key>
Address = 10.0.0.5/32
DNS = 8.8.8.8

[Peer]
PublicKey = <public_key>
AllowedIPs = 0.0.0.0/0
Endpoint = <server_ip>:51830
PersistentKeepalive = 20

Я пробовал отключать брандмауэр винды это никакого профита не принесло. Всё тоже самое. Антивирус только встроенный в винду. Его я тоже пробовал отключать тоже 0 профита. Так же эта проблема не связана с моим роутером. Т.к. линукс установлен на этом же компе и на этом же ssd диске, работает он так же через этот роутер и не имеет никаких проблем. Логи wireguard выглядят так:

2022-06-29 23:46:27.267: [TUN] [myvpn] Sending handshake initiation to peer 1 (<server_ip>:51830)
2022-06-29 23:46:32.428: [TUN] [myvpn] Handshake for peer 1 (<server_ip>:51830) did not complete after 5 seconds, retrying (try 2)
2022-06-29 23:46:32.428: [TUN] [myvpn] Sending handshake initiation to peer 1 (<server_ip>:51830)
2022-06-29 23:46:37.437: [TUN] [myvpn] Sending handshake initiation to peer 1 (<server_ip>:51830)
2022-06-29 23:46:42.515: [TUN] [myvpn] Handshake for peer 1 (<server_ip>:51830) did not complete after 5 seconds, retrying (try 2)
2022-06-29 23:46:42.515: [TUN] [myvpn] Sending handshake initiation to peer 1 (<server_ip>:51830)

При этом сам клиент пишет что всё ок и соединение активно. То что что-то не так становится понятно только по логам и по тому что нет интернета. В логах он жалуется что не получает ответа от сервера. Но я на 99% уверен что запросы клиента даже не доходят до сервера благодаря винде и где-то теряются во всяких брандмауэрах (хотя я его отключил, непонятно что ещё может быть). Так же заметил интересную особенность. После активации тоннеля адаптер создаётся, но там почему-то написано, что у него нет доступа к интернету.

введите сюда описание изображения

Не знаю должно ли так быть в винде. Но это странно, ведь весь трафик после активации через этот адаптер отправляется. А как он отправится если у него нет доступа к инету?

route print выводит это (при включенном тоннеле):

C:\Windows\system32>route print
===========================================================================
Список интерфейсов
 18...........................WireGuard Tunnel
 10...40 b0 76 0d a7 4d ......Realtek PCIe GbE Family Controller
  1...........................Software Loopback Interface 1
===========================================================================

IPv4 таблица маршрута
===========================================================================
Активные маршруты:
Сетевой адрес           Маска сети      Адрес шлюза       Интерфейс  Метрика
          0.0.0.0          0.0.0.0      192.168.0.1     192.168.0.69     35
          0.0.0.0        128.0.0.0         On-link          10.0.0.5      5
         10.0.0.5  255.255.255.255         On-link          10.0.0.5    261
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    331
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    331
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    331
  127.255.255.255  255.255.255.255         On-link          10.0.0.5    261
        128.0.0.0        128.0.0.0         On-link          10.0.0.5      5
      192.168.0.0    255.255.255.0         On-link      192.168.0.69    291
     192.168.0.69  255.255.255.255         On-link      192.168.0.69    291
    192.168.0.255  255.255.255.255         On-link      192.168.0.69    291
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    331
        224.0.0.0        240.0.0.0         On-link      192.168.0.69    291
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    331
  255.255.255.255  255.255.255.255         On-link      192.168.0.69    291
===========================================================================
Постоянные маршруты:
  Отсутствует

WireGuard — это один из наиболее быстрых и безопасных протоколов VPN, который позволяет пользователям обеспечить конфиденциальность своей онлайн-активности. Однако, иногда пользователи могут столкнуться с проблемой, когда интернет пропадает при использовании WireGuard.

Существует несколько причин, почему WireGuard может привести к пропаданию интернета. Ниже мы рассмотрим некоторые из них и дадим советы, как решить эту проблему.

  1. Неправильные настройки конфигурации WireGuard.

Во многих случаях, проблема пропадания интернета при использовании WireGuard может быть вызвана неправильной настройкой конфигурации. Вам следует проверить, правильно ли настроен ваш конфигурационный файл WireGuard. Обратите внимание на настройки IP-адресов и маршрутизации.

  1. Несовместимость WireGuard с другими VPN-сервисами.

Если вы используете WireGuard в сочетании с другими VPN-сервисами, такими как OpenVPN или IPSec, это может привести к проблеме пропадания интернета. В таком случае, вы должны отключить другие VPN-сервисы, чтобы избежать конфликтов.

  1. Проблемы с маршрутизацией.

Если на вашем устройстве не настроена правильная маршрутизация, это может привести к проблеме пропадания интернета при использовании WireGuard. Вы можете проверить настройки маршрутизации и настроить их правильно.

  1. Проблемы с брандмауэром.

WireGuard использует UDP-порт для связи с сервером VPN. Если ваш брандмауэр заблокировал этот порт, это может привести к проблеме пропадания интернета. В этом случае, вы должны настроить свой брандмауэр, чтобы разрешить доступ к порту, используемому WireGuard.

В заключение, WireGuard — это отличный VPN-протокол, который обеспечивает быстрый и безопасный доступ в интернет. Однако, если у вас возникла проблема пропадания интернета при использовании WireGuard, вы можете заказать на нашем сайте готовый сконфигурированный сервер VPN.

So I have setup my interfaces and keys. My server config looks like this:

[Interface]
Address = 10.200.200.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = xxxxx

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o enp0s31f6 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o enp0s31f6 -j MASQUERADE

[Peer]
# client phone
PublicKey = xxxxxx
AllowedIPs = 10.200.200.2/32

My client.conf config looks like this:

[Interface]
Address = 10.200.200.2/24
PrivateKey = xxxxxx
DNS = 1.1.1.1

[Peer]
PublicKey = xxxxxxx
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = example.com:51820

Running wg shows:

interface: wg0
    public key: xxxxxx
    private key: (hidden)
    listening port: 51820

peer: xxxxxx
    endpoint: xxxxxxx:57556
    allowed ips: 10.200.200.2/32
    latest handshake: 14 seconds ago
    transfer: 29.58 KiB received, 1.09 KiB sent

So the sent bytes is very little for some reason. On my phone when I try loading a web page it just seems to be stuck loading forever without any progress. Any ideas what I am doing wrong? I have port forwarding setup on my router for UDP 51820 as well.

Edit: I am also able to ping the client at 10.200.200.2 with some packet loss

PING 10.200.200.2 (10.200.200.2) 56(84) bytes of data.
64 bytes from 10.200.200.2: icmp_seq=2 ttl=64 time=186 ms
64 bytes from 10.200.200.2: icmp_seq=3 ttl=64 time=146 ms
64 bytes from 10.200.200.2: icmp_seq=4 ttl=64 time=53.6 ms
64 bytes from 10.200.200.2: icmp_seq=5 ttl=64 time=62.6 ms
64 bytes from 10.200.200.2: icmp_seq=6 ttl=64 time=341 ms
64 bytes from 10.200.200.2: icmp_seq=7 ttl=64 time=299 ms
64 bytes from 10.200.200.2: icmp_seq=8 ttl=64 time=57.6 ms
64 bytes from 10.200.200.2: icmp_seq=9 ttl=64 time=226 ms
^C
--- 10.200.200.2 ping statistics ---
9 packets transmitted, 8 received, 11.1111% packet loss, time 35ms
rtt min/avg/max/mdev = 53.550/171.364/340.672/104.520 ms

  • Wireguard windows handshake did not complete
  • Wireguard vpn windows 10 настройка
  • Winx club игра 2006 скачать на windows 10
  • Wireguard unable to create network adapter windows 7
  • Winword скачать бесплатно для windows 10