چگونه خطای رزولوشن DNS را در سرور لینوکس حل کنیم؟
راهنمای گام به گام برای خرابی موقت در تفکیک نام، خرابی رزولوشن دامنه و خطاهای DNS آپدیت مناسب.
اگرچه به نظر می رسد سرورهای لینوکس به اینترنت متصل هستند، آدرس های دامنه ممکن است حل نشود. در این حالت سرور می تواند به آدرس های IP دسترسی داشته باشد، اما google.com، debian.org، ubuntu.com یا خدمات مجوز/API.
این مشکل به ویژه در فرآیندهای زیر خود را نشان می دهد:
- آپدیت مناسب یا به روز رسانی yum خطای دریافت شده در طول
- پیوندهای مجوز WHMCS، پرداخت یا API کار نمی کنند
- پانل بازی نمی تواند به آدرس های API راه دور متصل شود
- وقتی پینگ IP روی سرور اجرا می شود، پینگ دامنه کار نمی کند
- شکست موقت در تفکیک نام خطا مشاهده شد
1. درک اینکه آیا DNS واقعاً مشکل است
ابتدا با پینگ کردن آدرس IP سرور، دسترسی به اینترنت عمومی سرور را بررسی کنید.
ping -c 4 8.8.8.8
اگر این دستور پاسخ دهد، سرور در سطح IP به اینترنت دسترسی دارد. اکنون وضوح دامنه را آزمایش کنید:
ping -c 4 google.com
اگر پینگ IP کار می کند اما پینگ دامنه کار نمی کند، به احتمال زیاد مشکل در سمت DNS است.
2. بررسی تنظیمات DNS فعلی
در سیستم های لینوکس، سرورهای DNS معمولا هستند /etc/resolv.conf در فایل تعریف شده است.
cat /etc/resolv.conf
یک تنظیم DNS سالم معمولاً به این صورت است:
nameserver 1.1.1.1 nameserver 8.8.8.8
اگر فایل خالی باشد، حاوی آدرسهای IP نادرست باشد، یا فقط آدرسهای DNS محلی/غیرکار را بنویسد، وضوح دامنه ممکن است ناموفق باشد.
3. تعریف موقت DNS
برای تست سریع، می توانید DNS موقت را با دستور زیر تعریف کنید:
echo "nameserver 1.1.1.1" > /etc/resolv.conf echo "nameserver 8.8.8.8" >> /etc/resolv.conf
بعدا دوباره تست کنید:
ping -c 4 google.com
4. تنظیمات DNS پایدار در سیستمهای اوبونتو/دبیان
در سیستمهای اوبونتو مدرن، تنظیمات شبکه معمولاً انجام میشود netplan توسط مدیریت می شود. لیست فایل های Netplan:
ls /etc/netplan/
ویرایش فایل:
nano /etc/netplan/01-netcfg.yaml
مثال تعریف DNS:
network:
version: 2
ethernets:
eth0:
dhcp4: true
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8برای اعمال تنظیمات:
netplan apply
اگر از طریق SSH متصل هستید و از تنظیمات شبکه مطمئن نیستید، مراقب باشید. تنظیم نادرست netplan ممکن است اتصال SSH شما را قطع کند.
5. تنظیمات DNS CentOS / AlmaLinux / Rocky Linux
در سیستم های مبتنی بر RedHat، تنظیمات DNS را می توان از طریق NetworkManager انجام داد.
برای مشاهده نام اتصال فعال:
nmcli con show
نمونه تنظیمات DNS:
nmcli con mod "System eth0" ipv4.dns "1.1.1.1 8.8.8.8" nmcli con up "System eth0"
نام اتصال شما ممکن است متفاوت باشد. شما باید از نام اتصال خود در دستور استفاده کنید.
6. systemd-resolved چک
وضوح DNS در برخی از سیستم ها systemd-resolved توسط سرویس مدیریت می شود.
systemctl status systemd-resolved
اگر سرویس قطع است، می توانید آن را راه اندازی کنید:
systemctl enable systemd-resolved systemctl start systemd-resolved
برای مشاهده وضعیت DNS:
resolvectl status
7. بررسی DNS برای خطاهای به روز رسانی بسته
هنگامی که DNS خراب است، مدیران بسته نیز کار نمی کنند. به عنوان مثال، خطاهای زیر ممکن است رخ دهد:
Temporary failure resolving 'archive.ubuntu.com' Could not resolve host Name or service not known
در این صورت فروشگاه پکیج نباید فاسد تلقی شود. رزولوشن DNS ابتدا باید تست شود.
اشتباهات رایج
- فکر می کنید اینترنت وجود ندارد اما متوجه نمی شوید که در واقع فقط DNS خراب است
- نوشتن DNS موقت در فایل /etc/resolv.conf و فکر کردن به اینکه یک راه حل دائمی است
- تورفتگی فضای خالی نادرست در فایل Netplan
- غلط املایی نام اتصال NetworkManager
- تصور اینکه API یا سیستم مجوز کار به دلیل مشکل DNS معیوب است
سوالات متداول
پینگ IP کار می کند اما پینگ دامنه کار نمی کند، مشکل چیست؟
به احتمال زیاد مشکل رزولوشن DNS وجود دارد. سرور می تواند به اینترنت دسترسی داشته باشد، اما نمی تواند نام دامنه را به آدرس IP ترجمه کند.
از کدام سرورهای DNS می توانم استفاده کنم؟
معمولاً 1.1.1.1، 1.0.0.1، 8.8.8.8 و 8.8.4.4 موجود هستند. سرور DNS خصوصی ممکن است در ساختارهای شرکتی ترجیح داده شود.
چرا resolv.conf به خودی خود تغییر می کند؟
زیرا فایل به طور خودکار توسط netplan، NetworkManager یا systemd-resolved در اکثر سیستم ها مدیریت می شود.
توصیه های ایمنی و عملیات
- پس از تغییر DNS حتما تست وضوح دامنه را انجام دهید.
- خطاهای DNS در سیستم های پرداخت، صدور مجوز و API را به اولین چک لیست اضافه کنید.
- به جای یک DNS، حداقل دو آدرس DNS تعریف کنید.
- اگر ارائه دهنده سرور شما DNS خصوصی ارائه می دهد، آن را نیز در نظر بگیرید.
- توجه داشته باشید که تنظیم نادرست netplan ممکن است اتصال SSH را خراب کند.
این مقاله به طور ویژه برای PvPServer تهیه شده است.