در هنگام استفاده از سیستمعامل لینوکس، بروز ارور Temporary failure in name resolution یکی از مشکلات رایجی است که ممکن است با آن روبرو شوید. این خطا معمولاً زمانی ظاهر میشود که قصد دارید به یک وبسایت دسترسی پیدا کنید، برنامهای را بهروزرسانی نمایید یا هر فعالیتی را که نیاز به اتصال اینترنت دارد انجام دهید.
در واقع، این خطا به این معناست که سیستم شما نتوانسته است نام دامنه (Domain Name) را به آدرس IP مربوطه ترجمه کند. این مشکل میتواند به دلایل مختلفی اتفاق بیفتد، اما معمولاً دو عامل اصلی در بروز آن نقش دارند: مشکلات اتصال به اینترنت و تنظیمات نادرست DNS.
اگرچه سناریوهای مختلفی ممکن است باعث بروز این ارور DNS در لینوکس شوند، اما خوشبختانه راهحلهای آن اغلب ساده و سریع هستند. تنها با آشنایی با چند دستور ضروری لینوکس، میتوانید این مشکل name resolution در اوبونتو یا سایر توزیعها را به راحتی رفع کنید.
در این مقاله، بهصورت کامل به شما آموزش میدهیم که چگونه رفع ارور Temporary failure in name resolution را در لینوکس انجام دهید. اما پیش از ورود به بخش راهحلها، ابتدا لازم است دلایل اصلی بروز این خطا را بهدرستی درک کنیم.
منظور از ارور Temporary failure in name resolution چیست؟
در سیستمعامل اوبونتو، خطای Temporary failure in name resolution به این معناست که کامپیوتر شما نمیتواند بهدرستی به اینترنت متصل شود. در نتیجه، ممکن است نتوانید به وبسایتها دسترسی پیدا کنید یا از قابلیتهایی در برنامهها استفاده کنید که نیاز به اتصال فعال اینترنت دارند.
برای مثال، زمانی که تلاش میکنید یک وبسایت را پینگ بگیرید، ممکن است با این خطای Temporary failure in name resolution مواجه شوید:
ping google.com
برای رفع این مشکل، ابتدا باید مفهوم “name resolution” یا تبدیل نام دامنه به آدرس IP را بهخوبی درک کنیم. زمانی که شما یک آدرس وبسایت را در مرورگر وارد میکنید، سیستم شما باید آن را از یک نام قابل خواندن (مانند google.com) به یک آدرس IP (مثلاً ۱۷۲.۶۶.۴۰.۲۱۲) ترجمه کند تا بتواند محل آن را در اینترنت بیابد. این فرآیند که وظیفه آن بر عهده سرورهای DNS است، با نام “name resolution” شناخته میشود.
ارور Temporary failure in name resolution زمانی رخ میدهد که سیستم لینوکسی شما نتواند با سرور DNS ارتباط برقرار کرده و آدرس IP متناظر با وبسایت مورد نظر را دریافت کند. واژه «Temporary» در این پیام خطا به این نکته اشاره دارد که این مشکل اغلب دائمی نیست و معمولاً به دلیل اشکالات موقتی در پیکربندی یا اتصال اینترنت ایجاد میشود و قابل رفع است.
دلایل بروز ارور Temporary failure in name resolution در اوبونتو
رفع ارور Temporary failure in name resolution در لینوکس معمولاً آسان است، اما چالش اصلی این است که بتوانید علت اصلی آن را شناسایی کنید. اولین قدم برای عیبیابی، بررسی اتصال اینترنت است. گاهی تنها دلیل بروز این مشکل اتصال DNS در لینوکس، کندی یا قطع بودن اینترنت شماست.
با این حال، یکی از رایجترین دلایل برای مشاهده این ارور DNS در لینوکس، مشکلات مربوط به تنظیمات DNS است. ممکن است سرورهای DNS که سیستم شما قصد دارد به آنها متصل شود، در دسترس نباشند یا پاسخی ندهند. همچنین، احتمال دارد مکانیزم name resolution دچار اختلال شده یا بهدرستی پیکربندی نشده باشد. یکی دیگر از عوامل میتواند کش DNS باشد که اطلاعات قدیمی و منقضیشده را نگه داشته است.
از دیگر دلایل احتمالی بروز این خطای Temporary failure in name resolution میتوان به تنظیمات نادرست فایروال یا تنظیم اشتباه تاریخ و ساعت سیستم اشاره کرد؛ عواملی که گاهی اوقات نادیده گرفته میشوند اما در عملکرد صحیح name resolution نقش مهمی دارند.
آموزش رفع ارور Temporary failure in name resolution: چهار راهحل اصلی
برای رفع ارور Temporary failure in name resolution در لینوکس، بسته به علت اصلی بروز آن، میتوان از روشهای مختلفی استفاده کرد. بهطور کلی، چهار عامل کلیدی وجود دارد که باید آنها را بررسی و برطرف نمایید تا این مشکل name resolution در اوبونتو یا سایر توزیعهای لینوکسی حل شود.
در ادامه این مقاله، هر یک از این راهحلهای اصلی را بهصورت گامبهگام بررسی خواهیم کرد.
۱. بررسی اتصال اینترنت
پیش از آنکه به سراغ روشهای فنی برای رفع ارور Temporary failure in name resolution بروید، بهتر است ابتدا از سالم بودن اتصال اینترنت خود مطمئن شوید. مودم یا روتر اینترنت را بررسی کرده و مطمئن شوید که همه کابلها و تجهیزات بهدرستی متصل شدهاند. همچنین میتوانید چند برنامه یا مرورگر دیگر را باز کنید و ببینید که آیا از طریق آنها به اینترنت دسترسی دارید یا نه.
اگر هیچکدام از برنامهها قادر به اتصال به اینترنت نبودند، به احتمال زیاد مشکل از اتصال شبکه است، نه تنظیمات DNS. در این صورت میتوانید با خیال راحت به سراغ مراحل بعدی برای رفع این ارور DNS در لینوکس بروید.
۲. بررسی و اصلاح تنظیمات DNS در لینوکس
یکی از مهمترین مراحل در رفع ارور Temporary failure in name resolution بررسی تنظیمات DNS است. پیش از اعمال هرگونه تغییر، ابتدا مطمئن شوید که کاربری که با آن وارد سیستم شدهاید دسترسی مدیریتی (sudo یا root) دارد. در غیر این صورت، نمیتوانید فایلهای سیستمی را ویرایش کنید.
در لینوکس، فایل /etc/resolv.conf
مسئول نگهداری آدرسهای DNS است که سیستم شما برای تبدیل دامنهها به آدرس IP از آنها استفاده میکند. این فایل باید حداقل شامل یک nameserver معتبر باشد. برای بررسی محتوای این فایل میتوانید از یک ویرایشگر متنی مانند nano استفاده کنید:
sudo nano /etc/resolv.conf
اگر هیچ nameserver در فایل وجود نداشت، دلیل اصلی خطای Temporary failure in name resolution همین مورد است. در این صورت، میتوانید یکی از آدرسهای DNS عمومی گوگل را به فایل اضافه کنید:
nameserver 8.8.8.8 nameserver 8.8.4.4
پس از افزودن آدرسها، فایل را ذخیره کرده و سرویس DNS resolver را ریاستارت کنید:
sudo systemctl restart systemd-resolved.service
توجه داشته باشید که در صورت موفقیتآمیز بودن ریاستارت، پیامی نمایش داده نمیشود. حالا میتوانید یک وبسایت (مثلاً azardata.net) را پینگ بگیرید تا ببینید آیا مشکل اتصال DNS در لینوکس رفع شده است:
ping azardata.net
اگر پینگ موفقیتآمیز بود و دادهها ارسال و دریافت شدند، یعنی DNS بهدرستی کار میکند.
اما اگر همچنان با ارور DNS در لینوکس مواجه هستید، ممکن است مشکل از دسترسیهای فایل /etc/resolv.conf
باشد. ابتدا اطمینان حاصل کنید که مالکیت این فایل به کاربر root تعلق دارد:
sudo chown root:root /etc/resolv.conf
سپس اجازهی خواندن این فایل را برای تمامی کاربران سیستم لینوکس فعال کنید:
sudo chmod 644 /etc/resolv.conf
اگر منشأ مشکل name resolution در اوبونتو یا سایر توزیعها، تنظیمات نادرست DNS بوده باشد، مراحل بالا باید مشکل را بهطور کامل برطرف کنند.
۳. بررسی فایروال و نرمافزارهای امنیتی
در بیشتر موارد، فایروالها برای محافظت از سیستم در برابر بدافزار و تهدیدات خارجی طراحی شدهاند. اما اگر بهدرستی پیکربندی نشده باشند، ممکن است باعث ارور DNS در لینوکس شوند و مانع از ارسال درخواستهای name resolution به سرورهای DNS شوند.
یکی از روشهای ساده برای بررسی این موضوع، غیرفعال کردن موقت فایروال و سایر ابزارهای امنیتی مانند SELinux است. اگر با این کار ارور Temporary failure in name resolution رفع شد، باید تنظیمات فایروال یا نرمافزار امنیتی خود را بازنگری کرده و بهدرستی پیکربندی کنید.
در بیشتر توزیعهای لینوکس مثل اوبونتو و دبیان، از فایروال UFW استفاده میشود. برای باز کردن پورتهای مرتبط با DNS در این سیستمها، میتوانید از دستورات زیر استفاده کنید:
sudo ufw allow 43/tcp sudo ufw allow 53/tcp
سپس برای اعمال تغییرات، دستور ریلود قوانین فایروال را اجرا نمایید:
sudo ufw reloa
در صورتی که از توزیعهایی مانند CentOS استفاده میکنید، برای باز کردن پورتها در فایروال firewalld از دستورات زیر استفاده نمایید:
sudo firewall-cmd --add-port=43/tcp --permanent sudo firewall-cmd --add-port=53/tcp --permanent
و در نهایت، تغییرات را با دستور زیر اعمال کنید:
sudo firewall-cmd --reload
اگر مشکل شما مربوط به تنظیمات فایروال باشد، این اقدامات میتوانند نقش مهمی در رفع ارور temporary failure in name resolution در سیستم عامل لینوکس داشته باشند.
۴. پاکسازی کش DNS در لینوکس
یکی دیگر از راهحلهای مؤثر برای رفع ارور Temporary failure in name resolution، پاکسازی کش DNS سیستم است. کش DNS شامل لیستی از آدرسهای IP است که سیستم شما قبلاً ذخیره کرده تا به سرعت به وبسایتها دسترسی داشته باشد. اما اگر این دادهها قدیمی یا نادرست باشند، ممکن است باعث مشکل name resolution در اوبونتو یا سایر توزیعهای لینوکس شوند.
برای مثال، ممکن است وبسایتی که قبلاً به آن دسترسی داشتید، اکنون به یک دامنه یا سرور جدید منتقل شده باشد، ولی سیستم شما همچنان از اطلاعات قدیمی استفاده میکند.
برای پاک کردن کش DNS در توزیعهای Red Hat، میتوانید از دستور زیر استفاده کنید:
sudo systemctl restart nscd.service
در توزیع CentOS نیز برای پاکسازی کش DNS دستور زیر کاربرد دارد:
systemctl restart dnsmasq.service
با اجرای این دستورات، کش DNS سیستم پاکسازی میشود و احتمال زیادی دارد که ارور DNS در لینوکس برطرف گردد.
سوالات متداول
- چرا با خطای ‘temporary failure in name resolution’ در اوبونتو مواجه میشوم؟
این ارور زمانی ظاهر میشود که سیستم لینوکسی شما قادر به تبدیل نام دامنه یک وبسایت (مانند bing.com) به آدرس IP نباشد. این مشکل معمولاً به دلیل اختلال در عملکرد یا پیکربندی نادرست DNS ایجاد میشود و بهعنوان ارور DNS در لینوکس شناخته میشود. - چطور ارور ping temporary failure in name resolution را برطرف کنم؟
ابتدا بررسی کنید که اتصال اینترنت شما برقرار است. سپس تنظیمات DNS را بازبینی و در صورت نیاز اصلاح کنید. اطمینان حاصل کنید که فایروال سیستم، ارتباط با سرورهای DNS را مسدود نکرده باشد. در نهایت، با پاکسازی کش DNS میتوانید مشکل اتصال DNS در لینوکس را برطرف کنید. - چطور تنظیمات DNS را در لینوکس مشاهده کنم؟
برای مشاهده DNSهایی که سیستم شما از آنها استفاده میکند، فایل زیر را در یک ویرایشگر متنی باز کنید:
/etc/resolv.conf
در این فایل میتوانید لیست nameserverها را بررسی کرده و در صورت لزوم برای رفع ارور Temporary failure in name resolution آن را ویرایش نمایید.
جمعبندی
در این مقاله، روشهای کاربردی و گامبهگام برای رفع ارور Temporary failure in name resolution در لینوکس را بررسی کردیم. این خطا معمولاً به دلیل مشکلات مربوط به اتصال اینترنت یا تنظیمات نادرست DNS رخ میدهد. با بررسی اتصال اینترنت، پیکربندی فایل resolv.conf
، تنظیمات فایروال، و در نهایت پاکسازی کش DNS، میتوان بهراحتی این مشکل را در توزیعهایی مانند اوبونتو و CentOS برطرف کرد.
اگر شما هم با مشکل name resolution در اوبونتو یا سایر ارورهای مرتبط با اتصال DNS در لینوکس مواجه شدهاید، راهکارهای مطرحشده در این مقاله میتواند به شما کمک کند تا سریعتر به اینترنت متصل شوید و عملیاتهای آنلاین سیستم خود را بدون اختلال ادامه دهید.
یکی دیگر از مجموعه آموزشهای لینوکس به اتمام رسید. آیا در رابطه با این مقاله یعنی رفع ارور Temporary failure in name resolution در لینوکس (اوبونتو و…) سوالی دارید؟
اگر بله، لطفاً در بخش نظرات مقاله به ما اطلاع دهید. تیم متخصص ما به شما کمک میکند تا سوالات خود را بلافاصله حل کنید.