
دستور nslookup در لینوکس و ویندوز برای رفع مشکلات DNS
DNS یا سیستم نام دامنه به عنوان مترجم نام دامنه به آدرس IP، نقش مهمی در زیرساخت اینترنت ایفا می کند و اختلال در این سیستم باعث بروز مشکلاتی مثل بارگذاری کند وبسایت، عدم امکان دسترسی به یک وبسایت خاص یا خطاهای تحویل ایمیل ها می شوند. اینجاست که دستور nslookup وارد عمل می شود تا با استفاده از آن، مشکلات DNS را سرموقع بررسی و برطرف کنید.
دستور nslookup یک ابزار خط فرمان است که برای جستجو از سرورهای DNS و به دست آوردن اطلاعات مفید در مورد نام دامنه ها و آدرس IP مرتبط با آنها استفاده می شود.
حتی اگر تصمیم گرفته اید با خرید سرور مجازی لینوکس یک پایه قدرتمند برای وبسایت یا وب اپلیکیشن خود ایجاد دهید، دستور nslookup به شما کمک می کند که تنظیمات DNS لازم را انجام دهید و هر گونه مشکلی که در زمینه DNS دارید را به راحتی کشف و رفع کنید.
البته جا دارد به این نکته هم اشاره کنیم که دستور nslookup در ویندوز هم قابل استفاده است و ما در این مقاله به بررسی مثال های عملی دستور nslookup می پردازیم که هم در لینوکس و هم در ویندوز قابل اجرا هستند. پس اگر می خواهید به اطلاعات ارزشمندی در این زمینه دست پیدا کنید، با ما همراه باشید:
دستور nslookup چیست؟
دستور nslookup یک ابزار خط فرمان است که برای خطایابی DNS استفاده می شود. ساده ترین و پایه ترین کاربرد دستور nslookup این است که نام دامنه موردنظر خود را به آدرس IP (یا برعکس) ترجمه کنید و اطلاعات مربوط به دامنه را هم بررسی کنید.
ولی کاربردهای دستور nslookup به این یک مورد محدود نمی شود. شما با استفاده از نتایج این دستور می توانید مشکلات DNS را هم بررسی کنید و از اطلاعات ارائه شده برای بهبود وضعیت DNS استفاده کنید.
حتی اگر از تنظیم درست DNS خود مطمئن نیستید، با دستور nslookup می توانید وضعیت تنظیمات را بررسی کنید و مطمئن شوید که کارکرد درستی دارند یا نه!
نحوه نصب دستور nslookup
این ابزار به طور پیش فرض همراه توزیع های لینوکس نصب می شود، بنابراین نیازی به نصب آن ندارید.
ولی اگر به هر دلیلی موقع اجرای دستور nslookup با خطای “command not found” مواجه شدید، حتماً باید آن را به صورت دستی نصب کنید.
نصب دستور nslookup در Ubuntu / Debian
sudo apt-get install dnsutils
نصب دستور nslookup در centos و Red Hat Linux
sudo yum install bind-utils
نصب nslookup در Fedora
sudo dnf install bind-utils
نصب nslookup در ArchLinux
pacman -Sy dnsutils
بعد از اینکه از نصب دستور nslookup مطمئن شدید، دیگر وقت آن است که با یک سری مثال های عملی، شروع به استفاده از این ابزار کنیم.
نحوه استفاده از دستور nslookup در لینوکس و ویندوز
این بخش را با مثال های کاربردی جلو می بریم تا درک بهتری از دستور nslookup داشته باشید:
۱. بررسی DNS Resolution
DNS Resolution به همان پروسه ای گفته می شود که کاربران با وارد کردن نام دامنه به آدرس IP دسترسی پیدا می کند. همان کاری که از آن تحت عنوان ترجمه یاد می کنیم و توسط DNS سرور انجام می شود.
برای بررسی DNS Resolution، کافیست ترمینال را باز کنید و دستور زیر را با نام دامنه موردنظر تکمیل و اجرا کنید:
nslookup domain_name
به عنوان مثال، اگر این دستور را برای گوگل اجرا کنیم، خروجی به صورت زیر خواهد بود:
nslookup google.com
همانطور که می بینید، دستور nslookup نام دامنه را دریافت می کند و آدرس IP را به عنوان خروجی در اختیار شما قرار می دهد.
پرس و جو از سرورهای DNS خاص
دستور nslookup به طور پیش فرض از سرورهایی که موقع تنظیم DNS در سیستم ثبت کرده اید، استفاده می کند. حالا اگر می خواهید برای اجری کوئری خود از سرور DNS دیگری استفاده کنید، می توانید nslookup را به صورت زیر اجرا کنید:
nslookup domain_name dns_server
اینجاست که باید دامنه و سرور DNS موردنظر خود را به دستور اضافه کرده و آن را اجرا کنید. ما در این مثال، آسام سرور را به عنوان نام دامنه و کلودفلر را هم به عنوان DNS سرور در نظر می گیریم:
nslookup asamserver.com 1.1.1.1
۳. تایید رکوردهای MX
رکورد MX برای تحویل ایمیل ها بسیار مهم است و برای مشخص کردن سرورهایی که ایمیل ها را دریافت و ارسال می کنند، استفاده می شود. همانطورکه در مقاله ایمیل سرور هم بررسی کردیم، ابتدا ایمیل به سرور ارسال کننده (MTA) ارسال می شود. بعد، سرور ارسال کننده با استفاده از رکوردهای MX در DNS، لوکیشن سرور هایی که مسئول دریافت و ارسال ایمیل ها هستند را پیدا می کند و ایمیل دریافتی خود را به یکی از آنها ارسال می کند تا اینکه ایمیل به سرور MTA مقصد برسد و به صندوق پستی کاربر تحویل داده شود.
برای بررسی و تایید رکوردهای MX در لینوکس می توانید از دستور زیر استفاده کنید:
nslookup -query=mx microsoft.com
همانطور که قبلاً هم اشاره کردیم، دستور nslookup برای کاربران ویندوز هم در دسترس است و کافیست ابزار اجرای دستورات ویندوز یعنی CMD را باز کنید و دستورات بالا را به همان صورت اجرا کنید. سینتکس دستور nslookup برای سیستم لینوکس، ویندوز و حتی Macos یکی است.
خطاهای DNS رایج موقع اجرای دستور nslookup
خطاهایی که وجود دارند که با دستور nslookup کشف می شوند و تحت قالب پیام های کوتاه، هشدارهای مهمی را در اختیار شما قرار می دهند:
۱. خطای “Server can’t find”
این خطا نشان می دهد که DNS سرور نمی تواند دامنه را ترجمه یا resolve کند. برای حل چنین مشکلی، ابتدا باید اتصال اینترنتی خود را بررسی کنید که برای این کار هم می توانید از دستور ping در لینوکس استفاده کنید و بعد کوئری های دیگری را امتحان کنید.
۲. خطای “Non-existent domain”
این پیام خطا نشان دهنده عدم وجود دامنه موردنظر است. اگر مطمئن هستید که این دامنه منتشر شده است، بهتر است املای آن را بررسی کنید و دستور nslookup را مجدداً اجرا کنید. یا اگر مطمئن نیستید که دامنه ثبت شده است یا نه، منتظر بمانید و بعدا دوباره امتحان کنید.
۳. پاسخ سرور DNS نادرست
اگر پاسخ هایی که از دستور nslookup دریافت کرده اید، نادرست یا مورد انتظار شما نیست، احتمالاٌ پیکربندی سرور DNS شما به درستی انجام نشده است که برای اطمینان از این موضوع می توانید از آموزش تغییر تنظیمات DNS استفاده کنید.
کلام آخر
دستور nslookup یکی از ابزارهای ارزشمند سیستم های لینوکسی و ویندوزی است که با استفاده از آن نه تنها می توانید نحوه ترجمه سرور DNS را بررسی کنید، بلکه کوئری های موردنظر را از سرور های DNS خاص درخواست کنید و رکوردها را بررسی و تایید کنید. در کل، nslookup یک ابزار کمکی عالی برای عیب یابی و حل مشکلات مربوط به DNS است.
از اینکه تا انتهای مقاله با ما همراه بودید، از شما متشکریم. امیدواریم که مطالعه این مقاله برای شما مفید واقع شده باشد. در صورت داشتن هرگونه سوال، درخواست و نیاز به راهنمایی، می توانید با ثبت نظر خود، با ما وارد ارتباط شوید تا هر چه زودتر به شما پاسخ دهیم.
سوالات متداول:
دستور nslookup برای خطایابی سرعت کند بارگذاری وبسایت مفید است؟
بله. این دستور می تواند به شناسایی مشکلات مرتبط با DNS که باعث کندی سایت شده اند، کمک کند. با بررسی DNS resolution و زمان پاسخ می توانید ببینید که DNS باعث تاخیر در دسترسی به وب سایت می شود یا نه.
آیا ابزار گرافیکی برای خطایابی مشکلات DNS وجود دارد؟
بله. ابزارهای گرافیکی مختلفی برای خطایابی مشکلات DNS وجود دارد که از محبوب ترین آنها می توان به dig و DNSstuff اشاره کرد.
آیا می توانم از دستور nslookup برای کوئری از آدرس های IPv6 استفاده کنم؟
بله. دستور nslookup از آدرس IPv6 هم پشتیبانی می کند و موقع اجرای دستور nslookup کافیست به جای نام دامنه، آدرس IPv6 را وارد کنید.
چگونه می توانم کش DNS را پاک کنم تا مشکلات DNS حل شوند؟
برای این کار کافیست دستور "ipconfig /flushdns" (ویندوز) یا "sudo systemd-resolve --flush-caches" (لینوکس) را اجرا کنید.