Hoe DNS-resolutiefout op Linux Server op te lossen?
Stapsgewijze handleiding voor tijdelijke problemen bij het omzetten van namen, fouten bij het oplossen van domeinen en DNS-fouten bij apt-updates.
Hoewel het lijkt alsof Linux-servers een internetverbinding hebben, kunnen domeinadressen niet worden omgezet. In dit geval heeft de server toegang tot IP-adressen, maar google.com, debian.org, ubuntu.com of licentie-/API-services.
Dit probleem manifesteert zich vooral in de volgende processen:
- passende update of jammie update Fout ontvangen tijdens
- WHMCS licentie-, betalings- of API-links werken niet
- Gamepaneel kan geen verbinding maken met externe API-adressen
- Domeinping werkt niet terwijl ping IP actief is op de server
- Tijdelijke fout in naamomzetting fout gezien
1. Begrijpen of DNS echt het probleem is
Controleer eerst de openbare internettoegang van de server door het IP-adres te pingen.
ping -c 4 8.8.8.8
Als dit commando reageert, heeft de server toegang tot internet op IP-niveau. Test nu de domeinresolutie:
ping -c 4 google.com
Als IP-ping wel werkt, maar domeinping niet, ligt het probleem hoogstwaarschijnlijk aan de DNS-kant.
2. Huidige DNS-instellingen controleren
In Linux-systemen zijn dit meestal DNS-servers /etc/resolv.conf is gedefinieerd in het bestand.
cat /etc/resolv.conf
Een gezonde DNS-instelling ziet er meestal als volgt uit:
nameserver 1.1.1.1 nameserver 8.8.8.8
Als het bestand leeg is, onjuiste IP-adressen bevat of alleen lokale/niet-werkende DNS-adressen schrijft, mislukt de domeinomzetting mogelijk.
3. Tijdelijke DNS-definitie
Voor een snelle test kunt u tijdelijke DNS definiëren met de volgende opdracht:
echo "nameserver 1.1.1.1" > /etc/resolv.conf echo "nameserver 8.8.8.8" >> /etc/resolv.conf
Later opnieuw testen:
ping -c 4 google.com
4. Aanhoudende DNS-instelling op Ubuntu / Debian-systemen
Op moderne Ubuntu-systemen zijn de netwerkinstellingen meestal netplan Het wordt beheerd door . Lijst Netplan-bestanden:
ls /etc/netplan/
Bewerk het bestand:
nano /etc/netplan/01-netcfg.yaml
Voorbeeld DNS-definitie:
network:
version: 2
ethernets:
eth0:
dhcp4: true
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8Om de instelling toe te passen:
netplan apply
Wees voorzichtig als u verbonden bent via SSH en niet zeker bent van de netwerkinstelling. Een onjuiste netplan-instelling kan uw SSH-verbinding verbreken.
5. CentOS / AlmaLinux / Rocky Linux DNS-instelling
Op RedHat-gebaseerde systemen kunnen DNS-instellingen via NetworkManager worden uitgevoerd.
Om de actieve verbindingsnaam te zien:
nmcli con show
Voorbeeld DNS-instelling:
nmcli con mod "System eth0" ipv4.dns "1.1.1.1 8.8.8.8" nmcli con up "System eth0"
Uw verbindingsnaam kan anders zijn. U moet uw eigen verbindingsnaam gebruiken in de opdracht.
6. door systeem opgeloste controle
DNS-resolutie op sommige systemen systemd-opgelost Het wordt beheerd door de dienst.
systemctl status systemd-resolved
Als de service niet beschikbaar is, kunt u deze starten:
systemctl enable systemd-resolved systemctl start systemd-resolved
DNS-status bekijken:
resolvectl status
7. DNS-controle op pakketupdatefouten
Als DNS corrupt is, werken pakketbeheerders ook niet. De volgende fouten kunnen bijvoorbeeld optreden:
Temporary failure resolving 'archive.ubuntu.com' Could not resolve host Name or service not known
In dit geval mag het pakketarchief niet als corrupt worden beschouwd. DNS-resolutie moet eerst worden getest.
Veelvoorkomende fouten
- Denken dat er geen internet is, maar niet beseffen dat eigenlijk alleen DNS beschadigd is
- Tijdelijke DNS schrijven in het bestand /etc/resolv.conf en denken dat het een permanente oplossing is
- Onjuiste inspringing van de witruimte in het Netplan-bestand
- Verkeerde spelling van de NetworkManager-verbindingsnaam
- Denken dat de werkende API of het licentiesysteem defect is vanwege een DNS-probleem
Veelgestelde vragen
IP-ping werkt, maar domeinping werkt niet. Wat is het probleem?
Er is waarschijnlijk een probleem met de DNS-resolutie. De server heeft toegang tot internet, maar kan domeinnamen niet vertalen naar IP-adressen.
Welke DNS-servers kan ik gebruiken?
Algemeen verkrijgbaar zijn 1.1.1.1, 1.0.0.1, 8.8.8.8 en 8.8.4.4. Een privé-DNS-server kan de voorkeur hebben in bedrijfsstructuren.
Waarom verandert resolv.conf vanzelf?
Omdat het bestand op de meeste systemen automatisch wordt beheerd door netplan, NetworkManager of systemd-resolved.
Aanbevelingen voor veiligheid en bediening
- Zorg ervoor dat u na een DNS-wijziging een domeinresolutietest uitvoert.
- Voeg DNS-fouten in betalings-, licentie- en API-systemen toe aan de eerste checklist.
- Definieer minimaal twee DNS-adressen in plaats van één DNS.
- Als uw serverprovider privé-DNS biedt, houd daar dan ook rekening mee.
- Houd er rekening mee dat een onjuiste netplan-instelling de SSH-verbinding kan verbreken.
Dit artikel is speciaal opgesteld voor PvPServer.