Как я могу исправить проблемы с подключением к интернету на WSL2?

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

Только что установил WSL2, и когда я запускаю sudo apt-get update, получаю следующую ошибку archive.ubuntu.com:80 (2001:503:83eb::30) - connect (101: Network is unreachable. Чего мне не хватает здесь?

Замечание: Я использую официальную версию обновления для Windows 10 версии 2004

дистрибутив ubuntu 20.04 LTS

Согласно старым похожим проблемам, я должен отключить Avast, но в моем случае Avast не установлен

Вот вся ошибка

bihire@DESKTOP-UJES0GS:~$ sudo apt-get update
[sudo] password for bihire:
Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [107 kB]
Get:2 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [101 kB]
Get:3 http://security.ubuntu.com/ubuntu focal-security/main Translation-en [37.8 kB]
Get:4 http://security.ubuntu.com/ubuntu focal-security/main amd64 c-n-f Metadata [2612 B]
Get:5 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [10.9 kB]
Get:6 http://security.ubuntu.com/ubuntu focal-security/restricted Translation-en [2972 B]
Get:7 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [34.1 kB]
Get:8 http://security.ubuntu.com/ubuntu focal-security/universe Translation-en [16.6 kB]
Get:9 http://security.ubuntu.com/ubuntu focal-security/universe amd64 c-n-f Metadata [1428 B]
Get:10 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 Packages [1172 B]
Get:11 http://security.ubuntu.com/ubuntu focal-security/multiverse Translation-en [540 B]
Get:12 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 c-n-f Metadata [116 B]
Err:13 http://archive.ubuntu.com/ubuntu focal InRelease
  Cannot initiate the connection to archive.ubuntu.com:80 (2001:503:a83e::2:30). - connect (101: Network is unreachable)

У меня была такая же проблема. Как было предложено в комментарии выше, я отключил опцию IPv6 как для беспроводного адаптера, так и для адаптера WSL Ethernet.

Следуйте этим шагам:

  1. Щелкните правой кнопкой на значке сети и выберите Открыть параметры сети и Интернета
    image
  2. На странице параметров найдите Изменение параметров адаптера в разделе Дополнительные параметры сети
    img
  3. На следующей странице вы увидите множество сетевых адаптеров: для Bluetooth, VPN, Ethernet и Wi-Fi.
  4. Если вы используете Wi-Fi, то отключите IPv6 для адаптеров Wi-Fi и WSL.
  5. Щелкните правой кнопкой на адаптере и выберите Свойства
  6. В появившемся окне найдите чекбокс, указывающий соединение по IPv6, и снимите с него отметку. img

Сначала я пытался оставить комментарий, но не смог (недостаточно репутации).

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

Простое решение было таким:

sudo nano /etc/resolv.conf

и изменение nameserver на nameserver 8.8.8.8.

Для меня это был агент Symantec Endpoint Protection, который блокировал IP-трафик к/от WSL2. В приложении зайдите в меню Изменить настройки > настройка параметров для Защиты сети и узлов от эксплойтов > и выберите опцию Разрешить IP-трафик.

С моей последней версией Windows 10 ver 21H1 (Сборка ОС 19043.1165) и последней WSL2 Ubuntu-18.04. (На Windows 11 Insider ver 21H2 (Сборка ОС 22000.168) и новая установка wsl2 ubuntu 18.04 работает хорошо, .wslconfig правильно установлен с swapfile=0, возможно, что при обновлении на Windows 10 с wsl1 на wsl2, так как .wslconfig уже находился там, он не был правильно создан заново).

Таким образом, простая процедура, которая работает, это изменить файл c:\users%USERPROFILE%.wslconfig на:

[wsl2]    
memory=8GB    
**swapFile=0**    
swap=0

c:> wsl –shutdown
c:> wsl

По какой-то причине кто-то в Microsoft изменил имя параметра конфигурации swap. Странно, когда swapfile=0 определен, сеть wsl2 работает как часы.

Microsoft: Пожалуйста, отделите swalfile от сети. И рассмотрите возможность поддержки обоих имен для swap.

У меня был такой же опыт с дистрибутивом Ubuntu wsl 2 (win10):

No LSB modules are available.

Distributor ID: Ubuntu

Description:    Ubuntu 20.04.3 LTS

Release:        20.04

Codename:       focal

Что я сделал: я обновил etc/hosts.

  • редактируйте ваш hosts: sudo vi etc/hosts

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

    ::1     ip6-localhost ip6-loopback
    
    fe00::0 ip6-localnet
    
    ff00::0 ip6-mcastprefix
    
    ff02::1 ip6-allnodes
    
    ff02::2 ip6-allrouters
    
  • сохраните (esc + x )

  • попробуйте пинговать google.com

Надеюсь, это поможет.

Настройки адаптера

Отключение драйвера фильтра LiveQoS NDIS 6 решило это для меня, ноутбук HP ProBook, Windows 11.

У вас установлен Hyper-V?
Любой дистрибутив WSL не имеет подключения к интернету, если Hyper-V установлен в Windows. Windows получает дополнительный виртуальный сетевой адаптер (установленный Hyper-V), и WSL не может правильно настроить маршрутизацию в своем дистрибутиве.
(Вы можете узнать шлюз по умолчанию Ubuntu WSL, выполнив “ip route”, и пинг этого адреса не дает результата.)

Есть 2 способа решения проблемы: вручную перенастроить IP-адреса, маршрутизацию и брандмауэр (я не знаю как) или удалить Hyper-V.

.

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

Для решения проблемы с подключением к интернету в WSL2 (Windows Subsystem for Linux 2) при обновлении Ubuntu 20.04 LTS, можно воспользоваться несколькими способами. Рассмотрим основные причины и решения данной проблемы, основываясь на различных возможных аспектах.

Теория (Theory)

WSL2 предоставляет полную совместимость ядра Linux, что обеспечивает множество преимуществ, но также и сложности в настройке сети из-за особенностей интеграции с Windows. Основные проблемы зачастую связаны с сетевыми настройками, DNS и конфигурациями IPv6. Проблема, обозначенная в вопросе, связана с невозможностью доступа к IPv6 адресам внешних серверов, что часто вызвано неправильно настроенными сетевыми интерфейсами, параметрами DNS или конфликтом с сетевыми драйверами и виртуальными адаптерами.

Пример (Example)

Множество пользователей сталкиваются с отказом обновления через apt-get, что связано с невозможностью соединения с сервером через IPv6. К примеру, ошибка Cannot initiate the connection to archive.ubuntu.com:80 (2001:503:a83e::2:30) - connect (101: Network is unreachable) указывает на проблемы с маршрутизацией или доступностью сетевых адресов.

Применение (Application)

  1. Отключение IPv6: Первый способ решения — отключить поддержку IPv6 для сетевых адаптеров. Это удобно сделать через настройки Windows:

    • Откройте "Параметры сети и Интернета" через значок сети в системном трее.
    • Перейдите в раздел "Изменение параметров адаптера".
    • Найдите все сетевые адаптеры и, для каждого из них, отключите IPv6:
      • Щелкните правой кнопкой мыши на адаптер, выберите "Свойства".
      • Снимите галочку "Протокол Интернета версии 6 (TCP/IPv6)".
  2. Настройка DNS: Изменение адреса DNS может значительно повлиять на доступность интернет-ресурсов.

    • Откройте /etc/resolv.conf внутри WSL2 с помощью текстового редактора, например, nano.
    • Замените или добавьте строку nameserver 8.8.8.8, чтобы использовать DNS-сервер Google, что часто решает проблемы с имена.domain.
  3. Проблемы с защитным софтом: Если используется корпоративное ПО, например, Symantec Endpoint Protection, необходимо проверить настройки:

    • Включите разрешение IP-трафика в настройках сетевой защиты данного ПО.
  4. Проблемы с Hyper-V: Если на компьютере установлены Hyper-V, это может вызывать конфликт с виртуальными сетевыми адаптерами WSL2.

    • В таком случае можно попробовать удалить Hyper-V, если он не используется для других целей, или корректно настроить маршрутизацию вручную.
  5. Настройка файла конфигурации WSL: Редактирование файла .wslconfig также может помочь в решении сетевых проблем:

    • Проверьте файл C:\Users\%USERNAME%\.wslconfig и добавьте или измените следующие строки:
      [wsl2]
      memory=8GB
      swapFile=0
      swap=0
    • Перезапустите WSL, выполнив команду wsl --shutdown в командной строке Windows.
  6. Комментарии в /etc/hosts: Иногда помогают изменения в файле /etc/hosts:

    • Откройте файл с помощью команд, подобных sudo vi /etc/hosts.
    • Закомментируйте линии, отвечающие за IPv6, если это необходимо, такие как ::1 ip6-localhost ip6-loopback.

Каждый из указанных способов обладает своими особенностями, и совокупность этих решений должна помочь вам исправить проблемы с сетевыми подключениями в WSL2 в Ubuntu 20.04 LTS. Это комплексное руководство охватывает основные аспекты настройки и подгонки сетевой среды для работы с WSL2 на платформах Windows.

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

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