خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
رفع ارور Temporary failure in name resolution
خطای Temporary failure in name resolution زمانی رخ می دهد که سیستم نتواند نام وب سایت را به آدرس آی پی Resolve کند. در حالی که گاهی اوقات خطا به دلیل قطع شدن اتصال اینترنت ظاهر می شود، اما بعضا دلیل فقط قطعی یا عدم دسترسی به اینترنت نیست و دلایل دیگری می تواند پشت آن باشد که با هم آنها را بررسی می کنیم.
پس راه حل های خطای Temporary failure in name resolution را به شما نشان خواهیم داد. با ما همراه باشید.
این خطا زمانی رخ می دهد که مثلا یک کاربر درصدد این است که یک وب سایت را Ping کند. سیستم نمی تواند با سرور DNS ارتباط برقرار کند و خطا را برمی گرداند.
شایع ترین علت این خطا پیکربندی اشتباه فایل پیکربندی شبکه resolv.conf و فایروال با است. resolv.conf فایلی برای پیکربندی DNS Server ها در سیستم های لینوکس است.
فایل مذکور را با یک ویرایشگر متن مثل nano باز کنید.
مطمئن شوید که فایل resolv.conf دارای حداقل یک nameserver باشد. خطوطی که nameserver ها را مشخص می کند باید بصورت زیر باشد:
اگر در nameserver هیچ چیزی ندارید حداقل یکی بدان اضافه کنید. 8.8.8.8 و 8.8.4.4 دو nameserver محبوب متعلق به گوگل هستند، اما شما می توانید هر DNS را به این لیست اضافه کنید.
با فشردن کلیدهای Ctrl+S فایل را ذخیره کرده و با فشردن کلیدهای Ctrl+X از فایل خارج شوید.
حالا با اجرای دستور زیر سرویس DNS resolver را ریستارت کنید.
اگر دستور فوق با موفقیت اجرا شود در خروجی هیچ چیزی نشان داده نمی شود. حالا یک وب سایت اینترنتی را ping کنید و وضعیت ارور Temporary failure in name resolution را بررسی کنید.
اگر فایل resolv.conf دارای DNS سرورهای معتبری بود و این ارور رخ داد احتمالا این خطا به دلیل file permission یا مجوزهای فایل رخ داده است. ownership یا مالکیت فایل را به کاربر root تخصیص دهید. اینکار را با دستور زیر می توانید انجام دهید:
user permission ها را هم تغییر دهید تا همه افراد در سیستم بتوانند فایل را بخوانند:
حالا دوباره اقدام به ping وب سایت کنید.
یکی دیگر از دلایل خطای Temporary failure in name resolution، این است که شاید فایروال یک یا دو پورت زیر را بلاک کرده باشد:
از دستور زیر برای مجاز کردن ترافیک پورت 43 روی فایروال استفاده کنید:
حالا ترافیک پورت 53 را روی فایروال تان مجاز کنید:
سپس فایروال را با دستور زیر Reload کنید تا تنظیمات جدید اعمال شوند:
برخی از توزیع های لینوکس مانند CentOS از firewalld به عنوان فایروال پیشفرض خود استفاده می کنند. سینتکس برای باز کردن پورت 43 در firewalld بصورت زیر است:
خروجی firewalld همانطور که در دستور زیر مشاهده می کنید، success است.
و برای باز کردن پورت 53 دستور زیر را اجرا کنید:
سپس فایروال را با دستور زیر Reload کنید:
حالا وب سایت را دوباره Ping کنید و وضعیت را بررسی کنید.
پس راه حل های خطای Temporary failure in name resolution را به شما نشان خواهیم داد. با ما همراه باشید.
این خطا زمانی رخ می دهد که مثلا یک کاربر درصدد این است که یک وب سایت را Ping کند. سیستم نمی تواند با سرور DNS ارتباط برقرار کند و خطا را برمی گرداند.
شایع ترین علت این خطا پیکربندی اشتباه فایل پیکربندی شبکه resolv.conf و فایروال با است. resolv.conf فایلی برای پیکربندی DNS Server ها در سیستم های لینوکس است.
فایل مذکور را با یک ویرایشگر متن مثل nano باز کنید.
sudo nano /etc/resolv.conf
مطمئن شوید که فایل resolv.conf دارای حداقل یک nameserver باشد. خطوطی که nameserver ها را مشخص می کند باید بصورت زیر باشد:
nameserver 8.8.8.8
اگر در nameserver هیچ چیزی ندارید حداقل یکی بدان اضافه کنید. 8.8.8.8 و 8.8.4.4 دو nameserver محبوب متعلق به گوگل هستند، اما شما می توانید هر DNS را به این لیست اضافه کنید.
با فشردن کلیدهای Ctrl+S فایل را ذخیره کرده و با فشردن کلیدهای Ctrl+X از فایل خارج شوید.
حالا با اجرای دستور زیر سرویس DNS resolver را ریستارت کنید.
sudo systemctl restart systemd-resolved.service
اگر دستور فوق با موفقیت اجرا شود در خروجی هیچ چیزی نشان داده نمی شود. حالا یک وب سایت اینترنتی را ping کنید و وضعیت ارور Temporary failure in name resolution را بررسی کنید.
اگر فایل resolv.conf دارای DNS سرورهای معتبری بود و این ارور رخ داد احتمالا این خطا به دلیل file permission یا مجوزهای فایل رخ داده است. ownership یا مالکیت فایل را به کاربر root تخصیص دهید. اینکار را با دستور زیر می توانید انجام دهید:
sudo chown root:root /etc/resolv.conf
user permission ها را هم تغییر دهید تا همه افراد در سیستم بتوانند فایل را بخوانند:
sudo chmod 644 /etc/resolv.conf
حالا دوباره اقدام به ping وب سایت کنید.
یکی دیگر از دلایل خطای Temporary failure in name resolution، این است که شاید فایروال یک یا دو پورت زیر را بلاک کرده باشد:
port 43, used for whois lookup
port 53, used for domain name resolution
از دستور زیر برای مجاز کردن ترافیک پورت 43 روی فایروال استفاده کنید:
sudo ufw allow 43/tcp
حالا ترافیک پورت 53 را روی فایروال تان مجاز کنید:
sudo ufw allow 53/tcp
سپس فایروال را با دستور زیر Reload کنید تا تنظیمات جدید اعمال شوند:
sudo ufw reload
برخی از توزیع های لینوکس مانند CentOS از firewalld به عنوان فایروال پیشفرض خود استفاده می کنند. سینتکس برای باز کردن پورت 43 در firewalld بصورت زیر است:
sudo firewall-cmd --add-port=43/tcp --permanent
خروجی firewalld همانطور که در دستور زیر مشاهده می کنید، success است.
و برای باز کردن پورت 53 دستور زیر را اجرا کنید:
sudo firewall-cmd --add-port=53/tcp --permanent
سپس فایروال را با دستور زیر Reload کنید:
sudo firewall-cmd --reload
حالا وب سایت را دوباره Ping کنید و وضعیت را بررسی کنید.
نمایش دیدگاه ها (2 دیدگاه)
دیدگاه خود را ثبت کنید: