Вопрос или проблема
Только что установил 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.
Следуйте этим шагам:
- Щелкните правой кнопкой на значке сети и выберите Открыть параметры сети и Интернета
image - На странице параметров найдите Изменение параметров адаптера в разделе Дополнительные параметры сети
img - На следующей странице вы увидите множество сетевых адаптеров: для Bluetooth, VPN, Ethernet и Wi-Fi.
- Если вы используете Wi-Fi, то отключите IPv6 для адаптеров Wi-Fi и WSL.
- Щелкните правой кнопкой на адаптере и выберите Свойства
- В появившемся окне найдите чекбокс, указывающий соединение по 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
Надеюсь, это поможет.
У вас установлен 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)
-
Отключение IPv6: Первый способ решения — отключить поддержку IPv6 для сетевых адаптеров. Это удобно сделать через настройки Windows:
- Откройте "Параметры сети и Интернета" через значок сети в системном трее.
- Перейдите в раздел "Изменение параметров адаптера".
- Найдите все сетевые адаптеры и, для каждого из них, отключите IPv6:
- Щелкните правой кнопкой мыши на адаптер, выберите "Свойства".
- Снимите галочку "Протокол Интернета версии 6 (TCP/IPv6)".
-
Настройка DNS: Изменение адреса DNS может значительно повлиять на доступность интернет-ресурсов.
- Откройте
/etc/resolv.conf
внутри WSL2 с помощью текстового редактора, например,nano
. - Замените или добавьте строку
nameserver 8.8.8.8
, чтобы использовать DNS-сервер Google, что часто решает проблемы с имена.domain.
- Откройте
-
Проблемы с защитным софтом: Если используется корпоративное ПО, например, Symantec Endpoint Protection, необходимо проверить настройки:
- Включите разрешение IP-трафика в настройках сетевой защиты данного ПО.
-
Проблемы с Hyper-V: Если на компьютере установлены Hyper-V, это может вызывать конфликт с виртуальными сетевыми адаптерами WSL2.
- В таком случае можно попробовать удалить Hyper-V, если он не используется для других целей, или корректно настроить маршрутизацию вручную.
-
Настройка файла конфигурации WSL: Редактирование файла
.wslconfig
также может помочь в решении сетевых проблем:- Проверьте файл
C:\Users\%USERNAME%\.wslconfig
и добавьте или измените следующие строки:[wsl2] memory=8GB swapFile=0 swap=0
- Перезапустите WSL, выполнив команду
wsl --shutdown
в командной строке Windows.
- Проверьте файл
-
Комментарии в
/etc/hosts
: Иногда помогают изменения в файле/etc/hosts
:- Откройте файл с помощью команд, подобных
sudo vi /etc/hosts
. - Закомментируйте линии, отвечающие за IPv6, если это необходимо, такие как
::1 ip6-localhost ip6-loopback
.
- Откройте файл с помощью команд, подобных
Каждый из указанных способов обладает своими особенностями, и совокупность этих решений должна помочь вам исправить проблемы с сетевыми подключениями в WSL2 в Ubuntu 20.04 LTS. Это комплексное руководство охватывает основные аспекты настройки и подгонки сетевой среды для работы с WSL2 на платформах Windows.