WSL2 не может подключиться к Интернету, когда работает Sangfor aTrust.

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

Я использую WSL2 на Windows 11 22H2 22624.1470. Установлена Ubuntu 22.04.6 LTS на WSL2. Когда я запускаю программу под названием aTrust, разработанную компанией Sangfor, мой WSL2 не может подключиться к Интернету или к любым IP-адресам, включая даже шлюз 172.17.160.1. Я пытался выяснить, что вызвало проблему. Искал везде, но не нашел ничего полезного о Sangfor aTrust и WSL2. Используя WireShark, я обнаружил, что все протоколы ICMP имели предупреждение No Respond Found, независимо от того, к какому IP-адресу я пингую. Более того, когда я использую traceroute 172.17.160.1, я мог получить только:

traceroute to 172.17.160.1 (172.17.160.1), 64 hops max
  1   *  *  *
  2   *  *  *
  3   *  *  *
  4   *  * ^C

Ниже находится файл /etc/resolv.conf:

# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
nameserver 172.17.160.1

Я знаю, что могу изменить nameserver на 1.1.1.1 или 9.9.9.9 и т.д., но я не могу подключиться ни к одному из указанных выше адресов в WSL2.

Когда я закрываю программу aTrust, все работает нормально, но я не хочу часто ее закрывать, поскольку мне нужно использовать ее для подключения к сети моего университета для работы. Надеюсь, кто-то поможет мне решить эту проблему. Я не очень хорошо разбираюсь в использовании Linux, так как только начал учиться, поэтому использую WSL вместо компьютера с Ubuntu. Я не знаком с сетевыми протоколами, но просто следую инструкциям в Интернете, пытаясь выяснить, в чем проблема.

Я добавил правило в WindowsFirewall, которое позволяет всем протоколам и портам с IP-адресов от 172.17.160.2 до 172.17.160.254 доступ ко всем локальным адресам и портам (боюсь, это рискованно), но это могло сделать доступным только 172.17.160.1, а все DNS не могут быть разрешены. Ни один из IP-адресов, включая 1.1.1.1, 8.8.8.8, также не может быть доступен. Думаю, что что-то еще пошло не так.

К удивлению, когда я использую Wireshark для захвата WLAN вместо vEthernet(WSL), DNS-решения сайта, на который я пинговал внутри WSL, в порядке, и я мог видеть IP-адрес хоста, возвращающийся в мою Windows-систему.

Я также пытался сделать traceroute IP-адреса после редактирования брандмауэра:

traceroute to 8.8.8.8 (8.8.8.8), 64 hops max
  1   172.17.160.1  0.358ms  0.202ms  0.205ms
  2   *  *  *
  3   *  *  *
  4   *  *  *
  5   * ^C

Это сработало, но все еще бесполезно.

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

На сайте https://learn.microsoft.com/en-us/windows/wsl/troubleshooting я нашел:

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

Kaspersky

AVG

Avast

Symantec Endpoint Protection

В некоторых случаях отключение брандмауэра позволяет получить доступ. В некоторых случаях просто наличие установленного брандмауэра блокирует доступ.

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

Я проверил настройки Windows и обнаружил, что aTrust не создает никаких VPN или прокси. Однако создана виртуальная сеть, которую нельзя остановить, так как она восстанавливается без задержки, когда я блокирую ее с помощью чего-то вроде службы или фонового процесса, который я не нашел. Сеть не имеет доступа в Интернет, но сделала мой компьютер 2.0.0.1 (IP-адрес во Франции):

C:\>tracert 2.0.0.1

через максимум 30 переходов
до DESKTOP-94DT041 [2.0.0.1]:

  1    <1 мс   <1 мс   <1 мс myDESKTOP [2.0.0.1]

Трассировка завершена.

Используя cmd.exe (на упрощенном китайском языке)

И он создал новый виртуальный сетевой адаптер под названием Sangfor aTrust VNIC, который используется для поддержки виртуальной сети. Он даже заблокировал весь доступ по IPv6 в моей системе Windows, изменив реестр. Я думаю, он сделал гораздо больше с моим компьютером, что я не обнаружил, что вызвало проблему, о которой я упомянул.

Спасибо за чтение моего бедного выражения, и я постарался выразить все ясно.

Снимок экрана Wireshark:

Снимок экрана Wireshark, когда я пингую домен

Снимок экрана Wireshark, когда я делаю traceroute 8.8.8.8

Снимок экрана Wireshark, когда я пингую домен, получаю ответ, но не возвращаю его в WSL

Я столкнулся с той же проблемой и нашел официальный пост от aTrust: https://support.sangfor.com.cn/cases/list?product_id=19&category_id=2944.

К сожалению, команда aTrust не предоставила решения, а предложила пользователям отказаться от использования WSL...

Хорошая новость в том, что я нашел инструмент на GitHub под названием wsl-vpnkit (https://github.com/sakai135/wsl-vpnkit). Следуя инструкциям по установке и правильно его настроив, вы сможете получить доступ к сети хоста из WSL без ограничений, включая все сетевые устройства, подключенные к хосту.

.

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

Ситуация с отсутствием доступа к интернету в WSL2 при запущенной программе Sangfor aTrust требует комплексного анализа и решения. Прежде всего, важно понимать, что данная проблема связана с конфликта между сетевыми настройками WSL2 и Sangfor aTrust. Давайте рассмотрим возможные шаги для её решения, объясняя все аспекты.

Четкое определение проблемы:

  1. Использование программного обеспечения: Вы работаете с WSL2 на Windows 11, и установили Ubuntu 22.04.6 LTS в данном окружении. Проблема возникает при запуске программы aTrust от Sangfor, которая блокирует все интернет-подключения внутри WSL2, в том числе к шлюзу (172.17.160.1).

  2. Наблюдения: Утилита WireShark указывает, что ICMP-протоколы не получают ответов. Также, попытки трассировки (traceroute) показывают недостижимость указанных IP-адресов. Вариант изменения nameserver на общественные DNS-серверы безуспешен, что указывает на более глубокую сетевую проблему.

Исследование и анализ:

  1. Сетевые адаптеры: Sangfor aTrust создаёт виртуальный сетевой адаптер, который, возможно, вмешивается в работу привязки адресов WSL2. Он также изменяет параметры реестра Windows, что может повлиять на IPv6 и другие настройки.

  2. Способы диагностики: Несмотря на доступность DNS при мониторинге через Wireshark, ответы не доходят до WSL, что возможно связано с блокировкой на уровне виртуального сетевого адаптера Sangfor.

Решения:

  1. WSL-VPNKit: Один из подтверждённых методов решения данной проблемы — использование инструмента WSL-VPNKit, доступного на GitHub. Этот инструмент позволяет WSL использовать сеть хоста напрямую, проходя через ограничения, созданные виртуальным адаптером Sangfor aTrust. Установка его по инструкции с GitHub может помочь обойти существующие ограничения.

  2. Отказ и поиск альтернатив: Если использование Sangfor aTrust критично, исследуйте возможность настройки параллельного использования других инструментов, таких как ProtonVPN или OpenVPN, для организации VPN-соединений, не конфликтующих с WSL2.

  3. Образование и поддержка: Учитывая недостаток информации и официальной поддержки по данной проблеме, рассмотрите возможность обращаться за помощью на профессиональные IT-форумы, такие как Stack Overflow или Reddit, где содействие пользователей может предложить дополнительные инсайты.

Предотвращение и долгосрочные стратегии:

  • Постоянно обновляйте свои инструменты, включая WSL, Ubuntu, и ПО Sangfor, чтобы избежать проблем совместимости.
  • Рассмотрите возможность предоставления обратной связи разработчикам Sangfor, так как идентификация проблемы с их стороны может ускорить создание обновления или исправления.

Итак, правильное управление сетевыми ресурсами, использование открытых инструментов сообщества, а также активное участие в IT-сообществах может существенно облегчить разрешение подобных технических конфликтов, позволяя эффективно использовать все доступные технологии.

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

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