در این پست خواهید خواند:

    گاهی اوقات وقتی سعی می‌کنید یک وب‌سایت را پینگ کنید، یک سیستم را به‌ روزرسانی کنید ، ممکن است با پیام خطای «temporary failure in name resolution» روبرو شوید.



    به عنوان مثال، هنگامی که می خواهید یک وب سایت را پینگ کنید، ممکن است با خطای نشان داده شده مواجه شوید:

    onitron@ubuntu:~$ ping google.com
    ping: tecmint.com: Temporary failure in name resolution             


    این معمولاً یک خطای دی ان اسی میباشد و بیانگر این است  که سرور DNS شما نمی تواند نام دامنه ها را به آدرس های IP تبدیل کند. این می تواند چالش بزرگی باشد زیرا نمی توانید پکیج های نرم افزاری را روی سیستم لینوکس خود به روز کنید، ارتقاء دهید یا حتی نصب کنید.

    در این مقاله به برخی از دلایل خطای "temporary failure in name resolution" و راه حل های این موضوع می پردازیم.

    1. فایل resolv.conf وجود ندارد یا  اشتباه پیکربندی شده است.

    /etc/resolv.conf فایل مسئول Resolve در سیستم های لینوکس است. این شامل ورودی های DNS است که به سیستم عامل لینوکس شما کمک می کند تا نام دامنه را به آدرس های IP تبدیل کند.

    اگر این فایل وجود نداشته باشد یا بدرستی تنظیم نشده باشد، اما هنوز با خطای Resolve مواجه هستید، نیاز میباشد ایجاد کنید و سرور DNS عمومی Google را مطابق شکل اضافه کنید.

    nameserver 8.8.8.8

    تغییرات را ذخیره و سرویس systemd-resolved را مانند تصویر راه اندازی مجدد کنید.

    $ sudo systemctl restart systemd-resolved.service        

    همچنین توصیه میشود که وضعیت Resolve را بررسی کنید و از فعال بودن و اجرای آن مطابق انتظار مطمئن شوید:

    $ sudo systemctl status systemd-resolved.service


    سپس هر وب سایتی را پینگ کنید و مشکل باید حل شود.

    onitron@ubuntu:~$ ping google.com             .


    2. محدودیت های فایروال

    اگر راه حل اول برای شما کارساز نبود، محدودیت های فایروال می تواند مانع از انجام موفقیت آمیز درخواست های DNS شود. فایروال را بررسی کنید و اطمینان حاصل کنید کنید که آیا پورت 53 (مورد استفاده برای DNS - Resolution نام دامنه) و پورت 43 (استفاده شده برای whois lookup) باز هستند یا خیر. اگر پورت ها مسدود هستند، آنها را به صورت زیر باز کنید:

    برای فایروال UFW (Ubuntu / Debian / Mint)

    برای باز کردن پورت های 53 و 43 در فایروال UFW دستورات زیر را اجرا کنید:

    $ sudo ufw allow 53/tcp
    $ sudo ufw allow 43/tcp
    $ sudo ufw reload

    برای فایروال (RHEL / CentOS / Fedora)

    برای سیستم های مبتنی بر Redhat مانند CentOS، دستورات زیر را اجرا کنید:

    $ sudo firewall-cmd --add-port=53/tcp --permanent
    $ sudo firewall-cmd --add-port=43/tcp --permanent
    $ sudo firewall-cmd --reload

    امیدواریم اکنون ایده ای در مورد خطای «temporary failure in name resolution» داشته باشید و بدانید که چگونه می توانید آن را در چند مرحله ساده برطرف کنید.

    مثل همیشه، بازخورد شما بسیار قابل تقدیر است.


    بردیا
    نویسنده

    سلام، بردیا هستم و بیشتر از 10 سال هست که در زمینه فناوری اطلاعات فعال هستم

    ثبت یک نظر

    آدرس ایمیل شما منتشر نخواهد شد. فیلدهای الزامی مشخص شده اند *

    0 نظر ثبت شده

    اینستاگرام