పేర్లు resolve అవ్వడం లేదు (DNS)
మెషిన్ చిరునామాలను చూడగలదు కానీ పేర్లను కాదు: resolver ను ఎలా తనిఖీ చేయాలి, resolv.conf ను ఎలా సరిచేయాలి మరియు రీబూట్ తర్వాత సెట్టింగ్ పోకుండా ఎలా నివారించాలి.
23 ఆగస్టు, 2026న నవీకరించబడింది
ఈ వైఫల్య లక్షణం సులభంగా గుర్తించదగినది: ping 1.1.1.1 పనిచేస్తుంది, ping millida.net అయితే “Temporary failure in name resolution” అని సమాధానమిస్తుంది, apt update వేలాడుతూ టైమ్ అవుట్ అవుతుంది. నెట్వర్క్ స్వయంగా సరిగ్గానే ఉంది — పేర్లను చిరునామాలుగా మార్చే ప్రక్రియ మాత్రమే పాడైంది.
దశ 1. సమస్య పేర్లలోనే ఉందో లేదో నిర్ధారించుకోండి
ping -c3 1.1.1.1
getent hosts millida.net
dig +short millida.net @1.1.1.1
స్పష్టంగా సర్వర్ను పేర్కొని dig అమలు చేస్తే సమాధానం వస్తుంది, కానీ getent రాకపోతే, ఏ రిజాల్వర్ను సంప్రదించాలో సిస్టమ్కు తెలియదని అర్థం. ఇది కనెక్టివిటీ సమస్య కాదు, కాన్ఫిగరేషన్ సమస్య.
దశ 2. రిజల్యూషన్ను ఏది నిర్వహిస్తుందో తనిఖీ చేయండి
cat /etc/resolv.conf
systemctl status systemd-resolved
resolvectl status
మూడు రకాల పరిస్థితులు సాధ్యం:
- ఫైల్ ఖాళీగా ఉంది లేదా అందులో
nameserverలైన్లు లేవు — ఎలాంటి రిజాల్వర్ సెట్ చేయలేదు; - ఫైల్లో
nameserver 127.0.0.53ఉంది, కానీsystemd-resolvedఅమలవుతోంది లేదు — అభ్యర్థనలు ఎక్కడికీ చేరవు; - మన నెట్వర్క్ నుండి చేరుకోలేని థర్డ్-పార్టీ సర్వర్ కాన్ఫిగర్ చేయబడింది.
దశ 3. సరిచేయండి
apt మరియు curl తిరిగి పనిచేయడానికి వేగవంతమైన పునరుద్ధరణ:
echo 'nameserver 1.1.1.1' > /etc/resolv.conf
echo 'nameserver 8.8.8.8' >> /etc/resolv.conf
ఇది వెంటనే పనిచేస్తుంది, కానీ రీబూట్ లేదా తదుపరి నెట్వర్క్ రీకాన్ఫిగరేషన్ వరకు మాత్రమే నిలిచి ఉంటుంది. శాశ్వత పరిష్కారం సిస్టమ్ను బట్టి ఉంటుంది.
systemd-resolved ఉన్న Debian మరియు Ubuntu:
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 మరియు CentOS Stream:
nmcli con mod "System ens18" ipv4.dns "1.1.1.1 8.8.8.8"
nmcli con up "System ens18"
/etc/resolv.confఅనేది/runలోకి సింబాలిక్ లింక్ అయితే దాన్ని మాన్యువల్గా ఎడిట్ చేయవద్దు. అలాంటి ఫైల్ను సర్వీస్ ఓవర్రైట్ చేస్తుంది, మీ మార్పు మొదటి రీబూట్లోనే పోతుంది — ఒక వారం తర్వాత అదే వైఫల్యం ఎదురవుతుంది, కారణం గుర్తుండదు.
దశ 4. ప్రత్యేక సందర్భాలు
రిజాల్వర్ పనిచేస్తోంది, కానీ ఒక నిర్దిష్ట పేరు మాత్రం కనుగొనబడటం లేదు. ఆ రికార్డ్ ప్రచురించబడిందో లేదో తనిఖీ చేయండి:
dig millida.net A @1.1.1.1
dig millida.net A @8.8.8.8
రెండు సర్వర్ల నుండి వేర్వేరు సమాధానాలు రావడం అంటే జోన్ ఇటీవల మారిందని, ఎక్కడో పాత క్యాష్ ఇంకా ఉందని అర్థం. dig సమాధానంలోని రికార్డ్ టైమ్ టు లైవ్ (TTL) వరకు వేచి ఉండండి.
మెషీన్ చిరునామా కోసం ఉన్న రివర్స్ రికార్డ్ (PTR) కి ఈ సమస్యతో ఎలాంటి సంబంధం లేదు: అది మెయిల్ సర్వర్లకు అవసరం, “Access” ట్యాబ్లో సెట్ చేయబడుతుంది, మెషీన్ స్వయంగా పేర్లను ఎలా రిజాల్వ్ చేస్తుందనే దానిపై ఎలాంటి ప్రభావం చూపదు.
మరో సాధారణ కారణం — మైగ్రేషన్ తర్వాత మిగిలిపోయిన పాత లైన్తో ఉన్న /etc/hosts. సిస్టమ్ దాన్ని DNS కంటే ముందు తనిఖీ చేసి, పాత చిరునామాకే పట్టుబట్టి వెళుతుంది:
cat /etc/hosts
అదనపు లైన్లను తొలగించి, 127.0.0.1 localhost మరియు మెషీన్ స్వంత పేరు ఉన్న లైన్ను మాత్రమే ఉంచండి.
ఏ సర్వర్ నుండైనా పేర్లు రిజాల్వ్ కాకపోతే
అప్పుడు సమస్య విస్తృతమైనది: Lost network on the machine అనే ఆర్టికల్ ఉపయోగించి ప్రాథమిక కనెక్టివిటీని తనిఖీ చేయండి, అలాగే అవుట్బౌండ్ పోర్ట్ 53 మీ స్వంత ప్యాకెట్ ఫిల్టర్ ద్వారా బ్లాక్ చేయబడలేదని నిర్ధారించుకోండి.