نام حل نہیں ہو رہے (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 اور مشین کے اپنے نام والی لائن رکھیں۔
اگر کسی بھی سرور سے نام ریزولو نہ ہوں
تو مسئلہ وسیع تر ہے: مضمون مشین پر نیٹ ورک غائب کی مدد سے بنیادی کنیکٹیویٹی چیک کریں اور یقین کریں کہ آؤٹ باؤنڈ پورٹ 53 آپ کے اپنے پیکٹ فلٹر سے بلاک نہیں ہے۔