Клиент Wireguard не может подключиться к интернету.

Вопрос или проблема

Я установил Wireguard с помощью следующих команд:

sudo apt update
sudo apt install wireguard

Затем я установил resolvconf:

sudo apt install resolvconf

Создал ключи:

umask 077
wg genkey | sudo tee /etc/wireguard/private.key
sudo cat /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key

Наконец, создал конфигурацию:

sudo nano /etc/wireguard/wg0.conf
# ниже находится содержимое конфигурационного файла
         [Interface]
         PrivateKey = omitted
         Address = 10.9.0.7/32
         DNS = 1.0.0.1

         [Peer]
         PublicKey = omitted
         AllowedIPs = 0.0.0.0/0, ::/0
         Endpoint = 95.87.101.10:51820

После выполнения sudo wg-quick up wg0 все мои приложения остались без интернета.
Интернет возвращается после того, как я выполняю sudo wg-quick down wg0 для Wireguard.

У меня нет доступа к серверу, им занимается компания.
Я могу изменять только свой собственный компьютер.

Я не разбираюсь в сетях, моя компания сказала просто следовать вышеуказанным инструкциям, и всё будет работать, но вот что я попробовал сделать для решения проблемы:

Я попробовал предложения из этого вопроса, но безуспешно.

sudo wg выдал следующий результат:

интерфейс: wg0
  публичный ключ: y5ZpnepnWHWBOvm04iDUh/+XgLIZKSOClI4It5D/ESU=
  приватный ключ: (скрыт)
  порт прослушивания: 43460
  fwmark: 0xca6c
партнер: KIkiNWfiSEGYbXAGvNau8kOlG8rqFfEFeNzPjnUzz0Q=
  конечная точка: 95.87.101.10:51820
  разрешенные IP: 0.0.0.0/0, ::/0
  передано: 0 B получено, 296 B отправлено

Я предположил, что рукопожатие работает, но что-то другое мешает интернет-соединению.

ip route show выдал следующее:

default via 192.168.1.1 dev wlx3c7c3f49907c proto dhcp metric 600 
169.254.0.0/16 dev wlx3c7c3f49907c scope link metric 1000 
192.168.1.0/24 dev wlx3c7c3f49907c proto kernel scope link src 192.168.1.7 metric 600

После поиска в интернете, я пришел к выводу, что DHCP портит маршрут по умолчанию, но я не знаю, как это исправить. Я пытался использовать sudo ip route add default via 192.168.1.1, но это тоже не помогло. ip route в то время как Wireguard включен, выдает следующий результат:

default via 192.168.1.1 dev wlx3c7c3f49907c 
default via 192.168.1.1 dev wlx3c7c3f49907c proto dhcp metric 600 
169.254.0.0/16 dev wlx3c7c3f49907c scope link metric 1000 
192.168.1.0/24 dev wlx3c7c3f49907c proto kernel scope link src 192.168.1.6 metric 600

Я попробовал sudo cat /proc/sys/net/ipv4/ip_forward, но это тоже не помогло.

Это лучшее, что я могу сделать, так как я не сильно разбираюсь в сетях. Я наткнулся на этот сайт после поиска в интернете, поэтому решил попросить о помощи, в отчаянной надежде, что решение будет найдено.

Если вам нужна дополнительная информация, оставьте комментарий, и я отвечу.

… возможно, вы могли бы попробовать тут

sudo nano /etc/wireguard/wg0.conf
ниже находится содержимое конфигурационного файла
     [Interface]
     PrivateKey = omitted
     Address = 10.9.0.7/32
     DNS = 1.0.0.1

указать для DNS ваш собственный интернет-шлюз или локальный сервер dns/dhcp (например, 192.168.110.1) вместо DNS = 1.0.0.1 или другой публичный DNS-сервер.

Ответ или решение

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

Анализ проблемы

  1. Конфигурация маршрутизации (routing):

    • Согласно предоставленному выводу команды ip route, у вас указаны два одинаковых маршрута по умолчанию через один и тот же шлюз 192.168.1.1, что может быть следствием неправильной настройки маршрутизации при активации WireGuard.
    • В конфигурационном файле WireGuard вы задали AllowedIPs = 0.0.0.0/0, ::/0, что означает, что весь трафик проходит через VPN. Это может вызвать конфликты, особенно если трафик не направляется через правильные шлюзы.
  2. DNS-сервисы:

    • Вы используете публичный DNS-сервер 1.0.0.1, предоставляемый Cloudflare. Возможной причиной может быть проблема с разрешением имен доменов через этот сервер. Попробуйте изменить DNS на локальный (например, 192.168.1.1) или на другой публичный DNS-сервер, например Google (8.8.8.8).
  3. Связь и канал связи (handshake):

    • Вы видите, что есть передача данных (296 B sent), но нет получения (0 B received), что указывает на потенциальную блокировку входящего трафика.

Шаги по разрешению проблемы

  1. Настройка маршрутизации:

    • Попробуйте добавить пользовательский маршрут для вашего устройства:
      sudo ip rule add from 10.9.0.7 table 200
      sudo ip route add default via 192.168.1.1 dev wlx3c7c3f49907c table 200
    • Перезапустите интерфейс WireGuard с измененной конфигурацией:
      sudo wg-quick down wg0
      sudo wg-quick up wg0
  2. Изменение DNS:

    • Скорректируйте ваш файл /etc/wireguard/wg0.conf, заменив строку DNS = 1.0.0.1 на:
      DNS = 8.8.8.8
    • Сохраните изменения и перезапустите WireGuard:
      sudo wg-quick down wg0
      sudo wg-quick up wg0
  3. Проверка состояния сети:

    • Убедитесь, что ваша сеть позволяет передавать весь необходимый трафик через UDP порт 51820, так как это порт WireGuard.
    • Если у вас есть доступ к роутеру, проверьте настройки NAT и firewall.
  4. Использование логов для диагностики:

    • Выполните диагностику через логи sudo journalctl -xe для получения дополнительных данных об ошибках и предупреждениях.

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

Оцените материал
Добавить комментарий

Капча загружается...