نحوه نصب و استفاده از دستورات dig و nslookup در لینوکس

در دنیای شبکه و مدیریت سرور، ابزارهای خط فرمان برای بررسی وضعیت دامنه‌ها و سرورهای DNS از اهمیت بالایی برخوردارند. دو ابزار پرکاربرد در این زمینه dig و nslookup هستند. این دو دستور به مدیران شبکه و متخصصان لینوکس کمک می‌کنند تا بتوانند به‌سرعت وضعیت رکوردهای DNS را بررسی، مشکلات ارتباطی را شناسایی و پیکربندی‌های دامنه را تحلیل کنند.

در این مطلب به‌صورت گام‌به‌گام با روش نصب و استفاده از دستورات dig و nslookup در لینوکس آشنا می‌شویم و تفاوت‌ها، گزینه‌های مهم و کاربردهای عملی آنها را بررسی خواهیم کرد.

اهمیت ابزارهای DNS در لینوکس

هر بار که نام دامنه‌ای مانند example.com را در مرورگر وارد می‌کنید، سیستم شما باید آن را به یک آی‌پی ترجمه کند. این فرآیند توسط Domain Name System (DNS) انجام می‌شود. اگر در شبکه یا وب‌سایت خود با خطاهای ارتباطی، تاخیر در پاسخ‌دهی یا اختلال در سرویس‌ها مواجه شوید، اولین گام در عیب‌یابی معمولا بررسی وضعیت DNS است.

در لینوکس، دو ابزار اصلی برای انجام این بررسی‌ها وجود دارد:

  • dig (Domain Information Groper)
  • nslookup (Name Server Lookup)

هر دو ابزار اطلاعات دقیقی از رکوردهای DNS در اختیار شما قرار می‌دهند، اما dig معمولا خروجی دقیق‌تر و ساختارمندتری ارائه می‌کند و در نسخه‌های جدید لینوکس، ابزار پیشفرض توصیه‌شده محسوب می‌شود.

نحوه نصب دستور dig در لینوکس

در بسیاری از توزیع‌های لینوکسی، دستور dig به‌صورت پیشفرض نصب نیست. این ابزار بخشی از بسته‌ی dnsutils یا bind-utils است (بسته به توزیع مورد استفاده).

نصب در Debian / Ubuntu

برای نصب dig در سیستم‌های مبتنی بر Debian یا Ubuntu، کافی است دستور زیر را اجرا کنید:

پس از نصب، می‌توانید با دستور زیر از صحت نصب اطمینان حاصل کنید:

اگر نسخه ابزار نمایش داده شود، نصب با موفقیت انجام شده است.

نصب در CentOS / RHEL / Fedora

در سیستم‌های مبتنی بر Red Hat یا CentOS از دستور زیر استفاده کنید:

و در نسخه‌های جدیدتر Fedora:

با اجرای دستور dig در ترمینال می‌توانید بررسی کنید که نصب به‌درستی انجام شده باشد.

نحوه نصب دستور nslookup در لینوکس

دستور nslookup معمولا همراه با همان بسته‌هایی که dig را نصب می‌کنند، در سیستم موجود می‌شود.
در Debian/Ubuntu با نصب dnsutils و در CentOS با نصب bind-utils، ابزار nslookup نیز فعال می‌شود.

برای اطمینان از در دسترس بودن آن کافی است بنویسید:

اگر خروجی شامل آدرس IP سرور گوگل باشد، یعنی ابزار آماده استفاده است.

نحوه استفاده از دستور dig در لینوکس

ابزار dig برای بررسی رکوردهای DNS یک دامنه به‌کار می‌رود. ساختار کلی دستور به شکل زیر است:

مثال ساده

برای بررسی رکورد A مربوط به یک دامنه، کافی است بنویسید:

خروجی شامل چند بخش است، اما مهمترین بخش، ANSWER SECTION است که IP دامنه را نمایش می‌دهد:

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

می‌توانید نوع رکورد دلخواه را مشخص کنید:

  • رکورد MX برای ایمیل:
  • رکورد TXT برای احراز مالکیت یا SPF:
  • رکورد NS برای نام‌سرورها:
  • رکورد CNAME برای نام مستعار:

درخواست از سرور DNS خاص

به‌صورت پیشفرض، dig از DNS سیستم شما استفاده می‌کند. اما می‌توانید سرور DNS دیگری را مشخص کنید. مثلا برای درخواست از سرور گوگل:

این روش برای تست سرعت یا بررسی تفاوت پاسخ سرورهای مختلف مفید است.

نحوه استفاده از دستور nslookup در لینوکس

دستور nslookup ابزار قدیمی‌تری است، اما همچنان در بسیاری از آموزش‌ها و سیستم‌ها کاربرد دارد.

ساختار اصلی آن مشابه dig است:

مثال ساده

برای بررسی IP دامنه:

خروجی مشابه زیر نمایش داده می‌شود:

تغییر سرور DNS در nslookup

می‌توانید از سرور دیگری برای پرس‌وجو استفاده کنید:

در این مثال، درخواست از طریق DNS کلادفلر (1.1.1.1) ارسال می‌شود.

حالت تعاملی nslookup

با اجرای nslookup بدون هیچ پارامتری وارد حالت تعاملی می‌شوید. در این حالت می‌توانید چند دامنه مختلف را بدون خروج از ابزار بررسی کنید:

تفاوت dig و nslookup

هر دو ابزار dig و nslookup برای بررسی و تحلیل رکوردهای DNS به کار می‌روند، اما از نظر ساختار، امکانات و میزان به‌روزبودن تفاوت‌های قابل توجهی با یکدیگر دارند. ابزار nslookup از ابزارهای قدیمی در سیستم‌های یونیکسی و لینوکسی به شمار می‌رود و سال‌هاست برای بررسی ساده رکوردهای دامنه استفاده می‌شود. در مقابل، dig نسخه‌ای پیشرفته‌تر و دقیق‌تر از همان ایده است که توسط پروژه BIND توسعه یافته و امروزه در اکثر توزیع‌های لینوکس به عنوان ابزار استاندارد DNS شناخته می‌شود.
مهمترین تفاوت میان این دو ابزار در نحوه نمایش خروجی است. دستور dig اطلاعات را با قالبی دقیق و مبتنی بر استانداردهای RFC نمایش می‌دهد و به کاربر امکان می‌دهد جزئیات بیشتری از پاسخ سرورهای DNS را مشاهده کند، از جمله مدت زمان پاسخ، تعداد رکوردها، مسیر انتقال درخواست و حتی اطلاعات مربوط به سرورهای میانی. در مقابل، خروجی nslookup ساده‌تر و کوتاه‌تر است و معمولا فقط شامل نام دامنه، آدرس IP و سرور پاسخ‌دهنده می‌شود.
از نظر توسعه و پشتیبانی نیز dig برتری دارد. ابزار nslookup سال‌هاست که در برخی توزیع‌ها به‌عنوان ابزاری قدیمی و منسوخ‌شده تلقی می‌شود و دیگر به‌روزرسانی منظم ندارد، در حالی‌که dig به طور فعال توسط جامعه BIND نگهداری و توسعه داده می‌شود. به همین دلیل، در محیط‌های حرفه‌ای و سرورهای مدرن لینوکسی معمولا توصیه می‌شود از dig استفاده شود.
در نهایت می‌توان گفت اگرچه nslookup همچنان برای کارهای ساده و سریع کاربرد دارد، اما dig به دلیل دقت، امکانات بیشتر، گزینه‌های قابل تنظیم و خروجی ساختاریافته، انتخاب بهتری برای مدیران سیستم و متخصصان شبکه است.

خرید VPS لینوکس با دسترسی کامل SSH و منابع اختصاصی، مناسب برای برنامه‌نویسان، توسعه‌دهندگان و مدیران سایت در پارسدو فراهم است.

گزینه‌های کاربردی در دستور dig

یکی از مزایای بزرگ dig، گزینه‌های متنوع آن است. در ادامه به چند مورد پرکاربرد اشاره می‌کنیم:

نمایش خلاصه فقط IP (گزینه +short)

اگر فقط آدرس IP برایتان مهم است، می‌توانید خروجی را خلاصه کنید:

بررسی مسیر پاسخ DNS (گزینه +trace)

برای دنبال‌کردن مسیر کامل درخواست از ریشه تا سرور نهایی، از گزینه +trace استفاده کنید:

این گزینه برای عیب‌یابی تاخیر یا تنظیمات نادرست DNS بسیار مفید است.

نمایش اطلاعات زمانی و آماری

با گزینه +stats می‌توانید زمان پاسخ و تعداد رکوردهای دریافت‌شده را ببینید:

نمونه‌های کاربردی در مدیریت سرور

بررسی صحت رکورد ایمیل (MX)

برای اطمینان از تنظیم صحیح رکوردهای میل‌سرور دامنه:

تست رکورد SPF یا DKIM

برای بررسی رکورد SPF

اگر خروجی شامل عبارت “v=spf1” باشد، یعنی رکورد SPF تنظیم شده است.

بررسی وضعیت DNS از چند سرور مختلف

گاهی لازم است پاسخ DNS را از چند ناحیه جهان تست کنید:

مقایسه نتایج به شما کمک می‌کند تفاوت‌های کش DNS را متوجه شوید.

عیب‌یابی مشکلات DNS با dig و nslookup

فرض کنید وب‌سایت شما در برخی مناطق جهان در دسترس نیست. با ابزارهای dig و nslookup می‌توانید بررسی کنید آیا مشکل از DNS است یا از تنظیمات شبکه.

ابتدا رکورد دامنه را بررسی کنید

در صورت نیاز رکورد NS را چک کنید

از چند سرور مختلف تست بگیرید

اگر پاسخ‌ها متفاوت باشند، احتمالا رکوردهای DNS شما در سرورهای ثانویه به‌روزرسانی نشده‌اند.

بهترین روش برای استفاده روزمره

اگر در زمینه مدیریت سرور، پشتیبانی دامنه یا عیب‌یابی وب‌سایت فعالیت دارید، بهتر است همیشه dig را در جعبه‌ابزار خود داشته باشید. برای کارهای سریع می‌توانید از اسکریپت‌های کوتاه استفاده کنید، مثلا:

این اسکریپت ساده می‌تواند وضعیت رکوردهای حیاتی دامنه را تنها با یک دستور برای شما نمایش دهد.

جمع‌بندی

ابزارهای dig و nslookup از مهم‌ترین ابزارهای خط فرمان در لینوکس برای بررسی و تحلیل رکوردهای DNS هستند.
درحالی‌که nslookup ابزاری ساده‌تر و قدیمی‌تر است، دستور dig امکانات پیشرفته‌تری مانند بررسی مسیر پاسخ، نمایش خروجی خلاصه و تحلیل دقیق رکوردها را فراهم می‌کند.
برای نصب این ابزارها کافی است بسته‌های dnsutils یا bind-utils را نصب کنید. سپس می‌توانید با چند دستور ساده، وضعیت دامنه، رکوردهای ایمیل، نام‌سرور و حتی مشکلات احتمالی DNS را شناسایی کنید.
در نهایت، تسلط بر dig و nslookup برای هر مدیر سرور لینوکسی یک مهارت ضروری محسوب می‌شود، زیرا این ابزارها پایه و اساس تحلیل و رفع خطاهای ارتباطی در وب و شبکه هستند.