WireGuard: 6 пингов и отсутствие соединения – как исправить
WireGuard отправляет ровно 6 пингов и не устанавливает соединение. Узнайте, как исправить подсеть, маршруты, IP‑форвардинг и брандмауэр, чтобы подключиться к локальной сети колледжа через VPS.
WireGuard отправляет ровно 6 пингов и не устанавливает соединение: как исправить?
Я пытаюсь подключиться к локальной сети колледжа из дома через VPS и WireGuard. После настройки wg0.conf я получаю только шесть пингов, и соединение не устанавливается. Преподаватель указал, что в сети уже есть WireGuard. Я пробовал разные IP и порты, но ничего не помогает. Вот мой конфиг:
[Interface]
PrivateKey = wLX45LJFI14qJ56pviLjyzhv1G9aHpjumeWuFZ6hoWk=
Address = 10.80.0.2/32
ListenPort = 51820
[Peer]
PublicKey = VP7+ViG15/lxwgdAmB+z5o0L2oYwoQ26g8qV1a/RATc=
AllowedIPs = 10.80.0.1/24
Что делать?
WireGuard отправляет ровно 6 пингов и не устанавливает соединение: как исправить?
Проблема обычно возникает из‑за неправильной подсети, отсутствия маршрута, отключённого IP‑форвардинга или блокировки пакетов брандмауэром. Ниже – пошаговый план диагностики и исправления.
Содержание
- Проверка конфигурации WireGuard
- Настройка сетевых параметров ОС
- Проверка и настройка брандмауэра
- Диагностика соединения
- Обновлённый конфиг и рекомендации
Проверка конфигурации WireGuard
В первую очередь стоит проверить несколько ключевых пунктов:
-
Адресация
В конфиге указаноAddress = 10.80.0.2/32.- /32 означает, что узел видит только собственный IP, а не сеть.
Для туннеля, который должен подключить локальную сеть колледжа (10.80.0.0/24), адрес должен быть/24.
iniAddress = 10.80.0.2/24 - /32 означает, что узел видит только собственный IP, а не сеть.
-
AllowedIPs
В секции[Peer]стоитAllowedIPs = 10.80.0.1/24.
Это ограничивает трафик только до адреса 10.80.0.1, а не всей сети.
Нужно разрешить весь диапазон, который хотите пробросить:iniAllowedIPs = 10.80.0.0/24 -
Endpoint
Для клиента необходимо указать точку подключения к серверу (IP‑адрес VPS и порт).
Без этого клиент не знает, куда отправлять пакеты.iniEndpoint = <IP_сервера>:51820 -
PersistentKeepalive
На клиенте полезно включитьPersistentKeepalive = 25, чтобы туннель не закрывался из‑за NAT‑timeout.iniPersistentKeepalive = 25 -
Сервер
На стороне VPS в конфиге[Peer]должен содержать ваш публичный ключ иAllowedIPs = 10.80.0.0/24(или0.0.0.0/0, если хотите пробросить весь трафик).
Настройка сетевых параметров ОС
-
IP‑форвардинг
Убедитесь, что включён пересылка пакетов:bashsudo sysctl -w net.ipv4.ip_forward=1 sudo sysctl -w net.ipv6.conf.all.forwarding=1Добавьте в
/etc/sysctl.conf:net.ipv4.ip_forward=1 net.ipv6.conf.all.forwarding=1 -
MTU
По умолчанию MTU 1420 может не подходить. Попробуйте 1400:iniMTU = 1400
Проверка и настройка брандмауэра
-
Порты
Убедитесь, что порт51820/UDPоткрыт на VPS и на клиенте.bashsudo ufw allow 51820/udp -
Правила маршрутизации
На сервере добавьте маршрут к сети клиента, если он отличается отwg0:bashsudo ip route add 10.80.0.0/24 dev wg0 -
Проверка
На клиенте выполните:bashsudo wg showДолжно быть
state: ESTABLISHED.
Еслиstate: CONNECTING– возможно, проблемы сEndpointилиPersistentKeepalive.
Диагностика соединения
-
Пинг до сервера
bashping -I wg0 10.80.0.1
Если ответов 6, а потом нет, проверьте
dmesg | grep wgна наличие ошибок. -
Трассировка
bashtraceroute -I wg0 10.80.0.1
Должна пройти через
wg0сразу после10.80.0.2. -
Логи
bashsudo journalctl -u wg-quick@wg0В логах обычно видны ошибки:
unreachable,No route to host.
Обновлённый конфиг и рекомендации
# /etc/wireguard/wg0.conf (на клиенте)
[Interface]
PrivateKey = wLX45LJFI14qJ56pviLjyzhv1G9aHpjumeWuFZ6hoWk=
Address = 10.80.0.2/24
ListenPort = 51820
MTU = 1400
[Peer]
PublicKey = VP7+ViG15/lxwgdAmB+z5o0L2oYwoQ26g8qV1a/RATc=
Endpoint = <IP_сервера>:51820
AllowedIPs = 10.80.0.0/24
PersistentKeepalive = 25
# /etc/wireguard/wg0.conf (на сервере)
[Interface]
PrivateKey = <серверный_ключ>
Address = 10.80.0.1/24
ListenPort = 51820
MTU = 1400
[Peer]
PublicKey = wLX45LJFI14qJ56pviLjyzhv1G9aHpjumeWuFZ6hoWk=
AllowedIPs = 10.80.0.0/24
После перезапуска (sudo wg-quick down wg0 && sudo wg-quick up wg0) проверьте wg show.
Пинг до 10.80.0.1 должен проходить бесконечно, а из сети колледжа – доступ к нужным ресурсам.
Источники
- Проблема с WireGuard: 6 ping и отсутствие соединения – обсуждение похожей ситуации.
- Проблемы при подключении WireGuard в Linux – рекомендации по настройке
AllowedIPsиIP_forward. - WireGuard – настройка маршрутизации и брандмауэра – детали работы MTU и
PersistentKeepalive. - Установка и настройка WireGuard на VPS – официальная документация.
- Проблемы с соединением после handshake в WireGuard – причины, связанные с IP‑forward и брандмауэром.
Заключение
- Используйте /24 вместо /32 – иначе туннель видит только свой IP.
- Разрешите всю нужную сеть в
AllowedIPs. - Укажите
Endpointи включитеPersistentKeepaliveдля клиента. - Включите IP‑форвардинг и откройте порт 51820 в брандмауэре.
- Проверьте настройки MTU и при необходимости уменьшите до 1400.
Пошаговая проверка и обновлённый конфиг обычно устраняют проблему с 6 пингами и позволяют полностью подключиться к локальной сети колледжа через VPS.