DNS چیست و چه کاربردی دارد؟

تعریف DNS
Avatar
نویسنده: سانیا عبدی‌پور
شنبه 26 مهر 1404
مطالعه: ۱۴ دقیقه ۲ نظر ۹۸۱۳ بازدید

وقتی آدرس وب‌سایتی را در مرورگر وارد می‌کنید، در واقع در حال درخواست برقراری ارتباط با سروری هستید که اطلاعات آن سایت را میزبانی می‌کند. اما مرورگرها زبان انسان را نمی‌فهمند و برای شناسایی هر وب‌سایت به آدرس عددی (IP) نیاز دارند. در اینجا DNS یا سیستم نام دامنه (Domain Name System) وارد عمل می‌شود. DNS مانند دفترچه تلفنی هوشمند برای اینترنت است که نام‌های دامنه‌ای مانند parspack.com را به آدرس‌های عددی سرورها تبدیل می‌کند تا کاربران بتوانند بدون نیاز به حفظ IPها، به‌راحتی به وب‌سایت‌ها دسترسی پیدا کنند. به‌عبارت ساده، DNS ستون اصلی ارتباط میان کاربران و سرورها در دنیای وب است. در این مقاله از سرویس های میزبانی در وبلاگ پارس‌پک با مفهوم DNS، نحوه عملکرد آن و هر آنچه که باید درباره DNS بدانید اشاره کرده‌ایم.

DNS چیست؟

DNS مخفف Domain Name System و به‌معنای «سیستم نام دامنه» است که نام دامنه وب‌سایت (برای مثال www.parspack.com) را به آدرس IP (برای مثال 1.2.3.4) تبدیل می‌کند. تمامی کامپیوتر‌های موجود در اینترنت، از تلفن هوشمند یا لپ‌تاپ گرفته تا سرورهای وب‌سایت‌ها، با استفاده از اعداد یکدیگر را شناسایی و ارتباط برقرار می‌کنند. این اعداد IP نام دارد. هنگامی‌که می‌خواهید وارد وب‌سایتی شوید و با سرور آن ارتباط برقرار کنید، نیازی نیست آدرس IP آن را وارد کنید؛ بلکه تنها کافی است نام دامنه وب‌سایت را درج کنید و عملیات تبدیل نام دامنه به IP را به DNS بسپارید. با این کار نام دامنه قابل‌فهم برای انسان، به IP قابل‌فهم برای ماشین‌ تبدیل می‌شود.

سرور DNS یا Nameserver چیست؟

هنگامی‌که آدرس وب‌سایتی را وارد می‌کنید، باید به IP سرور مرتبط با دامنه خود متصل شوید. حال این اطلاعات در کجا قرار دارد و سیستم چگونه می‌فهمد که دامنه‌ها مختص کدام سرورند؟ سرور DNS یا Nameserver مانند دفترچه‌تلفن عمل و تمامی رکوردهای DNS و IPهای مرتبط با آن‌ها را ثبت می‌کند. به‌عبارت‌دیگر، وظیفه آن ارائه اطلاعات DNS مرتبط با دامنه‌هاست.
معمولا سرویس‌های میزبانی وب Nameserverها را مدیریت می‌کنند. هر هاست یا سروری که می‌خرید، آدرس IP مخصوص خود را دارد که باید ثبت شود. هر سرور DNS وظیفه دارد اطلاعات مربوط به دامنه و IP سرورها را درون خود ذخیره کند تا درصورت فراخوانی، بتواند اطلاعات را ارسال کند. رکوردهای DNS درون Nameserverها در سراسر جهان پخش شده‌اند و برای شناسایی باید دراختیار همگی آن‌ها قرار بگیرد؛ به‌همین‌دلیل، ثبت DNSهای دامنه ممکن است تا ۴۸ ساعت طول بکشد.
هر Nameserver آدرس‌های DNS خاص خود را دارد که می‌تواند رکوردهای بسیاری از دامنه‌ها و IPها را در خود ذخیره کند. برای مثال:

ns1.parspack.co
ns2.parspack.co
ns3.parspack.co
ns4.parspack.co

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

ثبت و خرید دامنه

انواع DNS سرور

هر درخواست DNS برای یافتن IP وب‌سایت از چند نوع سرور عبور می‌کند. هرکدام از این سرورها نقش خاصی در فرایند تبدیل نام دامنه به آدرس IP دارند:

DNS Recursor (حل‌کننده یا Resolver):

اولین سروری است که درخواست کاربر را دریافت می‌کند و وظیفه دارد پاسخ نهایی را از سایر سرورهای DNS پیدا کند.

Root Name Server (سرور ریشه):

در بالاترین سطح ساختار DNS قرار دارد و مسئول هدایت درخواست‌ها به سرورهای مربوط به دامنه‌های سطح بالا (TLD) است.

Top-Level Domain Server (سرور دامنه سطح بالا):

اطلاعات مربوط به دامنه‌های سطح بالا مانند .com، .org یا .ir را نگهداری می‌کند و درخواست را به سرور معتبر دامنه هدایت می‌کند.

Authoritative Name Server (سرور معتبر):

آخرین مرحله در فرایند جست‌وجوی DNS است که IP واقعی وب‌سایت را برمی‌گرداند و پاسخ نهایی را به مرورگر می‌فرستد.

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

  • A Record: آدرس دامنه را به آدرس IP نسخه چهارم (IPv4) متصل می‌کند.
  • AAAA Record: مشابه رکورد A است، اما برای آدرس‌های IP نسخه ششم (IPv6) استفاده می‌شود.
  • CNAME Record: یک دامنه را به دامنه دیگر اشاره می‌دهد و برای ریدایرکت یا ایجاد آدرس‌های جایگزین کاربرد دارد.
  • MX Record: سرور دریافت‌کننده ایمیل‌های دامنه را مشخص می‌کند.
  • TXT Record: اطلاعات متنی مانند تأیید مالکیت دامنه یا تنظیمات امنیتی را ذخیره می‌کند.
  • NS Record: نام سرورهای اصلی دامنه را معرفی می‌کند و تعیین می‌کند کدام سرور مسئول پاسخ‌گویی به درخواست‌های DNS است.
  • SRV Record: اطلاعات مربوط به سرویس‌های خاص (مانند VoIP یا چت) را مشخص می‌کند.
  • PTR Record: برای تبدیل IP به نام دامنه استفاده می‌شود و در جست‌وجوی معکوس (Reverse Lookup) کاربرد دارد.

کاربرد و وظیفه DNS چیست؟

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

DNS چگونه کار می‌کند؟

نحوه کار DNS
DNS و نحوه کار آن

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

DNS Recursor

در مرحله اول، درخواست کاربر به این بخش ارسال می‌شود. این بخش با سرورهای DNS سِت‌شده ارتباط برقرار می‌کند تا بتواند IP را پیدا کند. برای انجام این کار، کوئری‌ها را به سه بخش بعدی، یعنی Root Nameservers و Top-level Domain Nameservers و Authoritative Nameservers، ارسال می‌کند تا بتواند IP مناسب را بیابد.

Root Nameservers 

برای یافتن DNS root zone یا DNS از روی منطقه آن است. این بخش وظیفه پاسخ به درخواست‌هایی را برعهده دارد که در همان منطقه DNS قرار گرفته است. درنهایت، فهرستی از سرورهای معتبر مطابق با TLD دامنه در یافتن آدرس آی‌پی کمک می‌کند.

Top-level Domain Namesevers

وظیفه نگه‌داری از IP مربوط به TDL دامنه را برعهده دارد و IP موجود را ارسال می‌کند و به مرحله چهارم می‌رسد.

Authoritative Nameserver

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

تفاوت DNS با IP چیست؟

IP یا Internet Protocol آدرس عددی یکتایی است که برای شناسایی هر دستگاه یا سرور در شبکه استفاده می‌شود؛ مانند نشانی خانه برای شناسایی مکان دقیق. در مقابل، DNS سیستمی است که نام‌های قابل‌خواندن برای انسان (مانند example.com) را به آدرس‌های IP تبدیل می‌کند. به‌عبارت ساده، IP مقصد نهایی است و DNS راهنمایی است که مسیر رسیدن به آن را مشخص می‌کند.

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

برای اتصال یا تغییر مسیر دامنه‌ها از رکوردهای DNS استفاده می‌شود. به‌عنوان مثال، با رکورد A می‌توان دامنه را به IP سرور متصل کرد یا با رکورد CNAME یک دامنه را به دامنه دیگر ارجاع داد. این رکوردها ابزار اصلی برای هدایت و مدیریت مسیر بارگذاری وب‌سایت‌ها هستند.

مفهوم DNS‌های رمزگذاری‌شده

DNS‌های رمزگذاری‌شده (Encrypted DNS) با هدف افزایش امنیت و حفظ حریم خصوصی کاربران طراحی شده‌اند. در این روش، کوئری‌های DNS به‌جای ارسال به‌صورت متن ساده، رمزگذاری می‌شوند تا اشخاص ثالث نتوانند آن‌ها را مشاهده یا تغییر دهند.

دو پروتکل رایج در این زمینه عبارت‌اند از:

  • DoT (DNS over TLS): از پروتکل TLS برای رمزگذاری ترافیک DNS استفاده می‌کند.
  • DoH (DNS over HTTPS): از پروتکل HTTPS برای ارسال امن درخواست‌های DNS بهره می‌گیرد.

تفاوت اصلی آن‌ها در نوع پروتکل رمزگذاری است؛ DoH از پورت 443 و DoT از پورت 853 استفاده می‌کند، اما هر دو امنیت ارتباط DNS را به‌طور چشمگیری افزایش می‌دهند.

برای آشنایی با سرویس DNS ابری و عملکرد آن مقاله زیر را بخوانید.

DNS‌ ابری چیست؟

منظور از تغییر DNS چیست؟

منظور از تغییر DNS، جایگزین‌کردن سرورهای نام دامنه با سرورهای جدید است. این کار معمولاً برای افزایش سرعت پاسخ‌گویی، بهبود امنیت یا استفاده از خدمات DNS خاص (مانند Google DNS یا Cloudflare) انجام می‌شود. با تغییر DNS، مسیر ارتباط مرورگر تا سرور تغییر می‌کند، اما محتوای سایت ثابت می‌ماند.

مفهوم UDP و TCP

هر دو پروتکل UDP و TCP برای انتقال داده‌ها در شبکه استفاده می‌شوند. DNS معمولاً از UDP (User Datagram Protocol) استفاده می‌کند، زیرا سبک‌تر و سریع‌تر است و برای پرس‌وجوهای کوتاه مناسب است. اما در مواقعی که نیاز به اطمینان از دریافت کامل داده وجود دارد، از TCP (Transmission Control Protocol) استفاده می‌شود. به‌طور خلاصه، UDP سریع‌تر و TCP قابل‌اعتمادتر است.

کش دی ان اس چیست؟

سیستم کش به‌معنای ذخیره موقت داده‌ها در مکانی نزدیک‌تر است که به بهبود عملکرد و پاسخ سریع‌تر منجر می‌شود. کش‌کردن DNS به‌معنای ذخیره اطلاعات DNS در نزدیک‌ترین مکان برای کاربر است؛ به‌طوری‌که با ارسال درخواست‌های بعدی، پاسخ DNS از کش کاربر خوانده می‌شود و دیگر درخواستی به زنجیره DNS ارسال نمی‌شود و در‌نهایت، مصرف پهنای باند CPU کاهش و سرعت لود وب‌سایت افزایش می‌یابد. داده‌های DNS می‌توانند در مکان‌های مختلف کش و برای مدت‌زمان مشخصی برحسب TTL ذخیره شوند.

محل ذخیره کش DNS در مرورگر

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

chrome://net-internals/#DNS

بهترین سرورهای DNS خارجی

معمولاً سرویس میزبانی وب سرورهای DNS را دراختیارتان قرار می‌دهد؛ اما بازهم می‌توانید DNSهای دامنه خود را تغییر دهید. سرورهای DNS پولی و رایگانی وجود دارند که از سرعت و امنیت فراوانی برخوردارند و از ابزارهای امنیتی مانند فایروال و فیلتر درخواست‌ها نیز استفاده می‌کنند. در‌ادامه، برخی از سرورهای برتر DNS را معرفی کرده‌ایم.

  • Cloudflare: کلودفلر یکی از سرویس‌های ارائه‌دهنده DNS است که امکانات فراوانی دراختیار کاربران قرار می‌دهد. Cloudflare علاوه‌بر امنیت، از حملات DDoS و سایر حملات جلوگیری و با سرویس‌های امنیتی و معماری بهینه، امنیت و سرعت لود وب‌سایتتان را بهینه می‌کند.
  • Google Public DNS: سرویس DNS گوگل که Google Public DNS نام دارد، کمی با سرویس Cloudflare تفاوت دارد و برای کاربران باتجربه‌تر طراحی شده است. این سرویس کاربردها و امکانات خاص خود را دارد که درصورت نیاز می‌توانید از آن استفاده کنید.
  • Quad9: سرویس دی‌ان‌اس Quad9 به سرعت بسیار زیاد مشهور است. همچنین، این سرویس ادعا می‌کند که می‌تواند وب‌سایت‌ها و کاربران مخرب را با استفاده از اطلاعاتش مسدود کند.

DNS Zone چیست؟

DNS به مناطق مختلفی تقسیم می‌شود و هرکدام از آن‌ها را ارگان‌های گوناگونی مدیریت می‌کنند. فضای نام DNS می‌تواند یک یا چند منطقه DNS داشته باشد که هر‌کدام را میزبان یا سرویس DNS خاصی مدیریت می‌کند. DNS Zone ساختار سلسله‌مراتبی دارد که در آن top-level domain، دامنه، زیردامنه و… وجود دارد.

فقط با چند کلیک، دامنه‌تان را ثبت کنید!

فرقی نمی‌کند که یک دامنه‌‌ی ملی نیاز دارید یا بین‌المللی؛ ما در پارس‌پک فرایند ثبت دامنه ساده و سریع برنامه‌ریزی کرده‌ایم. فقط ۴ کلیک با ثبت دامنه‌تان فاصله دارید. همین حالا اولین کلیک را روی لینک زیر انجام دهید!

Zone file در DNS چیست؟

DNS به بخش‌هایی به نام Zone تقسیم می‌شود که هرکدام توسط یک مدیر یا سرور خاص مدیریت می‌شوند. فضای نام DNS می‌تواند شامل یک یا چند Zone باشد که هر Zone شامل رکوردهای مربوط به یک دامنه یا زیرمجموعه‌ای از دامنه‌هاست. ساختار کلی DNS سلسله‌مراتبی است (root، TLD، دامنه، زیر دامنه)، اما هر Zone معمولاً مربوط به یک دامنه یا بخشی از آن است.

DNS Zoneها به دو دسته تقسیم می‌شوند:

  • Zone اولیه (Primary): سروری که رکوردهای اصلی DNS Zone را نگهداری و مدیریت می‌کند. تغییرات فقط در این سرور انجام می‌شود.
  • Zone ثانویه (Secondary): سروری که یک کپی فقط خواندنی از Zone را نگهداری می‌کند و اطلاعات را از Primary دریافت می‌کند (از طریق Zone Transfer). استفاده از Secondary Zone باعث افزونگی (redundancy) پشتیبان‌گیری و توزیع بار درخواست‌ها می‌شود و اگر Primary در دسترس نباشد، Secondary می‌تواند پاسخ DNS بدهد.

Zone file در DNS چیست؟

DNS zone file اساس فنی برای ذخیره اطلاعات DNS را تشکیل می‌دهد. DNS zone file فایلی متنی است که در سرور مدیر DNS ذخیره می‌شود. ساختار فایل DNS zone نیز در سند RFC 1035 تعریف شده است. طبق قانون DNS zone، فایل متنی است که هر خط دستور‌العمل (Resource Record) را ارائه می‌دهد.

آموزش تغییر DNS دامنه‌های ملی و بین‌المللی را در مقاله زیر بخوانید.

تغییر DNS دامنه

رایج‌ترین حملات DNS

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

۱. مسمومیت کش DNS (DNS Cache Poisoning یا DNS Spoofing)

همان‌طور‌که می‌دانید، بخشی از اطلاعات DNS در کش سرور یا Resolver ذخیره می‌شود. هکرها با دسترسی به کش DNS و جعل اطلاعات آن، می‌توانند IP وب‌سایت مدنظر را به IP سرورهای مخرب تغییر دهند و کاربر را به آن‌ها هدایت کنند. همچنین، اغلب به وب‌سایت‌های کپی وب‌سایت اصلی ریدایرکت می‌شوند که برای جعل مدارک به‌کار می‌روند.

۲. تونل DNS (DNS Tunneling)

در این نوع حمله، هکرها از پروتکل‌هایی برای تونل‌کردن کوئری‌های DNS و از SSH یا TCP یا HTTP برای ارسال اطلاعات مخفی‌شده در کوئری‌های DNS استفاده می‌کنند.

۳. ربودن DNS (DNS Hijacking)

هکرها تنظیمات DNS را به IP سرورهای جعلی خود متصل و کوئری‌های DNS را به سرور دیگری ارسال می‌کنند که موجب هک اطلاعات می‌شود.

۴. حمله NXDOMAIN

این نوع حمله درخواست‌های جعلی بسیار زیادی را به DNS ارسال می‌کند که باعث پر‌شدن ترافیک سرور DNS می‌شود و به کاربران اجازه نمی‌دهد به وب‌سایت وارد شوند. افزون‌براین، این حمله خطر مسمومیت کش DNS را افزایش می‌دهد. حمله NXDOMAIN نوعی حمله DDoS محسوب می‌شود و از طریق این لایه انجام می‌شود.

۵. Domain Lock-up

در این حمله، مهاجمان با تنظیم دامنه‌ها و Resolversهای ویژه، منابع سرور را قفل می‌کنند و درخواست‌ها را به دیگر Resolversهای غیرقانونی ارسال می‌کنند که در نهایت، باعث تغییر پاسخ درخواست DNS دلخواه خواهد شد.

۶. Phantom Domain

در این حمله، هکرها سعی می‌کنند به DNS Resolver اطلاعات جعلی وارد کنند و سیستم DNS شما را در انتظار پاسخ از مکانی نامعلوم قرار دهند. با این کار آنان می‌توانند خطای دریافت پاسخ غلط را افزایش دهند و با تأخیر بیجا، لود وب‌سایتتان را متوقف کنند.

۷. Botnet-Based CPE

در این روش، هکرها سعی می‌کنند با استفاده از سیستم‌های متفاوت، درخواست‌های بسیار زیادی به سرور DNS وارد و سیستم سرور اصلی وب‌سایت را مشغول کنند و در نهایت، وب‌سایت را از کار بیندازند.

جمع‌بندی

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

سوالات متداول

۱. DNS چیست؟

DNS سیستم تبدیل‌کننده نام دامنه به IP سرور برای دریافت اطلاعات و نمایش به کاربر است.

۲. نمونه‌ای از DNS چیست؟

نمونه DNS گوگل بهترین گزینه شناخته می‌شود. آدرس DNS اصلی گوگل ۸.۸.۸.۸ است.

۳. چگونه DNS خود را پیدا کنیم؟

در کامپیوتر ویندوزی، می‌توانید DNS خود را با رفتن به خط فرمان و تایپ «ipconfig/all» و سپس زدن Enter پیدا کنید.

۲ نظر

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

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


ارسال دیدگاه در وبلاگ پارس‌پک را مطالعه کرده و آن‌ها را می‌پذیرم.

    خییلییی مچکر از اطلاعات کامل و واضحتون

    کاربر
    پنج‌شنبه ۱۸ آبان ۱۴۰۲

    بسیارعالی ممنون

    شادمانی
    یکشنبه ۱۰ تیر ۱۴۰۳