توضیحی ساده: DNS (Domain Name System) سیستمی است که نام های قابل خوانده شدن برای انسان مثل trustit.ir را به آدرس IP قابل فهم برای کامپیوترها مثل ۱۹۲.۰.۲.۱ ترجمه می کند. بدون DNS، برای بازکردن هر سایتی باید عدد IP آن را حفظ می کردید؛ به همین دلیل به آن دفترچه تلفن اینترنت هم می گویند.
نمودار نحوه کار DNS برای تبدیل نام دامنه به آدرس IP
در این مقاله می خوانید:
  1. DNS دقیقاً چیست؟
  2. چرا به DNS نیاز داریم؟
  3. ساختار سلسله مراتبی DNS
  4. انواع رکوردهای DNS
  5. فرآیند Resolution قدم به قدم
  6. کش DNS و مفهوم TTL
  7. سرور بازگشتی در مقابل سرور معتبر
  8. سرورهای DNS عمومی محبوب
  9. امنیت DNS: DNSSEC، Spoofing و DoH/DoT
  10. عیب یابی مشکلات رایج DNS
  11. نقش DNS در زیرساخت شبکه سازمانی

DNS دقیقاً چیست؟

DNS مخفف Domain Name System است؛ یک سیستم نام گذاری توزیع شده که در سطح جهانی روی هزاران سرور مستقل اجرا می شود و کار اصلی آن ترجمه نام دامنه به آدرس IP است. کامپیوترها و روترها برای مسیریابی بسته های داده فقط با عدد IP کار می کنند، در حالی که انسان ها اسم را بهتر از عدد به خاطر می آورند؛ DNS دقیقاً همین شکاف را پر می کند. هر بار که آدرس یک سایت را در مرورگر تایپ می کنید، پیش از این که حتی یک بایت از محتوای سایت بارگذاری شود، یک درخواست DNS در پس زمینه ارسال و پاسخ آن دریافت می شود.

به زبان ساده DNS مثل دفترچه تلفن یا سیستم مسیریابی GPS است: شما آدرس مقصد را با اسم می شناسید («فروشگاه فلان»)، اما ماشین یا پیک برای رسیدن به آن به مختصات دقیق نیاز دارد. DNS همان مرحله ای است که اسم را به مختصات تبدیل می کند تا مسیریابی واقعی انجام شود.

چرا به DNS نیاز داریم؟

فرض کنید DNS وجود نداشت؛ برای باز کردن هر سرویسی باید عدد IP دقیق آن را حفظ می کردید و با هر تغییر سرور (که در دنیای واقعی به دلایل مختلف مثل تعویض هاست یا مهاجرت به دیتاسنتر دیگر رخ می دهد)، تمام کاربران باید عدد جدید را یاد می گرفتند. DNS این مسئله را با یک لایه غیرمستقیم حل می کند: نام دامنه ثابت می ماند حتی اگر IP پشت آن چند بار عوض شود، فقط کافی است رکورد DNS به روزرسانی شود. همین ویژگی امکاناتی مثل توزیع بار بین چند سرور، سوییچ سریع در زمان قطعی، و مهاجرت بدون آسیب به کاربر نهایی را فراهم می کند.

ساختار سلسله مراتبی DNS

DNS یک پایگاه داده متمرکز نیست؛ یک ساختار درختی و توزیع شده است که در چند سطح مدیریت می شود:

  • سرورهای ریشه (Root Servers): بالاترین سطح سلسله مراتب؛ ۱۳ مجموعه سرور ریشه در دنیا وجود دارد که آدرس سرورهای مسئول هر پسوند دامنه (TLD) را می شناسند
  • سرورهای TLD: مسئول پسوندهایی مثل .com، .ir یا .org؛ می دانند سرور معتبر (Authoritative) هر دامنه زیرمجموعه خودشان کجاست
  • سرورهای معتبر (Authoritative Nameserver): سرور نهایی که رکوردهای واقعی یک دامنه مشخص مثل trustit.ir را نگه می دارد و پاسخ قطعی می دهد
  • سرور بازگشتی (Recursive Resolver): واسطه ای که از طرف کاربر این زنجیره را طی می کند تا پاسخ نهایی را پیدا کند

انواع رکوردهای DNS

هر دامنه شامل مجموعه ای از رکوردها است که هرکدام نوع مشخصی از اطلاعات را نگه می دارند. شناخت این رکوردها برای هر کسی که سایت، ایمیل یا سرویس آنلاین دارد ضروری است:

نوع رکوردکاربردمثال
Aاشاره دامنه به آدرس IPv4trustit.ir → 203.0.113.10
AAAAاشاره دامنه به آدرس IPv6trustit.ir → 2001:db8::1
CNAMEاشاره یک نام به نام دیگر (نام مستعار)www.trustit.ir → trustit.ir
MXمشخص کردن سرور دریافت ایمیل دامنهmail.trustit.ir با اولویت ۱۰
TXTذخیره متن آزاد؛ اغلب برای تأیید مالکیت و امنیت ایمیل (SPF/DKIM)"v=spf1 include:..."
NSمعرفی سرورهای معتبر دامنهns1.trustit.ir
SOAاطلاعات مدیریتی زون از جمله سریال و زمان بندی بروزرسانیشماره سریال، TTL پیش فرض
PTRترجمه معکوس IP به نام دامنه10.113.0.203 → trustit.ir
یادداشت

رکورد PTR دقیقاً برعکس رکورد A عمل می کند و روی سرور DNS ارائه دهنده IP (نه ارائه دهنده دامنه) تنظیم می شود؛ نبود PTR صحیح یکی از دلایل رایج افتادن ایمیل های سازمانی در پوشه اسپم است.

فرآیند Resolution قدم به قدم

وقتی آدرسی مثل www.trustit.ir را در مرورگر تایپ می کنید، این زنجیره در کسری از ثانیه طی می شود:

  1. مرورگر ابتدا کش محلی خودش و سیستم عامل را بررسی می کند؛ اگر پاسخ آن جا موجود باشد، فرآیند همین جا تمام می شود
  2. در غیر این صورت درخواست به سرور بازگشتی (معمولاً سرور DNS تنظیم شده روی روتر یا ISP) ارسال می شود
  3. سرور بازگشتی، اگر خودش پاسخ را در کش نداشته باشد، از یکی از سرورهای ریشه می پرسد که سرور TLD مربوط به «.ir» کجاست
  4. سرور ریشه آدرس سرور TLD را برمی گرداند؛ سرور بازگشتی از سرور TLD می پرسد سرور معتبر «trustit.ir» کجاست
  5. سرور TLD آدرس سرور معتبر (Authoritative) دامنه را برمی گرداند
  6. سرور بازگشتی مستقیماً از سرور معتبر trustit.ir رکورد A را درخواست می کند و آدرس IP نهایی را دریافت می کند
  7. سرور بازگشتی پاسخ را هم به مرورگر برمی گرداند و هم برای درخواست های بعدی در کش خودش ذخیره می کند
💡 نکته

در عمل این هفت مرحله معمولاً کمتر از چند دهم ثانیه طول می کشد، چون بخش زیادی از پاسخ ها (به خصوص سرورهای ریشه و TLD) از قبل در کش سرورهای بازگشتی موجود هستند و مرحله کامل فقط برای دامنه های تازه یا کم استفاده اجرا می شود.

کش DNS و مفهوم TTL

برای این که هر درخواست مجبور نباشد کل زنجیره بالا را طی کند، هر پاسخ DNS به همراه یک مقدار TTL (Time To Live) برگردانده می شود که مشخص می کند آن پاسخ چند ثانیه معتبر است. تا زمانی که TTL منقضی نشده، سرورهای بازگشتی و حتی مرورگر همان پاسخ کش شده را بدون پرسیدن دوباره استفاده می کنند. TTL کوتاه (مثلاً ۳۰۰ ثانیه) یعنی تغییرات سریع تر در دنیا منتشر می شود اما بار بیشتری روی سرور DNS می گذارد؛ TTL بلند (مثلاً ۲۴ ساعت یا بیشتر) بار کمتری دارد اما تغییر IP کندتر به همه جا می رسد.

⚠️ هشدار

پیش از هر تغییر بزرگ (مثل مهاجرت سایت به هاست جدید)، حداقل چند روز زودتر TTL رکورد را کاهش دهید. اگر TTL روی مقدار بالا مانده باشد، بعد از تغییر IP بخشی از کاربران تا ساعت ها همچنان به سرور قدیمی هدایت می شوند.

سرور بازگشتی در مقابل سرور معتبر

یکی از رایج ترین اشتباه های مفهومی، یکسان دانستن این دو نوع سرور است، در حالی که نقش کاملاً متفاوتی دارند:

ویژگیسرور بازگشتی (Recursive)سرور معتبر (Authoritative)
نقشواسطه ای که از طرف کاربر جستجو می کندمنبع نهایی و رسمی اطلاعات یک دامنه مشخص
نمونه1.1.1.1، 8.8.8.8، DNS ارائه شده توسط ISPns1.trustit.ir، سرورهای رجیستراری که دامنه در آن مدیریت می شود
کش می کند؟بله، برای کاهش بار و افزایش سرعتمعمولاً نه؛ همیشه پاسخ به روز و رسمی می دهد

سرورهای DNS عمومی محبوب

در کنار DNS ارائه شده توسط ISP، سرورهای DNS عمومی و رایگانی هم وجود دارند که معمولاً سرعت و پایداری بالاتری ارائه می دهند؛ رایج ترین آن ها 8.8.8.8 و 8.8.4.4 از گوگل، و 1.1.1.1 و 1.0.0.1 از Cloudflare هستند که علاوه بر سرعت، روی حریم خصوصی و رمزنگاری درخواست هم تمرکز دارند. برای کاربران و کسب و کارهای داخل ایران، توجه به تحریم و فیلترینگ در انتخاب DNS اهمیت دارد؛ به همین دلیل استفاده از DNSهای داخلی معتبر یا سرویس های تخصصی مثل شکن (403.online) هم در کنار گزینه های بین المللی رایج است.

امنیت DNS: DNSSEC، Spoofing و DoH/DoT

پروتکل اصلی DNS از ابتدا برای امنیت طراحی نشده بود و همین موضوع آن را هدف چند نوع حمله رایج کرده است. DNS Spoofing یا Cache Poisoning زمانی رخ می دهد که یک مهاجر پاسخ جعلی را جای پاسخ واقعی در کش سرور بازگشتی جا می زند تا کاربر به جای سایت واقعی به یک سرور مخرب هدایت شود. برای مقابله با این تهدید، DNSSEC با امضای دیجیتال رکوردها، اصالت و صحت پاسخ را تضمین می کند. در لایه دیگر، پروتکل های DNS over HTTPS (DoH) و DNS over TLS (DoT) با رمزنگاری کل ترافیک DNS، از شنود یا دستکاری درخواست ها در مسیر شبکه جلوگیری می کنند.

عیب یابی مشکلات رایج DNS

بخش زیادی از مشکلات «سایت بالا نمی آید» یا «ایمیل نمی رسد» در واقع ریشه در DNS دارند، نه در خود سرویس. ابزارهای خط فرمان nslookup و dig (روی لینوکس/مک) یا Resolve-DnsName (روی ویندوز) امکان بررسی مستقیم رکوردهای یک دامنه را می دهند و اولین قدم عیب یابی محسوب می شوند.

  • اگر سایت برای بعضی کاربران بالا می آید و برای بعضی نه، معمولاً مسئله کش DNS محلی یا تفاوت TTL بین سرورهای مختلف است
  • اگر ایمیل نمی رسد، ابتدا رکوردهای MX، SPF و DKIM را با ابزار dig بررسی کنید
  • خطای NXDOMAIN یعنی دامنه اصلاً در سرور معتبر پیدا نشده؛ اغلب به دلیل تایپ اشتباه یا انقضای دامنه است
  • خطای SERVFAIL معمولاً نشان دهنده مشکل در پیکربندی DNSSEC یا از دسترس خارج بودن سرور معتبر است
مطلب مرتبطتفاوت VLAN و Subnet چیست؟

نقش DNS در زیرساخت شبکه سازمانی

در مقیاس یک سازمان، DNS فقط برای باز کردن سایت به کار نمی رود؛ سرویس هایی مثل Active Directory برای شناسایی دامین کنترلرها، سرورهای ایمیل داخلی، و حتی بسیاری از اپلیکیشن های داخلی به یک DNS داخلی سالم وابسته اند. قطعی یا کندی DNS داخلی می تواند کل شبکه سازمانی را بدون این که خود اینترنت مشکلی داشته باشد، عملاً متوقف کند. به همین دلیل توصیه استاندارد داشتن حداقل دو سرور DNS داخلی افزونه، مانیتورینگ سلامت این سرویس، و پشتیبان گیری منظم از زون های DNS است.

DNS چه ارتباطی با سرعت باز شدن سایت دارد؟
اگر پاسخ DNS در کش موجود نباشد، مرورگر باید منتظر کامل شدن فرآیند resolution بماند و این می تواند چند دهم ثانیه تا چند ثانیه به زمان بارگذاری اولیه سایت اضافه کند؛ استفاده از DNS سریع و نزدیک جغرافیایی این تأخیر را کاهش می دهد.
چرا بعد از تغییر IP، سایت من هنوز به سرور قدیمی می رود؟
این رفتار طبیعی و ناشی از کش DNS است؛ تا زمانی که TTL رکورد قبلی منقضی نشود، بعضی سرورهای بازگشتی همچنان پاسخ قدیمی را برمی گردانند.
تفاوت رکورد A و CNAME چیست؟
رکورد A مستقیماً یک نام را به یک آدرس IP وصل می کند، در حالی که CNAME یک نام را به نام دیگری اشاره می دهد و آن نام دوم است که در نهایت به IP می رسد.
آیا می شود چند سرور DNS برای یک دامنه تنظیم کرد؟
بله و توصیه هم می شود؛ داشتن حداقل دو سرور نام معتبر (NS) باعث می شود در صورت از دسترس خارج شدن یکی، دامنه همچنان از طریق سرور دیگر پاسخ گو باشد.
DNSSEC چه چیزی را تضمین می کند؟
DNSSEC با امضای دیجیتال رکوردها تضمین می کند پاسخی که دریافت می کنید واقعاً از سرور معتبر آن دامنه آمده و در مسیر دستکاری نشده است؛ به این معنا نیست که ترافیک را رمزنگاری می کند.

پیشنهاد آیتی مطمئن

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

مشاوره رایگان زیرساخت شبکه

مقالات و صفحات مرتبط

خدمات پشتیبانی و زیرساخت شبکه تفاوت VLAN و Subnet چیست؟ چک لیست کامل طراحی اتاق سرور استاندارد سرورهای HPE

بدون دیدگاه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *