Come risolvere l'errore di risoluzione DNS sul server Linux?
Guida passo passo per errori temporanei nella risoluzione dei nomi, errori nella risoluzione del dominio ed errori DNS di aggiornamento appropriato.
Sebbene i server Linux sembrino avere una connessione Internet, gli indirizzi di dominio potrebbero non essere risolti. In questo caso, il server può accedere agli indirizzi IP, ma google.com, debian.org, ubuntu.com o servizi di licenza/API.
Questo problema si manifesta soprattutto nei seguenti processi:
- aggiornamento adeguato O gnam aggiornamento Errore ricevuto durante
- La licenza WHMCS, il pagamento o i collegamenti API non funzionano
- Il pannello di gioco non può connettersi agli indirizzi API remoti
- Il ping del dominio non funziona mentre il ping IP è in esecuzione sul server
- Errore temporaneo nella risoluzione dei nomi errore riscontrato
1. Capire se il DNS è davvero il problema
Per prima cosa controlla l'accesso pubblico a Internet del server eseguendo il ping del suo indirizzo IP.
ping -c 4 8.8.8.8
Se questo comando risponde, il server ha accesso a Internet a livello IP. Ora prova la risoluzione del dominio:
ping -c 4 google.com
Se il ping IP funziona ma il ping dominio non funziona, molto probabilmente il problema è sul lato DNS.
2. Controllo delle impostazioni DNS correnti
Nei sistemi Linux, i server DNS sono solitamente /etc/resolv.conf è definito nel file.
cat /etc/resolv.conf
Un'impostazione DNS sana solitamente si presenta così:
nameserver 1.1.1.1 nameserver 8.8.8.8
Se il file è vuoto, contiene indirizzi IP errati o scrive solo indirizzi DNS locali/non funzionanti, la risoluzione del dominio potrebbe non riuscire.
3. Definizione DNS temporanea
Per un test rapido, puoi definire DNS temporanei con il seguente comando:
echo "nameserver 1.1.1.1" > /etc/resolv.conf echo "nameserver 8.8.8.8" >> /etc/resolv.conf
Prova di nuovo più tardi:
ping -c 4 google.com
4. Impostazione DNS persistente su sistemi Ubuntu/Debian
Sui moderni sistemi Ubuntu, le impostazioni di rete sono solitamente netplan È gestito da . Elenca i file Netplan:
ls /etc/netplan/
Modifica il file:
nano /etc/netplan/01-netcfg.yaml
Esempio di definizione DNS:
network:
version: 2
ethernets:
eth0:
dhcp4: true
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8Per applicare l'impostazione:
netplan apply
Se sei connesso tramite SSH e non sei sicuro delle impostazioni di rete, fai attenzione. Un'impostazione netplan errata potrebbe interrompere la connessione SSH.
5. Impostazione DNS CentOS/AlmaLinux/Rocky Linux
Sui sistemi basati su RedHat, le impostazioni DNS possono essere effettuate tramite NetworkManager.
Per vedere il nome della connessione attiva:
nmcli con show
Esempio di impostazione DNS:
nmcli con mod "System eth0" ipv4.dns "1.1.1.1 8.8.8.8" nmcli con up "System eth0"
Il nome della tua connessione potrebbe essere diverso. È necessario utilizzare il proprio nome di connessione nel comando.
6. Controllo risolto dal sistema
Risoluzione DNS su alcuni sistemi risolto dal sistema È gestito dal servizio.
systemctl status systemd-resolved
Se il servizio non è attivo puoi avviarlo:
systemctl enable systemd-resolved systemctl start systemd-resolved
Per visualizzare lo stato DNS:
resolvectl status
7. Controllo DNS per errori di aggiornamento del pacchetto
Quando il DNS è corrotto, neanche i gestori di pacchetti funzioneranno. Ad esempio, potrebbero verificarsi i seguenti errori:
Temporary failure resolving 'archive.ubuntu.com' Could not resolve host Name or service not known
In questo caso, l'archivio pacchetti non deve essere considerato danneggiato. La risoluzione DNS dovrebbe essere testata prima.
Errori comuni
- Pensare che non ci sia Internet ma non rendersi conto che in realtà solo il DNS è corrotto
- Scrivere DNS temporanei nel file /etc/resolv.conf e pensare che sia una soluzione permanente
- Rientro degli spazi bianchi errato nel file Netplan
- Errore di ortografia del nome della connessione NetworkManager
- Pensare che l'API funzionante o il sistema di licenza siano difettosi a causa di un problema DNS
Domande frequenti
Il ping IP funziona ma il ping dominio non funziona, qual è il problema?
Molto probabilmente c'è un problema di risoluzione DNS. Il server può accedere a Internet, ma non può tradurre i nomi di dominio in indirizzi IP.
Quali server DNS posso utilizzare?
Comunemente disponibili sono 1.1.1.1, 1.0.0.1, 8.8.8.8 e 8.8.4.4. Nelle strutture aziendali può essere preferibile un server DNS privato.
Perché resolv.conf cambia da solo?
Perché il file viene gestito automaticamente da netplan, NetworkManager o systemd-resolved sulla maggior parte dei sistemi.
Raccomandazioni per la sicurezza e il funzionamento
- Assicurati di eseguire un test di risoluzione del dominio dopo la modifica del DNS.
- Aggiungi gli errori DNS nei sistemi di pagamento, licenza e API alla prima lista di controllo.
- Definire almeno due indirizzi DNS invece di un singolo DNS.
- Se il tuo provider di server fornisce DNS privati, considera anche questo.
- Tieni presente che un'impostazione netplan errata potrebbe interrompere la connessione SSH.
Questo articolo è stato preparato appositamente per PvPServer.