Puncte:1

DNS nu funcționează pe WSL

drapel us

În prezent, folosesc o versiune Insider a Windows 11.(22458)

Cu toate acestea, am avut această problemă de câteva ori pe alte versiuni. (și a lucrat înainte)

Când pornesc wsl, nu pot face o solicitare DNS. (Pingul unei adrese IP funcționează direct.)

Am urmărit această problemă până la fișierul: /etc/resolv.conf

Include adresa serverului DNS.

Valoarea implicită este: 172.22.192.1

Totuși, acesta nu funcționează.

Dacă îl schimb în 1.1.1.1 (Cloud Flare DNS) funcționează din nou.

Cu toate acestea, după fiecare repornire a wsl, acesta îl schimbă înapoi la valoarea implicită.

Există un fișier numit wsl.conf în care pot dezactiva generarea acestui fișier, dar dacă întotdeauna șterge fișierul în întregime după fiecare repornire.

Deci, cum pot remedia asta?

Prima mea idee a fost să resetez complet wsl, dar nici resetarea aplicației, nici reinstalarea WSL prin funcții nu a remediat.

Are cineva alta idee ce sa faca?

NotTheDr01ds avatar
drapel vn
Utilizați un VPN care ar putea schimba soluția atunci când este activ?
NotTheDr01ds avatar
drapel vn
Doar un avertisment că mi-am șters răspunsul, deoarece era pentru WSL/Ubuntu pe Windows 10, iar Win 11 se comportă cu siguranță diferit. Voi încerca să văd dacă pot să-mi dau seama cum să o repar pe Ubuntu sub Windows 11.
LightJack05 avatar
drapel us
@NotTheDr01ds OMG Tocmai mi-am dat seama că problema este firewall-ul meu. Acesta blochează cererea DNS de la mașina virtuală Linux. Cum este listat WSL în setările paravanului de protecție, astfel încât să îl pot lista albă? Sau și mai bine, cum pot selecta că Conexiunea la WSL este o rețea privată?
NotTheDr01ds avatar
drapel vn
Interesant - Ești sigur că este paravanul de protecție Windows care îl blochează? VM-ul meu Win11 este setat la Public pentru VM în sine, dar încă mă pot conecta la el prin RDP, iar instanțele WSL din el rezolvă DNS fără nicio problemă. Nu știu o modalitate de a schimba vNIC-ul WSL în Privat -- De fapt, în Windows 11, vNIC-ul pare să fie ascuns în întregime de interfața de utilizare Windows (dar încă apare cu ipconfig). Dar mă întreb dacă poate Pi-hole ar putea refuza instanța WSL?
NotTheDr01ds avatar
drapel vn
Oricum, ce se întâmplă dacă schimbați (temporar) întregul profil de rețea Win11 la „Privat” (dacă sunteți într-o rețea „sigură”, cel puțin) - Există vreo diferență în modul în care răspunde WSL? (De asemenea, mulțumesc pentru @etichetarea mea, astfel încât să primesc o notificare!)
NotTheDr01ds avatar
drapel vn
De asemenea, având în vedere că ne gândim că aceasta este mai degrabă o problemă pe partea Windows (cu siguranță *nu* are legătură cu Ubuntu) și nu ați primit niciun alt răspuns de la nimeni pe Ask Ubuntu, ar putea fi timpul să îl ștergeți pe acesta. și recreați întrebarea pe [Super User](https://superuser.com).
NotTheDr01ds avatar
drapel vn
Și un [răspuns super utilizator] potențial relevant (https://superuser.com/a/1496354/1210833). Cel puțin de acum doi ani nu a fost posibil să setați vNIC-ul WSL la privat. Nu am văzut niciun indiciu că ar fi diferit, dar Win11 pare să aibă unele schimbări destul de substanțiale în acest domeniu.
LightJack05 avatar
drapel us
@NotTheDr01ds Ok, cred că mă voi îndrepta către comunitatea Microsoft. Voi încerca să îmi dau seama cum să schimb profilul de rețea la privat (se afișează ca neidentificat în securitatea Windows și deloc în setările de rețea). Problema reală a fost că am selectat ca firewall-ul Windows să blocheze orice sosire atunci când sunt conectat la o rețea publică. Multumesc pentru ajutor!
LightJack05 avatar
drapel us
@NotTheDr01ds În cazul în care doriți să aruncați o privire la întrebare, iată un link: https://answers.microsoft.com/en-us/windows/forum/all/change-the-wsl-network-profile-from -public-to/c62b7bc3-8faf-44bc-8b67-848357352534
Puncte:1
drapel cn

Aceasta este o problemă cu WSL, nu cu Ubuntu sau Windows. Există o mulțime de soluții, cea mai bună pe care am găsit-o https://gist.github.com/coltenkrauter/608cfe02319ce60facd76373249b8ca6

Include și informații VPN, dar pașii funcționează și fără VPN.

  1. Rulați aceste comenzi în terminalul Ubuntu.

    cd ~/../../etc # Accesați folderul etc în WSL.
    echo „[rețea]” | sudo tee wsl.conf # Creați fișierul wsl.conf și adăugați prima linie.
    echo „generateResolvConf = false” | sudo tee -a wsl.conf # Adăugați wsl.conf linia următoare.
    wsl --terminate Debian # Terminați WSL în Windows cmd, în cazul în care sistemul de operare este Ubuntu nu Debian.
    cd ~/../../etc # Accesați folderul etc în WSL.
    sudo rm -Rf resolv.conf # Ștergeți fișierul resolv.conf.
    
  2. În Windows cmd, PowerShell sau terminalul cu VPN-ul conectat fac: Get-NetIPInterface sau ipconfig /all pentru obținerea DNS-ului primar si secundar.

  3. Cu DNS primar și secundar obținut de la pasul 2. înlocuiți numerele în pasul următor în X.X.X.X

  4. echo „server de nume X.X.X.X” | sudo tee rezolv.conf (Creați rezolv.conf și adăugați linia.)

  5. echo „server de nume X.X.X.X” | sudo tee -a resolv.conf (Adăugați linia în rezolv.conf)

  6. wsl --terminate Debian (Terminați WSL în cmd Windows, în cazul în care Ubuntu nu este Debian).

  7. sudo chattr +i resolv.conf

  8. În cele din urmă, în Windows cmd, PowerShell sau terminal:

    Get-NetAdapter | Unde-Obiect {$_.InterfaceDescription -Match „Cisco AnyConnect”} | Set-NetIPInterface -InterfaceMetric 6000
    

Credit: @MartinCaccia, @yukosgiti, @machuu și @AlbesK:
https://github.com/microsoft/WSL/issues/4277
https://github.com/microsoft/WSL/issues/4246

NotTheDr01ds avatar
drapel vn
Bine ați venit la Ask Ubuntu și vă mulțumesc pentru răspuns! Am observat că aveți deja un vot negativ și este *probabil* (deși nu puteți fi niciodată sigur), deoarece răspunsul dvs. se rezumă la ceea ce numim „răspuns numai cu link”, care de obicei nu este permis aici și [poate fi șters. ](https://askubuntu.com/help/deleted-answers). Deși este în regulă (și este încurajat) să furnizați un link ca atribuire, vă rugăm să includeți detaliile relevante despre cum să rezolvați problema direct în răspunsul dvs. Mulțumiri!
Puncte:1
drapel it

WSL își obține adresa IP (și este serverul DNS, masca de rețea și alte lucruri) de la serverul DHCP al Windows. Fie remediați-l pe Windows, fie remediați serverul DNS pe 172.22.192.1.

Aceasta este o problemă Windows, nu o problemă Ubuntu.

Și nu, nu știu cum Windows face DHCP.

LightJack05 avatar
drapel us
Salut, problema este: nu am un DNS pe acest IP. Nici nu stiu care este acest IP. Windows își primește DNS-ul de la routerul meu la 192.168.178.1.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.