دامنه

رفع خطای NXDOMAIN در مرورگر؛ بررسی مرحله‌به‌مرحله

مسیر بررسی خطای NXDOMAIN؛ از کنترل نام و مقایسهٔ پاسخ DNS تا تشخیص اختلاف کش و انتخاب اقدام درست، با نمونهٔ واقعی و نمودار.

رایکت رایکت ۶ دقیقه مطالعه ۰ دیدگاه
رفع خطای NXDOMAIN در مرورگر؛ بررسی مرحله‌به‌مرحله

خطای DNS_PROBE_FINISHED_NXDOMAIN یعنی مرورگر برای نام درخواستی پاسخ DNS قابل‌استفاده پیدا نکرده و پاسخ «نام وجود ندارد» دریافت کرده است. برای رفع آن، ابتدا نام دقیق را کنترل کنید، سپس پاسخ همان نام را از DNSهای مشخص مقایسه کنید. این خطا به‌تنهایی ثابت نمی‌کند دامنه خریداری نشده یا هاست خراب است.

این آموزش برای مالک سایت و بازدیدکننده‌ای است که می‌خواهد محل مشکل را پیدا کند. مسیر کار، تشخیص قبل از تغییر است؛ لازم نیست برای شروع وارد سی‌پنل شوید یا تنظیمات شبکه را عوض کنید. اگر DNS برایتان تازه است، راهنمای سادهٔ DNS مرجع مقدماتی این مسیر است.

۱. نامی را بررسی کنید که واقعاً خطا می‌دهد

  1. نام میزبان را از آدرس مرورگر بردارید؛ مثل www.example.com، بدون https:// و مسیر صفحه.
  2. املای نام و پسوند را با آدرس درست تطبیق دهید.
  3. مشخص کنید خطا برای دامنهٔ اصلی است یا یک زیردامنه؛ این دو را جدا آزمایش کنید.
  4. زمان رخداد و شبکه‌ای که روی آن هستید یادداشت کنید.

ممکن است دامنهٔ اصلی پاسخ داشته باشد ولی www نداشته باشد. رفتار دامنهٔ اصلی و زیردامنه در راهنمای NXDOMAIN کلادفلر هم مطرح شده است. برای تفاوت این دو نام و انتخاب آدرس اصلی، راهنمای www و بدون www را ببینید.

۲. NXDOMAIN را با نبود یک نوع رکورد اشتباه نگیرید

در استاندارد پاسخ‌های منفی DNS، «نام وجود ندارد» و «نام وجود دارد ولی نوع رکورد درخواستی ندارد» دو حالت جدا هستند. برای مثال، نبود CNAME لزوماً NXDOMAIN نیست؛ همان نام می‌تواند رکورد A داشته باشد.

نتیجه چه برداشتی مجاز است؟
NXDOMAIN پاسخ‌دهنده، نام پرسیده‌شده را ناموجود گزارش کرده؛ علت باید بررسی شود.
NOERROR بدون پاسخِ نوع موردنظر ممکن است با نبود همان نوع رکورد مواجه باشید؛ آن را صرفاً از خالی‌بودن پاسخ NXDOMAIN ننامید.
SERVFAIL DNS نتوانسته پاسخ معتبر بدهد؛ برای بررسی علت، راهنمای SERVFAIL را بخوانید.
timeout پاسخ در مهلت نرسیده؛ به معنی اعلامِ نبودن نام نیست.

نمونهٔ واقعی: تصویر زیر بخش وضعیت و سؤالِ پاسخ Google Public DNS برای rayket-example.invalid را نشان می‌دهد. نام‌های زیر .invalid طبق RFC6761 برای نام‌های عمداً ناموجود رزرو شده‌اند؛ این نمونه خرابی یک سایت واقعی نیست.

بخش Status با مقدار ۳ و نام آزمایشی rayket-example.invalid در پاسخ واقعی Google Public DNS
برش اسکرین‌شات واقعیِ پاسخ DNS: Status: 3 در این اجرا NXDOMAIN است. تصویر فقط بخش وضعیت و سؤال را نشان می‌دهد؛ واترمارک رایکت به آن افزوده شده است.

در این نمونه، نوع سؤال A است. معنی فیلدهای JSON در مستند رسمی API گوگل آمده است. خطا را از مقدار DNS بخوانید؛ بازشدن صفحهٔ ابزار یا پاسخ HTTP200، سلامت دامنه را ثابت نمی‌کند.

۳. پاسخ یک نام ثابت را مقایسه کنید

در ویندوز، PowerShell یا Command Prompt را باز کنید. example.com را با نام عمومیِ دقیقِ دارای خطا جایگزین کنید:


nslookup -type=A example.com

همان سؤال را از DNS عمومی مشخص بپرسید:


nslookup -type=A example.com 1.1.1.1

این قالب مطابق مستند nslookup مایکروسافت است. دستور دوم تنظیم DNS ویندوز را تغییر نمی‌دهد؛ فقط مقصد پرس‌وجو را تعیین می‌کند. نام‌های خصوصی شبکهٔ سازمان را به resolver عمومی نفرستید.

در خروجی، DNS پاسخ‌دهنده را با IP برگشتی دامنه اشتباه نگیرید. برای خواندن جزئیات و بررسی A/AAAA، آموزش کامل nslookup در ویندوز را بخوانید. فقط یکسان‌بودن دو نتیجه، وضعیت تمام کاربران اینترنت را ثابت نمی‌کند.

تفسیر مهم: اگر پرس‌وجوی مستقیم timeout شد، همان نتیجه را ثبت کنید. محدودیت مسیر شبکه یا دسترسی به DNS عمومی می‌تواند علت باشد؛ timeout را NXDOMAIN گزارش نکنید. راهنمای عیب‌یابی Google Public DNS نیز مسیر رسیدن پرس‌وجو به resolver را جدا بررسی می‌کند.

۴. نتیجه را به قدم بعدی تبدیل کنید

نمودار تصمیم بررسی NXDOMAIN از تطبیق نام تا مقایسهٔ پاسخ‌های DNS و انتخاب مسیر بعدی
دیاگرام مفهومیِ مسیر بررسی؛ هر شاخه یک قدم بعدی پیشنهاد می‌دهد و تشخیص قطعی علت نیست.

هر دو DNS، نام را ناموجود گزارش می‌کنند

اگر مالک سایت هستید، وضعیت فعال‌بودن دامنه و DNS فعال آن را بررسی کنید. سپس ببینید رکوردِ نام دقیق در محل درست مدیریت می‌شود یا نه. راهنمای محل مدیریت DNS کمک می‌کند به‌جای پنل نامرتبط، مرجع درست را پیدا کنید.

اگر فقط بازدیدکننده‌اید، اطلاعات دامنه و خطا را به مالک سایت بدهید. تغییر تنظیمات دستگاه شما رکوردِ مفقودِ سایت را ایجاد نمی‌کند.

یکی NXDOMAIN دارد و دیگری پاسخ می‌دهد

نام، نوع رکورد، DNS و زمان را یکسان نگه دارید و اختلاف را ثبت کنید. کش یا تفاوت مسیر پاسخ از علت‌های قابل بررسی‌اند، ولی این آزمایش یکی از آن‌ها را قطعی نمی‌کند. پاسخ منفی هم می‌تواند کش شود؛ پاک‌کردن کش دستگاه، کش تمام resolverها را پاک نمی‌کند. توضیح این رفتار در RFC2308 آمده است.

DNS پاسخ درست دارد، مرورگر هنوز خطا می‌دهد

نام دقیق مرورگر و تنظیم DNS/Secure DNS آن را با آزمایش تطبیق دهید. در یک شبکهٔ دیگر هم همان نام را بررسی کنید. برای آزمایش، حفاظت‌های امنیتی را خاموش نکنید و از روی یک پاسخ مثبت، مشکل را حتماً به مرورگر نسبت ندهید.

۵. قبل از تغییر تنظیمات، این موارد را کنترل کنید

  • مرجع درست: تغییر در سی‌پنلی که DNS فعال دامنه را میزبانی نمی‌کند، جواب عمومی را اصلاح نمی‌کند.
  • نام درست: نیاز یک زیردامنه را با تغییر بی‌دلیل MX یا نیم‌سرورهای کل دامنه حل نکنید.
  • مقدار درست: IP مقصد را از مشخصات معتبر همان سرویس بگیرید؛ نمونه‌های مقاله مقدار تنظیم سایت شما نیستند.
  • حفظ وضعیت: پیش از هر اصلاح مدیریتی، مقادیر فعلی و مسیر بازیابی را نگه دارید. این آموزش آزمایشِ تغییر رکورد یا DNSSEC انجام نداده است.

برای مشکل دامنهٔ تازه، مسیر کلی در راهنمای دامنهٔ ثبت‌شده و سایت بازنشدنی آمده است. اگر نیاز به ویرایش رکورد در سی‌پنل تأیید شد، آموزش Zone Editor مرحلهٔ بعد است.

زمان ثابت نسخهٔ درمان نیست: «حتماً۲۴ساعت صبر کن» جای تشخیص را نمی‌گیرد. رکورد یا نام اشتباه با صبر درست نمی‌شود؛ زمان کش پاسخ مثبت و منفی و واگذاری هم یکسان نیست.

۶. برای پیگیری، یک گزارش قابل استفاده بسازید

اطلاعات نمونهٔ چیزی که باید ثبت شود
نام و مرحله نام دقیق عمومی؛ مرورگر خطا دارد یا ابزار DNS؟
زمان و شبکه زمان با منطقهٔ زمانی؛ شبکهٔ فعلی و نتیجهٔ شبکهٔ مقایسه‌شده.
پرس‌وجو نوع رکورد، DNS پاسخ‌دهنده و متن نتیجه.
تغییر اخیر ثبت دامنه، تغییر رکورد یا جابه‌جایی DNS؛ اگر تغییری نکرده‌اید همان را بنویسید.

رمز پنل، نام داخلی سازمان، IP خصوصی یا توکن را به گزارش عمومی اضافه نکنید. در اسکرین‌شاتِ دارای اطلاعات خصوصی، همان قسمت‌ها باید کاملاً ناخوانا شوند؛ عنوان ابزار و نتیجهٔ لازم برای تشخیص باقی بمانند.

۷. پرسش‌های رایج

NXDOMAIN یعنی دامنه حتماً ثبت نشده است؟

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

با خاموش‌کردن DNSSEC مشکل رفع می‌شود؟

از این خطا چنین نتیجه‌ای نمی‌گیریم. خطای اعتبارسنجی DNSSEC می‌تواند با SERVFAIL دیده شود، نه الزاماً NXDOMAIN؛ نمونهٔ رسمی آن در مستند API گوگل آمده است. تغییر امنیتی بدون تشخیص و برنامهٔ بازیابی انجام ندهید.

این مقاله چه چیزی را واقعاً آزمایش کرده است؟

پاسخ NXDOMAIN برای نام آزمایشی .invalid، پاسخ مثبت A و پاسخ بدون CNAME برای example.com، و نمایش پیام منفی در nslookup ویندوز بررسی شده‌اند. اسکرین‌شات مربوط به رابط واقعی Google Public DNS است. رفع مشکل دامنهٔ مشتری، تغییر رکورد و اجرای محیط‌های دیگر ادعا نشده است.

این مطلب برایتان مفید بود؟
رایکت
نوشته شده توسط رایکت

تیم محتوای رایکت؛ آموزش‌ها و راهنماهای کاربردی هاست، دامنه و مدیریت سایت.

مطالب مرتبط

دیدگاه‌ها

نظر یا سوال خود را درباره این مطلب با ما در میان بگذارید

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

aapanel
cloudlinux
cpanel
directadmin
jetbackup
laravel
mysql
virtualizor
vmware
wordpress