عیب یابی DNS با dig و nslookup

سیستم نام دامنه (DNS) یکی از حیاتیترین بخشهای اینترنت است که وظیفه ترجمه نامهای دامنه مانند example.com به آدرسهای IP را بر عهده دارد. هر زمان که وبسایتی باز نمیشود یا خطاهایی مثل “Server not found” دریافت میکنید، معمولاً مشکل از DNS است. در این مقاله اسپاد سرور، عیب یابی DNS با dig و nslookup را بررسی کرده تا منبع مشکل را پیدا کنیم و آن را برطرف کنیم.
مقدمهای بر عیب یابی DNS
قبل از اینکه سراغ موضوع مقاله برویم، بهتر است بدانیم عیب یابی دی ان اس دقیقاً به چه معناست.
عیب یابی دی ان اس یعنی بررسی مراحل مختلفی که درخواست یک دامنه طی میکند تا به IP مقصد برسد. اگر در هر مرحلهای خطایی رخ دهد — مثلاً پاسخ از سرورهای ریشه دریافت نشود یا رکورد A اشتباه باشد — سایت شما در دسترس نخواهد بود.
در فرآیند عیب یابی دی ان اس ما بررسی میکنیم که:
-
آیا رکوردهای دامنه بهدرستی پیکربندی شدهاند؟
-
آیا سرورهای DNS پاسخ میدهند؟
-
آیا تاخیر یا اشکال در کش DNS وجود دارد؟
-
آیا propagation دامنه بهدرستی انجام شده است؟
در این آموزش، یاد میگیرید چگونه با dig و nslookup به تمام این سؤالات پاسخ دهید.
معرفی ابزارهای dig و nslookup برای عیب یابی DNS
dig در عیب یابی DNS چیست؟
ابزار dig (Domain Information Groper) یکی از پرکاربردترین ابزارهای خط فرمان لینوکس و macOS برای عیب یابی دی ان اس است. این ابزار نتایج دقیق، سریع و قابل فهمی از پاسخ DNS ارائه میدهد و میتواند رکوردهای مختلف را بررسی کند.
nslookup چیست
nslookup یک ابزار خط فرمان برای جستجو و دریافت اطلاعات مربوط به سرورهای DNS است. این ابزار به شما امکان می دهد نام دامنه ها را به آدرس های IP و بالعکس تبدیل کنید و یا اطلاعاتی درباره رکوردهای DNS (مثل A، MX، CNAME و غیره) دریافت کنید.
استفاده های معمول nslookup عبارتند از:
- جستجو برای تبدیل نام دامنه به آدرس IP (A record):
- nslookup example.com
این دستور IP مربوط به دامنه example.com را نمایش می دهد.
- جستجو برای رکوردهای DNS خاص (مثلا MX):
- nslookup -type=MX example.com
این دستور رکوردهای MX (مربوط به ایمیل) دامنه example.com را جستجو می کند.
- استفاده از سرور DNS خاص برای جستجو:
- nslookup example.com 8.8.8.8
این دستور به جای استفاده از سرور DNS پیش فرض سیستم، از سرور DNS گوگل (با آدرس ۸.۸.۸.۸) برای جستجوی نام دامنه استفاده می کند.
این ابزار بیشتر برای عیب یابی مشکلات DNS یا تجزیه و تحلیل شبکه استفاده می شود.
nslookup در عیب یابی DNS چیست؟
ابزار nslookup در تمام سیستمعاملها (از ویندوز تا لینوکس) وجود دارد و یکی از سادهترین ابزارها برای تست رکوردهای DNS است. اگرچه نسبت به dig امکانات کمتری دارد، اما برای کاربران تازهکار گزینهای عالی محسوب میشود.
تفاوت dig و nslookup
در فرآیند عیب یابی دی ان اس، هر دو ابزار مفید هستند، اما dig خروجی دقیقتری دارد.
در جدول زیر تفاوتهای اصلی این دو ابزار آورده شده است:
| ویژگی | dig | nslookup |
|---|---|---|
| دقت خروجی | بسیار بالا | متوسط |
| امکان بررسی رکورد خاص | دارد | دارد |
| پشتیبانی از IPv6 | دارد | دارد |
| جزئیات Query Time و TTL | دارد | محدود |
| مناسب برای | مدیران سیستم حرفهای | کاربران عمومی |
مقاله پیشنهادی: مشکل DNS سایت | مشکلات رایج در پیکربندی DNS و راهکارهای آن
نصب ابزارهای dig و nslookup
در اکثر سیستمها این ابزارها از قبل نصب شدهاند، اما اگر نداشتید، از دستورات زیر استفاده کنید:
Ubuntu یا Debian:
CentOS یا AlmaLinux:
macOS:
اکنون آماده هستید تا عیب یابی DNS را با این دو ابزار آغاز کنید.
اگر نیاز به راهنمایی برای خرید هاست اقتصادی و دامنه و سرور مجازی دارید، متخصصان با تجربه اسپاد سرور آماده خدمت به شما هستند. برای تماس با ما، روی “تماس با اسپاد سرور” کلیک کنید.
بررسی رکورد A با dig
رکورد A، آدرس IPv4 مربوط به دامنه را نشان میدهد. برای بررسی عیب یابی dns با رکورد A از دستور زیر استفاده کنید:
خروجی شامل اطلاعات زیر است:
-
QUESTION SECTION: دامنهای که پرسیدهاید
-
ANSWER SECTION: پاسخ سرور شامل IP
-
AUTHORITY SECTION: سرورهای معتبر
-
Query time: زمان پاسخدهی
این اطلاعات در عیب یابی DNS به شما نشان میدهد که آیا IP درست تنظیم شده یا خیر.
بررسی رکورد MX (میل سرور) با dig
در مواقعی که ایمیلها ارسال یا دریافت نمیشوند، باید رکورد MX را بررسی کنید:
خروجی معمولاً شامل اولویت (Priority) و دامنه سرور ایمیل است. اگر خروجی خالی بود یا اشتباه، یعنی پیکربندی ایمیل اشتباه است.
عیب یابی DNS از طریق رکورد NS (Name Server)
اگر دامنه شما به سرورهای اشتباهی متصل شده باشد، در پاسخ رکورد NS مشخص میشود. برای بررسی:
در خروجی باید نام سرورهای اصلی (مثلاً ns1.yourhost.com, ns2.yourhost.com) را ببینید.
اگر با نام سرورهای رجیسترشده در پنل دامنه متفاوت است، یکی از مراحل propagation ناقص انجام شده است.
بررسی رکورد AAAA (IPv6)
اگر سایت شما از IPv6 استفاده میکند و کاربران با این نسخه خطا دارند، دستور زیر مفید است:
در فرآیند عیب یابی DNS این دستور کمک میکند مطمئن شوید IPv6 به درستی تنظیم شده است.
مقاله پیشنهادی: پیکربندی BIND برای DNS over IPv6 | افزودن listen-on-v6 و رکورد AAAA
استفاده از dig برای تست کامل دامنه (ANY Query)
برای بررسی همه رکوردها با یک دستور:
در خروجی رکوردهای A، MX، TXT، NS، و CNAME نمایش داده میشوند. این روش در عیب یابی DNS مفید است زیرا تمام اطلاعات در یک نگاه قابل مشاهده است.
تحلیل Query Time و TTL در dig
در بخش انتهایی خروجی dig، دو پارامتر مهم وجود دارد:
-
Query time: زمان پاسخدهی (هرچه کمتر بهتر)
-
TTL: مدت زمان ذخیرهسازی کش DNS
اگر Query time زیاد باشد، ممکن است سرور پاسخگو دچار کندی یا اشباع شده باشد. این مورد از موارد رایج در عیب یابی دی ان اس است.
عیب یابی DNS با nslookup در ویندوز
در سیستمهای ویندوز، میتوانید از nslookup استفاده کنید. برای شروع، Command Prompt را باز کنید و بنویسید:
در خروجی، آدرس IP و سرور پاسخدهنده مشخص میشود.
بررسی رکورد خاص:
با این دستورات، میتوانید مشکلات مربوط به رکوردهای خاص را در فرآیند عیب یابی DNS بررسی کنید.
تغییر سرور DNS برای تست عیب یابی
گاهی لازم است بدانید مشکل از سرور DNS شماست یا از پیکربندی دامنه. برای تست از سرور خاص، مثلاً Google DNS (8.8.8.8) استفاده کنید:
یا با nslookup:
اگر پاسخ صحیح دریافت شد، یعنی مشکل از سرور DNS محلی شماست.
بررسی Propagation در عیب یابی DNS
پس از تغییر رکوردهای DNS، ممکن است تا ۲۴ ساعت طول بکشد تا تغییرات در سراسر اینترنت منتشر شود. در این مدت اگر با dig یا nslookup رکوردهای قدیمی را میبینید، یعنی هنوز Propagation کامل نشده است.
برای بررسی propagation میتوانید از چند سرور مختلف استفاده کنید:
اگر پاسخها متفاوت هستند، نشان میدهد در فرایند انتشار رکوردها تأخیر وجود دارد.
بررسی رکورد CNAME در عیب یابی DNS
رکورد CNAME دامنهای را به دامنه دیگر اشاره میدهد. اشتباه در تنظیم CNAME میتواند باعث خطاهای ۴۰۴ شود.
در خروجی باید دامنه مقصد درست باشد، در غیر این صورت باید رکورد اصلاح شود.
بررسی TXT و SPF در عیب یابی ایمیل
برای رفع مشکلات ایمیل، باید رکوردهای TXT و SPF بررسی شوند:
در بخش عیب یابی DNS مربوط به ایمیل، بررسی SPF و DKIM اهمیت زیادی دارد تا از اسپم شدن ایمیل جلوگیری شود.
تحلیل خطاهای رایج در عیب یابی DNS
در حین کار با dig و nslookup ممکن است با پیامهای خطا مواجه شوید:
| خطا | توضیح | راهحل |
|---|---|---|
SERVFAIL |
سرور DNS پاسخ نمیدهد | بررسی تنظیمات NS |
NXDOMAIN |
دامنه وجود ندارد | بررسی نام دامنه و ثبت آن |
REFUSED |
سرور اجازه پاسخ نمیدهد | بررسی ACL در سرور DNS |
Timeout |
سرور در دسترس نیست | بررسی فایروال و اتصال شبکه |
این خطاها در ۹۰٪ موارد مربوط به اشتباهات پیکربندی DNS هستند.
مقاله پیشنهادی: DNS Zone در سرور هاستینگ | جلوگیری از خطای SERVFAIL و NXDOMAIN
ترکیب dig با ابزارهای دیگر در عیب یابی DNS
برای عیب یابی پیشرفتهتر میتوانید dig را با ابزارهایی مثل traceroute و ping ترکیب کنید:
این ابزارها کمک میکنند بفهمید آیا مشکل در لایه DNS است یا در مسیر شبکه (Routing).
بررسی کش DNS سیستم
در برخی موارد مشکل از کش محلی است. برای پاک کردن کش:
ویندوز:
macOS:
لینوکس:
سپس مجدداً با dig و nslookup تست کنید تا از رفع مشکل مطمئن شوید.
نتیجه گیری
در این مقاله یاد گرفتید چگونه با دو ابزار قدرتمند dig و nslookup فرآیند عیب یابی DNS را بهصورت کامل انجام دهید.
از بررسی رکوردهای A و MX تا تحلیل TTL، خطاهای NXDOMAIN و SERVFAIL، تمام جنبههای کلیدی عیب یابی را پوشش دادیم.
اگر وبسایت یا سرور شما دچار خطای DNS شده، اجرای چند دستور ساده dig یا nslookup میتواند منبع دقیق مشکل را مشخص کند و از صرف ساعتها زمان برای یافتن علت جلوگیری کند.
