Cum se rezolvă eroarea de rezoluție DNS pe serverul Linux?
Ghid pas cu pas pentru eșecul temporar în rezoluția numelui, eșecul rezoluției domeniului și erorile DNS de actualizare apt.
Deși serverele Linux par să aibă o conexiune la internet, este posibil ca adresele de domeniu să nu fie rezolvate. În acest caz, serverul poate accesa adrese IP, dar google.com, debian.org, ubuntu.com sau servicii de licență/API.
Această problemă se manifestă în special în următoarele procese:
- actualizare apt sau yum actualizare Eroare primită în timpul
- Licența WHMCS, legăturile de plată sau API nu funcționează
- Panoul de joc nu se poate conecta la adresele API de la distanță
- Ping-ul domeniului nu funcționează în timp ce IP-ul ping rulează pe server
- Eșec temporar în rezolvarea numelui eroare vazuta
1. Înțelegerea dacă DNS este într-adevăr problema
Mai întâi verificați accesul public la internet al serverului făcând ping la adresa IP.
ping -c 4 8.8.8.8
Dacă această comandă răspunde, serverul are acces la Internet la nivel IP. Acum testați rezoluția domeniului:
ping -c 4 google.com
Dacă ping-ul IP funcționează, dar ping-ul de domeniu nu funcționează, problema este cel mai probabil din partea DNS.
2. Verificarea setărilor DNS curente
În sistemele Linux, serverele DNS sunt de obicei /etc/resolv.conf este definită în fișier.
cat /etc/resolv.conf
O setare DNS sănătoasă arată de obicei astfel:
nameserver 1.1.1.1 nameserver 8.8.8.8
Dacă fișierul este gol, conține adrese IP incorecte sau scrie doar adrese DNS locale/nefuncționale, rezoluția domeniului poate eșua.
3. Definiție DNS temporară
Pentru testare rapidă, puteți defini DNS temporar cu următoarea comandă:
echo "nameserver 1.1.1.1" > /etc/resolv.conf echo "nameserver 8.8.8.8" >> /etc/resolv.conf
Testați din nou mai târziu:
ping -c 4 google.com
4. Setare DNS persistentă pe sistemele Ubuntu / Debian
Pe sistemele Ubuntu moderne, setările de rețea sunt de obicei netplan Este administrat de . Listați fișierele Netplan:
ls /etc/netplan/
Editați fișierul:
nano /etc/netplan/01-netcfg.yaml
Exemplu de definiție DNS:
network:
version: 2
ethernets:
eth0:
dhcp4: true
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8Pentru a aplica setarea:
netplan apply
Dacă sunteți conectat prin SSH și nu sunteți sigur de setarea rețelei, aveți grijă. Setarea incorectă pentru netplan vă poate întrerupe conexiunea SSH.
5. Setarea DNS CentOS / AlmaLinux / Rocky Linux
Pe sistemele bazate pe RedHat, setările DNS pot fi făcute prin NetworkManager.
Pentru a vedea numele conexiunii active:
nmcli con show
Exemplu de setare DNS:
nmcli con mod "System eth0" ipv4.dns "1.1.1.1 8.8.8.8" nmcli con up "System eth0"
Numele conexiunii dvs. poate fi diferit. Trebuie să utilizați propriul nume de conexiune în comandă.
6. Systemd-rezolvat Verificare
Rezoluție DNS pe unele sisteme systemd-rezolvat Este gestionat de serviciu.
systemctl status systemd-resolved
Dacă serviciul este oprit, îl puteți porni:
systemctl enable systemd-resolved systemctl start systemd-resolved
Pentru a vedea starea DNS:
resolvectl status
7. Verificarea DNS pentru erori de actualizare a pachetului
Când DNS este corupt, nici managerii de pachete nu vor funcționa. De exemplu, pot apărea următoarele erori:
Temporary failure resolving 'archive.ubuntu.com' Could not resolve host Name or service not known
În acest caz, depozitul de pachete nu trebuie considerat corupt. Rezoluția DNS ar trebui testată mai întâi.
Greșeli comune
- Gândindu-mă că nu există internet, dar fără a realiza că de fapt doar DNS este corupt
- Scrierea DNS temporară în fișierul /etc/resolv.conf și gândirea că este o soluție permanentă
- Indentație incorectă a spațiului alb în fișierul Netplan
- Scrierea greșită a numelui conexiunii NetworkManager
- Considerând că API-ul sau sistemul de licențiere funcțional este defect din cauza unei probleme DNS
Întrebări frecvente
Ping-ul IP funcționează, dar ping-ul de domeniu nu funcționează, care este problema?
Cel mai probabil există o problemă de rezoluție DNS. Serverul poate accesa internetul, dar nu poate traduce numele de domenii în adrese IP.
Ce servere DNS pot folosi?
Disponibil în mod obișnuit sunt 1.1.1.1, 1.0.0.1, 8.8.8.8 și 8.8.4.4. Serverul DNS privat poate fi preferat în structurile corporative.
De ce rezolv.conf se schimbă de la sine?
Deoarece fișierul este gestionat automat de netplan, NetworkManager sau systemd-resolved pe majoritatea sistemelor.
Recomandări de siguranță și operațiuni
- Asigurați-vă că efectuați un test de rezoluție a domeniului după schimbarea DNS.
- Adăugați erori DNS în sistemele de plată, licențiere și API la prima listă de verificare.
- Definiți cel puțin două adrese DNS în loc de un singur DNS.
- Dacă furnizorul dvs. de server oferă DNS privat, luați în considerare și acest lucru.
- Rețineți că setarea incorectă pentru netplan poate întrerupe conexiunea SSH.
Acest articol este pregătit special pentru PvPServer.