Skip to content
VDS · Riešenie problémov

Nerezolvujú sa názvy (DNS)

Stroj vidí adresy, ale nie názvy: ako skontrolovať resolver, opraviť resolv.conf a nestratiť nastavenie po reštarte.

Aktualizované 23. augusta 2026

Príznak tohto zlyhania je rozpoznateľný: ping 1.1.1.1 funguje, ping millida.net odpovie „Temporary failure in name resolution“, apt update zamrzne a vyprší časový limit. Samotná sieť je v poriadku — nefunkčný je len prevod názvov na adresy.

Krok 1. Uisti sa, že problém je v názvoch

ping -c3 1.1.1.1
getent hosts millida.net
dig +short millida.net @1.1.1.1

Ak dig s explicitne zadaným serverom odpovie, ale getent nie, systém nevie, ktorý resolver má kontaktovať. Ide o problém konfigurácie, nie konektivity.

Krok 2. Skontroluj, čo sa stará o preklad

cat /etc/resolv.conf
systemctl status systemd-resolved
resolvectl status

Možné sú tri situácie:

  • súbor je prázdny alebo neobsahuje riadky nameserver — nie je nastavený žiadny resolver;
  • súbor obsahuje nameserver 127.0.0.53, ale systemd-resolved nebeží — požiadavky idú do prázdna;
  • je nastavený server tretej strany, ktorý je z našej siete nedostupný.

Krok 3. Oprav to

Rýchla obnova, aby apt a curl znovu fungovali:

echo 'nameserver 1.1.1.1' > /etc/resolv.conf
echo 'nameserver 8.8.8.8' >> /etc/resolv.conf

Funguje okamžite, ale vydrží len do reštartu alebo do ďalšej zmeny sieťovej konfigurácie. Trvalá oprava závisí od systému.

Debian a Ubuntu so systemd-resolved:

systemctl enable --now systemd-resolved
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
resolvectl dns ens18 1.1.1.1 8.8.8.8

AlmaLinux a CentOS Stream:

nmcli con mod "System ens18" ipv4.dns "1.1.1.1 8.8.8.8"
nmcli con up "System ens18"

Neupravuj /etc/resolv.conf ručne, ak je to symbolický odkaz do /run. Takýto súbor služba prepisuje a tvoja zmena zmizne pri prvom reštarte — o týždeň narazíš na to isté zlyhanie a nebudeš si pamätať prečo.

Krok 4. Špeciálne prípady

Resolver funguje, ale konkrétny názov sa nedá nájsť. Skontroluj, či je záznam vôbec zverejnený:

dig millida.net A @1.1.1.1
dig millida.net A @8.8.8.8

Rôzne odpovede z dvoch serverov znamenajú, že zóna sa nedávno zmenila a niekde ešte existuje stará cache. Počkaj na čas života záznamu (TTL) z odpovede dig.

Reverzný záznam pre adresu stroja (PTR) s týmto problémom nesúvisí: potrebujú ho poštové servery, nastavuje sa na karte „Prístup“ a neovplyvňuje, ako stroj sám prekladá názvy.

Ďalším častým nálezom je /etc/hosts s neaktuálnym riadkom, ktorý zostal po migrácii. Systém ho kontroluje pred DNS a tvrdohlavo chodí na starú adresu:

cat /etc/hosts

Odstráň nadbytočné riadky a ponechaj 127.0.0.1 localhost a riadok s vlastným názvom stroja.

Ak sa názvy neprekladajú zo žiadneho servera

Potom je problém širší: over základnú konektivitu podľa článku Strata siete na stroji a uisti sa, že odchádzajúci port 53 neblokuje tvoj vlastný paketový filter.