Я делал az login
из WSL моей windows машины. Затем выдает ошибку:
Please ensure you have network connection. Error detail: HTTPSConnectionPool(host='login.microsoftonline.com', port=443): Max retries exceeded with url: /common/oauth2/token (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f401d135630>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',))
Я надеюсь, что это проблема DNS. Поэтому я проверил /etc/resolv.conf
WSL:
# This file was automatically generated by WSL. To stop automatic generation of this file, remove this line.
nameserver 192.168.1.1
nameserver fcc0:0:0:ffff::1
nameserver fcc0:0:0:ffff::2
192.168.1.1 является шлюзом по умолчанию.
Есть результаты некоторых команд, которые я пробовал:
$ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=128 time=0.351 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=128 time=0.888 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=128 time=0.883 ms
$ dig 192.168.1.1
; <<>> DiG 9.11.3-1ubuntu1.3-Ubuntu <<>> 192.168.1.1
;; global options: +cmd
;; connection timed out; no servers could be reached
$ nslookup 192.168.1.1
;; connection timed out; no servers could be reached
Эти команды также дают вывод, который указывает на проблему.
Ping google.com
dig google.com
Все эти команды (или их альтернативы) работают из командной строки Windows и работают правильно.
Я нашел обходной путь здесь:
https://askubuntu.com/questions/91543/apt-get-update-fails-to-fetch-files-temporary-failure-resolving-error
В нем говорится, что я должен добавить следующую строку в /etc/resolv.conf. Если я попробую это так, это сработает.
nameserver 192.168.1.1
nameserver 8.8.8.8
nameserver fcc0:0:0:ffff::1
nameserver fcc0:0:0:ffff::2
После этого ping google.com
и dig google.com
работают нормально. Но я вижу, что сервер имен, который он использует для разрешения, - 8.8.8.8
.
Если я подключаюсь к VPN, он добавляет наши собственные серверы имен в /etc/resolv.conf, и после этого не возникает проблем с разрешением URL-адресов. После отключения VPN проблема возникает снова.
Примечание:
Подобных проблем раньше не было. В прошлый день мы изменили наш маршрутизатор, чтобы использовать новое подключение к интернет-провайдеру, и после этого возникает проблема. Другие машины в той же сети не имеют этой проблемы.
Почему это происходит и как я могу правильно решить эту проблему WSL?
Почему только один компьютер в нашей сети может пропинговать, но не удается перейти на шлюз по умолчанию?
Обновление:
Я вижу, что в таблице маршрутизации есть две записи, помеченные как стандартные:
$ ip route show table all | grep default
none default via 192.168.0.1 dev wifi0 proto unspec metric 0
none default via 192.168.1.1 dev eth6 proto unspec metric 0