در این پست خواهید خواند:
گاهی اوقات وقتی سعی میکنید یک وبسایت را پینگ کنید، یک سیستم را به روزرسانی کنید ، ممکن است با پیام خطای «temporary failure in name resolution» روبرو شوید.
به عنوان مثال، هنگامی که می خواهید یک وب سایت را پینگ کنید، ممکن است با خطای نشان داده شده مواجه شوید:
این معمولاً یک خطای دی ان اسی میباشد و بیانگر این است که سرور DNS شما نمی تواند نام دامنه ها را به آدرس های IP تبدیل کند. این می تواند چالش بزرگی باشد زیرا نمی توانید پکیج های نرم افزاری را روی سیستم لینوکس خود به روز کنید، ارتقاء دهید یا حتی نصب کنید.
در این مقاله به برخی از دلایل خطای "temporary failure in name resolution" و راه حل های این موضوع می پردازیم.
1. فایل resolv.conf وجود ندارد یا اشتباه پیکربندی شده است.
/etc/resolv.conf فایل مسئول Resolve در سیستم های لینوکس است. این شامل ورودی های DNS است که به سیستم عامل لینوکس شما کمک می کند تا نام دامنه را به آدرس های IP تبدیل کند.
اگر این فایل وجود نداشته باشد یا بدرستی تنظیم نشده باشد، اما هنوز با خطای Resolve مواجه هستید، نیاز میباشد ایجاد کنید و سرور DNS عمومی Google را مطابق شکل اضافه کنید.
تغییرات را ذخیره و سرویس systemd-resolved را مانند تصویر راه اندازی مجدد کنید.
همچنین توصیه میشود که وضعیت Resolve را بررسی کنید و از فعال بودن و اجرای آن مطابق انتظار مطمئن شوید:
سپس هر وب سایتی را پینگ کنید و مشکل باید حل شود.
2. محدودیت های فایروال
اگر راه حل اول برای شما کارساز نبود، محدودیت های فایروال می تواند مانع از انجام موفقیت آمیز درخواست های DNS شود. فایروال را بررسی کنید و اطمینان حاصل کنید کنید که آیا پورت 53 (مورد استفاده برای DNS - Resolution نام دامنه) و پورت 43 (استفاده شده برای whois lookup) باز هستند یا خیر. اگر پورت ها مسدود هستند، آنها را به صورت زیر باز کنید:
برای فایروال UFW (Ubuntu / Debian / Mint)
برای باز کردن پورت های 53 و 43 در فایروال UFW دستورات زیر را اجرا کنید:
برای فایروال (RHEL / CentOS / Fedora)
برای سیستم های مبتنی بر Redhat مانند CentOS، دستورات زیر را اجرا کنید:
امیدواریم اکنون ایده ای در مورد خطای «temporary failure in name resolution» داشته باشید و بدانید که چگونه می توانید آن را در چند مرحله ساده برطرف کنید.
مثل همیشه، بازخورد شما بسیار قابل تقدیر است.