ubuntu под подсистемой windows для linux 2 (wsl2) не имеет доступа к inte rnet - PullRequest
1 голос
/ 16 июня 2020

У меня был ubuntu под wsl 1, работающий нормально и подключенный к inte rnet

Просто обновившись до wsl2, я не могу пинговать google.com с bash

но я могу пинговать, если я откатываюсь до wsl1

, вот проблема: [WSL2] Нет сети · Проблема № 4731 · microsoft / WSL

Я пробовал это, но не работает

Шаг 1: откройте диспетчер Hyper-V от имени администратора

enter image description here

Step 2 : select Virtual Switch Manager From Actions

enter image description here

Step 3 : select WLS

enter image description here

Step 4 : select External Network chose and adapter connect to the internet

введите описание изображения здесь

my windows ipconfig Ethe rnet адаптер vEthe rnet (WSL):

Ethernet adapter vEthernet (WSL):

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::30a4:2612:6ee3:2390%142
   IPv4 Address. . . . . . . . . . . : 192.168.0.103
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.0.1

Форма ubuntu ping 192.168.0.103

xxxxxxxxx@xxxxxxxxxxx:~$ ping 192.168.0.103
PING 192.168.0.103 (192.168.0.103) 56(84) bytes of data.
From 172.22.131.55 icmp_seq=1 Destination Host Unreachable
From 172.22.131.55 icmp_seq=2 Destination Host Unreachable

Форма ubuntu ip route

xxxxxxxxx@xxxxxxxxxxx:~$ ip route
default via 172.22.128.1 dev eth0 
172.22.128.0/20 dev eth0  proto kernel  scope link  src 172.22.131.55

Форма ubuntu пробовала sudo ip route добавить по умолчанию через 192.168.0.103

xxxxxxxxx@xxxxxxxxxx:~$ sudo ip route add default via 192.168.0.103
RTNETLINK answers: Network is unreachable

Ответы [ 2 ]

0 голосов
/ 21 августа 2020

У меня была аналогичная проблема. Я уже пробовал большинство исправлений, упомянутых в разделе проблем репозитория github. Но ни один из них не работал у меня постоянно.

Чтобы временно получить доступ, я создал функцию, которая, похоже, у меня работала.

net_activate() {
sudo bash -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
}

Я сохранил ее в файле .bashr c. Каждый раз, когда мне нужно было подключиться, я запускал эту команду.

Вчера я был немного разочарован этой проблемой и сделал много вещей, а теперь все работает нормально без вызова этой функции.

Итак, вот список того, что я сделал последовательно:

  • Удалил все VPN, которые у меня были, и удалил их адаптеры вручную.
  • Удалены все сетевые адаптеры (не только VPN, но все перечисленные, в том числе скрытые) из диспетчера устройств
  • Запуск CCleaner и пользовательская очистка с установленными флажками.
  • Сброс сети. (Для этого просто нажмите «Win + S» и введите «сброс сети»)

После перезапуска моего P C inte rnet в WSL2 работал полностью нормально.

0 голосов
/ 16 июня 2020

Этот хак (исправление) не является постоянным решением

Внутри ubuntu мне пришлось:

  • добавить ручное назначение IP-адреса сетевому адаптеру
  • Мой маршрутизатор Dynami c IP rang 100-200
  • Мой IP-адрес 192.168.0.103/255.255.255.0
  • Мой IP-адрес 192.168.0.103/24

### обратите внимание, что вы должны включить внешнюю сеть в виртуальном коммутаторе сети wsl hyper-v (см. Шаги с 1 по 4 в вопросе)

bash команды:


sudo ip a flush dev eth0
sudo ip a add 192.168.0.5/24 dev eth0
sudo ip r add default via 192.168.0.1

, вы должны повторять эту команду при каждом перезапуске виртуальной машины (или вы можете создать сценарий)

Ссылка. :

enter image description here

Примечание: существует около 14 открытых проблем, связанных с сетью wsl, поэтому я не предлагаю включать ее (17.06.2020, возможно, будет лучше после проблемы закрыты)

...