زمانی که آدرس یک سایت را در مرورگر وارد میکنید، مرورگر باید بداند فایلها و اطلاعات آن سایت روی کدام سرور قرار دارند. کامپیوترها برای پیداکردن سرورها از آدرسهای عددی به نام IP استفاده میکنند؛ اما حفظکردن این اعداد برای کاربران دشوار است. DNS سیستمی است که نام قابلفهم دامنه را به آدرس IP مرتبط با سرور تبدیل میکند.
برای مثال، بهجای اینکه کاربران یک آدرس عددی مانند 192.0.2.10 را به خاطر بسپارند، نامی مانند example.com را وارد میکنند. DNS در پشت صحنه مشخص میکند این دامنه به کدام سرور متصل است.
البته کاربرد DNS فقط به بازکردن سایت محدود نمیشود. اتصال دامنه به هاست، راهاندازی ایمیل سازمانی، ساخت زیردامنه، تأیید مالکیت دامنه، استفاده از CDN و فعالسازی برخی تنظیمات امنیتی نیز با رکوردهای DNS انجام میشوند. به همین دلیل تنظیم صحیح DNS یکی از مراحل مهم راهاندازی و طراحی سایت است.
DNS مخفف چیست؟
DNS مخفف عبارت Domain Name System و به معنی «سیستم نام دامنه» است. این سیستم را میتوان به دفترچه تلفن اینترنت تشبیه کرد؛ زیرا نامهای قابلخواندن برای انسان را به آدرسهای قابلاستفاده برای کامپیوترها تبدیل میکند.
Cloudflare در تعریف DNS توضیح میدهد که این سیستم، نام دامنه قابلفهم برای کاربران را به آدرس IP موردنیاز مرورگر و سایر نرمافزارها تبدیل میکند.
برای مثال:
نام دامنه:
example.com
آدرس IPv4:
192.0.2.10
آدرس IPv6:
2001:db8::10
DNS کمک میکند کاربر فقط نام دامنه را وارد کند و نیازی به دانستن IP سرور نداشته باشد.
DNS چگونه کار میکند؟
وقتی کاربر دامنهای مانند example.com را در مرورگر وارد میکند، فرایندی به نام DNS Resolution یا تبدیل نام دامنه انجام میشود.
مراحل این فرایند معمولاً به شکل زیر است:
- مرورگر حافظه موقت خود را بررسی میکند.
- سیستمعامل بررسی میکند که پاسخ DNS از قبل در حافظه کش وجود دارد یا خیر.
- در صورت نبود پاسخ، درخواست به DNS Resolver ارسال میشود.
- Resolver در صورت نداشتن پاسخ ذخیرهشده، از Root Server پرسوجو میکند.
- Root Server مسیر سرور دامنه سطح بالا یا TLD را اعلام میکند.
- سرور TLD، نیمسرور معتبر دامنه را معرفی میکند.
- Authoritative Nameserver رکورد نهایی، مانند آدرس IP، را برمیگرداند.
- Resolver پاسخ را برای مدتی ذخیره و به مرورگر ارسال میکند.
- مرورگر به سرور مقصد متصل میشود.
- سرور فایلهای صفحه را برای مرورگر میفرستد.
این فرایند معمولاً در مدت کوتاهی انجام میشود و کاربر مراحل آن را مشاهده نمیکند.
استاندارد بنیادی DNS سه بخش اصلی را تعریف میکند: فضای سلسلهمراتبی نام دامنه و رکوردها، Name Serverها و Resolverها. اطلاعات معتبر هر بخش نیز در واحدهایی به نام Zone سازماندهی میشود.
مثال ساده برای درک عملکرد DNS
فرض کنید قصد دارید به دفتر یک شرکت مراجعه کنید:
- نام شرکت، همان دامنه است.
- آدرس دقیق ساختمان، مشابه IP سرور است.
- سامانهای که نام شرکت را به آدرس آن تبدیل میکند، DNS است.
- خود ساختمان و فضای داخل آن، مشابه سرور یا هاست است.
- اسناد و تجهیزات داخل ساختمان، مشابه فایلها و پایگاه داده سایت هستند.
در نتیجه، DNS محل نگهداری سایت نیست؛ فقط اطلاعات لازم برای هدایت درخواستها به مقصد صحیح را فراهم میکند.
ساختار سلسلهمراتبی DNS
فضای نام DNS بهشکل یک ساختار درختی و سلسلهمراتبی سازماندهی شده است. آدرس زیر را در نظر بگیرید:
shop.example.com
اجزای آن عبارتاند از:
.: ریشه DNS.com: دامنه سطح بالا یا TLDexample: نام دامنهshop: زیردامنه
هرچه از سمت راست به چپ حرکت کنیم، به بخش اختصاصیتری از ساختار دامنه میرسیم. در این مثال، shop.example.com زیرمجموعه دامنه example.com است.
برای آشنایی بیشتر با ساختار زیردامنه میتوانید مقاله سابدامین چیست را مطالعه کنید.
DNS چه کاربردهایی دارد؟
DNS مجموعهای از رکوردهای مختلف است و هر رکورد کاربرد مشخصی دارد. مهمترین کاربردهای آن عبارتاند از:
اتصال دامنه به سرور
متداولترین کاربرد DNS، اتصال دامنه به IP سرور است. این کار معمولاً با رکوردهای A و AAAA انجام میشود.
اتصال دامنه به هاست
بعد از خرید دامنه و فضای میزبانی، باید دامنه به سروری متصل شود که فایلهای سایت روی آن قرار دارند. برای شناخت تفاوت فضای میزبانی با دامنه و سرور، مقاله هاست چیست را مطالعه کنید.
راهاندازی ایمیل سازمانی
رکوردهای MX تعیین میکنند ایمیلهای دامنه به کدام سرور ایمیل تحویل داده شوند:
info@example.com
sales@example.com
support@example.com
رکوردهای TXT نیز برای تنظیم SPF، DKIM و DMARC و کاهش جعل ایمیل کاربرد دارند.
ساخت زیردامنه
با استفاده از DNS میتوان زیردامنههایی مانند موارد زیر را به سرور یا سرویس موردنظر متصل کرد:
shop.example.com
blog.example.com
panel.example.com
support.example.com
اتصال دامنه به CDN
سرویسهای CDN برای توزیع محتوا، افزایش سرعت و محافظت از سایت ممکن است نیازمند تغییر Nameserver یا ساخت رکورد CNAME باشند.
تأیید مالکیت دامنه
بسیاری از سرویسها برای تأیید مالکیت دامنه یک رکورد TXT یا CNAME ارائه میکنند؛ برای مثال:
- سرویسهای ایمیل
- ابزارهای مدیریت سایت
- شبکههای تبلیغاتی
- سرویسهای ابری
- پلتفرمهای ارسال پیام
- صادرکنندگان گواهی SSL
هدایت سرویسها
رکورد SRV مشخص میکند یک سرویس خاص روی کدام سرور و پورت ارائه میشود.
کنترل صدور گواهی SSL
رکورد CAA تعیین میکند کدام مراجع صدور گواهی اجازه دارند برای دامنه گواهی SSL صادر کنند.
جستوجوی معکوس IP
رکورد PTR برای تبدیل IP به نام میزبان استفاده میشود. این رکورد در اعتبارسنجی سرورهای ایمیل و عیبیابی شبکه کاربرد دارد.
انواع سرورهای DNS
در فرایند تبدیل دامنه به IP چند نوع سرور نقش دارند.
۱. DNS Recursive Resolver
Recursive Resolver یا DNS Recursor درخواست اولیه کاربر را دریافت میکند و برای پیداکردن پاسخ، با سایر سرورهای DNS ارتباط برقرار میکند.
این Resolver ممکن است توسط موارد زیر ارائه شود:
- شرکت ارائهدهنده اینترنت
- مدیر شبکه سازمان
- سرویسهای عمومی DNS
- اپراتور تلفن همراه
- سرویسهای خصوصی یا امنیتی DNS
اگر پاسخ درخواست قبلاً در حافظه کش Resolver باشد، همان پاسخ بدون پرسوجوی دوباره برگردانده میشود.
۲. Root Nameserver
Root Server اولین مرحله از جستوجوی سلسلهمراتبی DNS است. این سرور معمولاً IP نهایی دامنه را ارائه نمیکند، بلکه Resolver را به سرور TLD مربوط هدایت میکند.
برای مثال، اگر دامنه به .com ختم شود، Root Server اطلاعات لازم برای مراجعه به سرورهای TLD مربوط به .com را اعلام میکند.
۳. TLD Nameserver
TLD Nameserver اطلاعات دامنههای مربوط به یک پسوند مشخص را مدیریت میکند.
نمونه پسوندها عبارتاند از:
.com
.org
.net
.ir
.uk
.shop
.agency
سرور TLD مشخص میکند برای دریافت پاسخ معتبر یک دامنه باید به کدام Authoritative Nameserver مراجعه شود.
۴. Authoritative Nameserver
Authoritative Nameserver منبع معتبر رکوردهای DNS یک دامنه است. این سرور پاسخ نهایی را بر اساس رکوردهای ثبتشده در DNS Zone ارائه میکند.
برای مثال، اگر Resolver آدرس IP مربوط به example.com را بخواهد، نیمسرور معتبر دامنه رکورد A یا AAAA را برمیگرداند.
Cloudflare نیز Nameserver معتبر را سروری معرفی میکند که پاسخ پرسوجوهای دامنههایی را ارائه میدهد که برای آنها مرجع معتبر محسوب میشود.
DNS اولیه و ثانویه چیست؟
سرورهای معتبر ممکن است به دو گروه Primary و Secondary تقسیم شوند.
Primary DNS
Primary DNS منبع اصلی اطلاعات Zone است و تغییرات رکوردها معمولاً ابتدا در آن ثبت میشوند.
Secondary DNS
Secondary DNS نسخهای هماهنگشده از Zone را نگهداری میکند و در صورت اختلال سرور اصلی میتواند به درخواستها پاسخ دهد.
وجود چند نیمسرور باعث افزایش دسترسپذیری DNS میشود. اگر فقط یک سرور وجود داشته باشد و آن سرور دچار اختلال شود، دامنه ممکن است برای کاربران قابل تبدیل به IP نباشد.
انواع DNS Query
درخواستهای DNS از نظر نحوه دریافت پاسخ به چند دسته تقسیم میشوند.
Recursive Query
در درخواست Recursive، کلاینت از Resolver انتظار دارد پاسخ نهایی یا خطای مشخصی برگرداند. Resolver مسئول پیگیری درخواست از سرورهای مختلف است.
Iterative Query
در درخواست Iterative، سرور بهترین اطلاعات موجود را برمیگرداند. این پاسخ ممکن است نتیجه نهایی یا معرفی سرور دیگری باشد که اطلاعات دقیقتری دارد.
Non-recursive Query
در این حالت سرور پاسخ را از قبل میداند؛ زیرا پاسخ در کش موجود است یا خود سرور برای Zone موردنظر معتبر است.
DNS Record چیست؟
رکورد DNS یک دستور یا داده ساختاریافته در DNS Zone است که مشخص میکند یک دامنه، زیردامنه، ایمیل یا سرویس چگونه مدیریت شود.
هر رکورد معمولاً شامل بخشهای زیر است:
- نوع رکورد
- نام یا Host
- مقدار یا Target
- TTL
- اولویت در بعضی رکوردها
مهمترین رکوردهای DNS عبارتاند از:
| رکورد | کاربرد |
|---|---|
| A | اتصال دامنه به IPv4 |
| AAAA | اتصال دامنه به IPv6 |
| CNAME | اتصال یک نام به نام دامنه دیگر |
| MX | تعیین سرور دریافت ایمیل |
| TXT | ذخیره متن و اطلاعات اعتبارسنجی |
| NS | تعیین Nameserverهای معتبر |
| SOA | اطلاعات مدیریتی Zone |
| PTR | تبدیل IP به نام میزبان |
| SRV | تعیین سرور و پورت یک سرویس |
| CAA | تعیین مراجع مجاز صدور SSL |
| DS | اتصال زنجیره اعتماد DNSSEC |
| DNSKEY | انتشار کلید عمومی DNSSEC |
رکورد A چیست؟
رکورد A یک دامنه یا زیردامنه را به آدرس IPv4 متصل میکند:
Type: A
Name: @
Value: 192.0.2.10
TTL: 3600
علامت @ معمولاً نشاندهنده دامنه اصلی یا Zone Apex است.
نمونه اتصال زیردامنه:
Type: A
Name: shop
Value: 192.0.2.20
خروجی این تنظیم میتواند آدرس زیر باشد:
shop.example.com
رکورد AAAA چیست؟
رکورد AAAA مشابه رکورد A است، اما برای آدرس IPv6 استفاده میشود:
Type: AAAA
Name: @
Value: 2001:db8::10
طبق مستندات Cloudflare، رکوردهای A و AAAA نام دامنه را به یک یا چند آدرس IPv4 یا IPv6 متصل میکنند.
وجود AAAA زمانی مناسب است که سرور و شبکه واقعاً از IPv6 پشتیبانی کنند. ایجاد رکورد AAAA اشتباه میتواند باعث شود بخشی از کاربران نتوانند سایت را باز کنند.
رکورد CNAME چیست؟
CNAME مخفف Canonical Name است. این رکورد یک نام را به hostname دیگری متصل میکند:
Type: CNAME
Name: www
Target: example.com
یا:
Type: CNAME
Name: blog
Target: hosting-provider.example
تفاوت مهم CNAME با A این است که رکورد A مستقیماً به IP اشاره میکند، اما CNAME به یک نام دامنه دیگر متصل میشود.
معمولاً نباید برای یک hostname که CNAME دارد، رکوردهای متناقض دیگری مانند A نیز تعریف شود. همچنین استفاده از CNAME روی دامنه ریشه در DNS استاندارد محدودیتهایی دارد؛ هرچند بعضی ارائهدهندگان از روشهایی مانند CNAME Flattening پشتیبانی میکنند.
رکورد MX چیست؟
MX مخفف Mail Exchange است و سرور مسئول دریافت ایمیلهای دامنه را مشخص میکند:
Type: MX
Name: @
Mail Server: mail.example.com
Priority: 10
اگر چند رکورد MX وجود داشته باشد، عدد اولویت مشخص میکند کدام سرور ابتدا استفاده شود. عدد کمتر معمولاً اولویت بالاتری دارد.
نمونه:
10 mail1.example.com
20 mail2.example.com
رکورد MX نباید مستقیماً به IP اشاره کند؛ مقصد آن باید hostname معتبری باشد که در نهایت از طریق رکورد A یا AAAA به IP تبدیل شود.
رکورد TXT چیست؟
TXT امکان ذخیره متن در DNS را فراهم میکند. مهمترین کاربردهای آن عبارتاند از:
- تأیید مالکیت دامنه
- تنظیم SPF
- تنظیم DKIM
- تنظیم DMARC
- تأیید سرویسهای ابری
- اعتبارسنجی صدور SSL
- افزودن اطلاعات موردنیاز سرویسهای مختلف
نمونه تأیید مالکیت:
Type: TXT
Name: @
Value: verification-code-example
نمونه SPF:
v=spf1 include:mail-provider.example -all
رکورد TXT بهتنهایی یک کاربرد ثابت ندارد و مقدار آن براساس سرویس دریافتکننده تفسیر میشود.
رکورد NS چیست؟
NS مخفف Name Server است و سرورهای معتبر مسئول DNS Zone را مشخص میکند:
ns1.example-dns.com
ns2.example-dns.com
زمانی که DNS Provider دامنه تغییر میکند، معمولاً باید نیمسرورهای ثبتشده در پنل رجیسترار دامنه تغییر کنند.
تغییر NS حساس است؛ زیرا DNS Zone جدید باید پیش از تغییر، تمام رکوردهای ضروری را داشته باشد. اگر رکوردهای A، MX یا TXT منتقل نشده باشند، سایت یا ایمیل پس از تغییر نیمسرورها دچار اختلال میشود.
رکورد SOA چیست؟
SOA مخفف Start of Authority است و اطلاعات اصلی مدیریتی یک DNS Zone را نگهداری میکند.
این اطلاعات معمولاً شامل موارد زیر هستند:
- نیمسرور اصلی
- ایمیل مدیر Zone
- شماره سریال
- زمان Refresh
- زمان Retry
- زمان Expire
- زمان کش پاسخهای منفی
شماره سریال SOA در هماهنگی نسخه اطلاعات میان سرورهای DNS اهمیت دارد.
رکورد PTR چیست؟
رکورد PTR برای Reverse DNS یا DNS معکوس استفاده میشود. در DNS عادی، نام دامنه به IP تبدیل میشود:
example.com → 192.0.2.10
در Reverse DNS، IP به نام میزبان تبدیل میشود:
192.0.2.10 → mail.example.com
PTR معمولاً در پنل ارائهدهنده سرور یا IP تنظیم میشود، نه در پنل عادی DNS دامنه. تنظیم صحیح آن برای سرورهای ارسال ایمیل اهمیت دارد.
رکورد SRV چیست؟
SRV اطلاعات محل اجرای یک سرویس را مشخص میکند. این رکورد میتواند شامل موارد زیر باشد:
- نام سرویس
- پروتکل
- اولویت
- وزن
- پورت
- سرور مقصد
رکورد SRV در سرویسهایی مانند ارتباطات سازمانی، پیامرسانی، VoIP و بعضی نرمافزارهای شبکه کاربرد دارد.
رکورد CAA چیست؟
CAA مخفف Certificate Authority Authorization است. این رکورد تعیین میکند کدام Certificate Authority اجازه صدور گواهی SSL برای دامنه را دارد.
نمونه:
Type: CAA
Name: @
Flag: 0
Tag: issue
Value: letsencrypt.org
استفاده اشتباه از CAA ممکن است باعث شود صدور یا تمدید خودکار گواهی SSL با خطا روبهرو شود.
TTL در DNS چیست؟
TTL مخفف Time To Live است و مشخص میکند پاسخ یک رکورد چه مدت در حافظه کش Resolverها باقی بماند.
برای مثال:
TTL: 3600
به معنی ۳۶۰۰ ثانیه یا یک ساعت است.
طبق مستندات Cloudflare، TTL تعیین میکند Resolverها چه مدت پاسخ را ذخیره کنند و چه زمانی برای دریافت اطلاعات جدید دوباره پرسوجو انجام دهند.
TTL کوتاه چه مزیتی دارد؟
- تغییرات سریعتر دیده میشوند.
- برای مهاجرت سرور مناسب است.
- مدت باقیماندن اطلاعات قدیمی در کش کمتر میشود.
TTL بلند چه مزیتی دارد؟
- تعداد درخواستهای DNS کمتر میشود.
- بار سرورهای DNS کاهش پیدا میکند.
- پاسخهای تکراری سریعتر از کش ارائه میشوند.
پیش از انتقال هاست میتوان TTL را از چند ساعت یا یک روز به مقدار کمتری کاهش داد. این تغییر باید پیش از مهاجرت و قبل از کششدن مقدار قبلی انجام شود.
DNS Propagation چیست؟
زمانی که رکورد DNS یا Nameserver تغییر میکند، ممکن است مدتی طول بکشد تا Resolverهای مختلف اطلاعات قبلی را از کش حذف و مقدار جدید را دریافت کنند. این دوره با عنوان DNS Propagation شناخته میشود.
انتشار DNS یک عملیات واحد و همزمان در سراسر جهان نیست. مدت مشاهده تغییرات به عوامل زیر بستگی دارد:
- TTL رکورد قبلی
- کش مرورگر
- کش سیستمعامل
- کش مودم یا شبکه
- Resolver شرکت اینترنت
- تنظیمات DNS Provider
- تغییر Nameserver در رجیستری دامنه
- فعالبودن DNSSEC
بعضی تغییرات در چند دقیقه مشاهده میشوند و برخی تغییرات، بهخصوص تعویض Nameserver، ممکن است زمان بیشتری نیاز داشته باشند.
تفاوت DNS، دامنه، Nameserver و هاست
این چهار مفهوم به یکدیگر مرتبطاند، اما یکسان نیستند.
| مفهوم | تعریف |
|---|---|
| دامنه | آدرس قابلخواندن سایت |
| DNS | سیستم مدیریت و تبدیل نام دامنه |
| Nameserver | سروری که رکوردهای DNS را ارائه میکند |
| هاست | فضای نگهداری و اجرای فایلها و پایگاه داده سایت |
برای مثال:
دامنه: example.com
Nameserver: ns1.dns-provider.com
رکورد A: 192.0.2.10
هاست: سروری با IP بالا
دامنه از طریق Nameserver به DNS Zone متصل میشود و رکورد A آن را به سرور سایت هدایت میکند.
DNS در طراحی سایت فروشگاهی
در یک طراحی سایت فروشگاهی، اختلال DNS ممکن است علاوه بر دسترسی کاربران، فرایندهای دیگری را نیز تحتتأثیر قرار دهد:
- بازشدن صفحات محصول
- اتصال درگاه پرداخت
- ارسال ایمیل سفارش
- وبهوکهای سرویسهای خارجی
- اتصال به CDN
- پنل مدیریت فروشگاه
- سرویس پیامک
- اتصال به مارکتپلیسها
به همین دلیل قبل از تغییر DNS فروشگاه باید رکوردهای سایت، ایمیل و سرویسهای متصل مستندسازی شوند.
DNS در سایت وردپرسی
در طراحی سایت وردپرسی معمولاً DNS وظایف زیر را انجام میدهد:
- اتصال دامنه به هاست وردپرس
- اتصال نسخه
www - اتصال زیردامنهها
- تأیید مالکیت دامنه
- تنظیم ایمیل سایت
- اتصال CDN یا سرویس امنیتی
- انتقال سایت به سرور جدید
خود وردپرس رکورد DNS را مدیریت نمیکند. رکوردها معمولاً در پنل ثبت دامنه، شرکت هاستینگ یا DNS Provider تغییر میکنند.
اگر سایت وردپرس به هاست جدید منتقل شود، باید رکورد A یا Nameserver تغییر کند. تغییر آدرس دامنه داخل وردپرس بهتنهایی DNS را تغییر نمیدهد.
DNS در سایت اختصاصی
در طراحی سایت اختصاصی ممکن است چند سرویس مستقل وجود داشته باشد:
www.example.com
api.example.com
panel.example.com
cdn.example.com
files.example.com
status.example.com
هر بخش میتواند روی سرور یا سرویس متفاوتی قرار بگیرد. در این معماری، DNS نقش مهمی در هدایت هر hostname به مقصد مناسب دارد.
همچنین میتوان با چند رکورد، سرویسهای توزیع بار، CDN، زیرساخت ابری و محیطهای توسعه یا آزمایش را مدیریت کرد.
آیا DNS روی سرعت سایت تأثیر دارد؟
DNS Lookup پیش از شروع اتصال مرورگر به سرور انجام میشود. بنابراین کیفیت Resolver و DNS Provider میتواند روی زمان دسترسی اولیه اثر بگذارد.
بااینحال، سرعت کلی سایت فقط به DNS وابسته نیست. عوامل مهمتر عبارتاند از:
- سرعت هاست و سرور
- زمان پاسخگویی برنامه
- حجم تصاویر
- تعداد فایلهای CSS و JavaScript
- کش مرورگر و سرور
- CDN
- بهینهسازی پایگاه داده
- فاصله جغرافیایی سرور
- کیفیت کدنویسی
DNS سریع و پایدار بخشی از زیرساخت مناسب است، اما نمیتواند مشکلات اساسی سرعت سایت را بهتنهایی برطرف کند.
آیا DNS روی سئو تأثیر دارد؟
نوع رکورد DNS یا شرکت ارائهدهنده DNS بهصورت مستقیم رتبه سایت را افزایش نمیدهد. تأثیر DNS بر سئو بیشتر غیرمستقیم است.
اختلال DNS میتواند باعث شود:
- کاربران سایت را باز نکنند.
- خزنده موتور جستوجو به صفحات دسترسی نداشته باشد.
- خطاهای موقت سرور مشاهده شود.
- سرعت دسترسی اولیه کاهش پیدا کند.
- ایمیلهای تأیید و سفارش تحویل داده نشوند.
- نسخه اشتباه دامنه در دسترس قرار بگیرد.
- CDN یا HTTPS بهدرستی کار نکند.
بنابراین انتخاب DNS پایدار، تنظیم رکوردهای صحیح و جلوگیری از قطعی طولانی برای حفظ دسترسپذیری سایت اهمیت دارد.
DNSSEC چیست؟
DNSSEC مخفف Domain Name System Security Extensions است. این فناوری با امضای رمزنگاریشده رکوردها به Resolver اجازه میدهد اصالت پاسخ DNS را بررسی کند.
DNSSEC برای جلوگیری از هدایت درخواستها به پاسخهای جعلی طراحی شده است. Cloudflare توضیح میدهد که DNSSEC یک لایه احراز اصالت به DNS اضافه میکند تا درخواست به دامنه جعلشده هدایت نشود.
DNSSEC محتوای درخواست DNS را رمزگذاری نمیکند؛ بلکه صحت و اصالت پاسخ را بررسی میکند.
فعالسازی نادرست DNSSEC، بهخصوص هنگام تغییر Nameserver، میتواند باعث خطای SERVFAIL و قطع دسترسی دامنه شود. هنگام انتقال DNS Provider باید رکوردهای DS و کلیدهای DNSSEC با دقت مدیریت شوند.
DNS over HTTPS و DNS over TLS چیست؟
در DNS سنتی، درخواستها معمولاً بدون رمزگذاری منتقل میشوند. دو روش جدیدتر برای افزایش حریم خصوصی عبارتاند از:
DNS over HTTPS یا DoH
درخواست DNS را از طریق اتصال رمزگذاریشده HTTPS منتقل میکند.
DNS over TLS یا DoT
درخواست DNS را داخل ارتباط رمزگذاریشده TLS ارسال میکند.
Google Public DNS علاوه بر DNS معمولی روی UDP و TCP، از DoH و DoT نیز پشتیبانی میکند.
DoH و DoT مسیر درخواست تا Resolver را رمزگذاری میکنند، اما جایگزین DNSSEC نیستند. DNSSEC اصالت پاسخ را بررسی میکند و DoH یا DoT از محرمانگی ارتباط پشتیبانی میکنند.
Public DNS چیست؟
Public DNS یک Resolver عمومی است که کاربران میتوانند بهجای DNS پیشفرض شرکت اینترنت از آن استفاده کنند.
نمونه Google Public DNS:
8.8.8.8
8.8.4.4
تعویض DNS دستگاه ممکن است در بعضی شرایط باعث بهبود پایداری یا رفع مشکلات Resolver پیشفرض شود؛ اما رکوردهای اصلی دامنه را تغییر نمیدهد.
باید میان این دو مفهوم تفاوت قائل شد:
- DNS دستگاه کاربر برای پیداکردن دامنهها
- DNS معتبر دامنه برای نگهداری رکوردهای سایت
تغییر DNS ویندوز یا موبایل فقط Resolver مورد استفاده همان دستگاه را تغییر میدهد.
خطاهای رایج DNS
خطای DNS_PROBE_FINISHED_NXDOMAIN
این خطا معمولاً به معنی آن است که Resolver نتوانسته رکوردی برای نام موردنظر پیدا کند.
دلایل احتمالی:
- دامنه اشتباه نوشته شده است.
- رکورد DNS وجود ندارد.
- Nameserverها اشتباهاند.
- دامنه منقضی شده است.
- DNS Zone حذف شده است.
- اطلاعات هنوز در Resolver منتشر نشدهاند.
خطای SERVFAIL
SERVFAIL یعنی سرور نتوانسته پاسخ معتبر ارائه دهد. تنظیم اشتباه DNSSEC، اختلال نیمسرور معتبر یا خطای Zone میتواند باعث آن شود.
اتصال دامنه به IP اشتباه
اگر رکورد A به سرور قدیمی اشاره کند، ممکن است نسخه قبلی سایت، صفحه پیشفرض هاست یا خطای اتصال نمایش داده شود.
بازشدن دامنه اصلی و بازنشدن www
در این حالت معمولاً رکورد www تعریف نشده یا مقصد آن اشتباه است:
Type: CNAME
Name: www
Target: example.com
بازشدن سایت و قطعشدن ایمیل
این مشکل معمولاً پس از تعویض Nameserver و منتقلنکردن رکوردهای MX و TXT رخ میدهد.
کارنکردن SSL پس از تغییر DNS
DNS و SSL دو سیستم جداگانهاند. پس از اتصال دامنه به سرور جدید باید گواهی SSL روی مقصد جدید نیز نصب یا صادر شود.
مشاهده اطلاعات قدیمی
ممکن است رکورد قبلی هنوز در کش مرورگر، سیستمعامل یا Resolver باقی مانده باشد. در این حالت باید تا پایان TTL صبر کرد یا کش محلی را پاک کرد.
چگونه DNS یک دامنه را بررسی کنیم؟
در ویندوز میتوان از دستور nslookup استفاده کرد:
nslookup example.com
بررسی رکورد MX:
nslookup -type=mx example.com
بررسی Nameserver:
nslookup -type=ns example.com
در سیستمهای دارای ابزار dig میتوان از دستورهای زیر استفاده کرد:
dig example.com A
dig example.com AAAA
dig example.com MX
dig example.com TXT
dig example.com NS
dig example.com SOA
برای بررسی DNSSEC:
dig example.com DNSKEY
dig example.com DS
نتیجه یک Resolver بهتنهایی همیشه کافی نیست. هنگام عیبیابی بهتر است پاسخ چند Resolver و نیمسرور معتبر دامنه نیز بررسی شود.
نکات مهم هنگام تغییر DNS
پیش از تغییر DNS یا انتقال هاست:
- از تمام رکوردهای فعلی خروجی یا تصویر تهیه کنید.
- رکوردهای A و AAAA را بررسی کنید.
- رکورد
wwwرا فراموش نکنید. - رکوردهای MX، SPF، DKIM و DMARC را نگه دارید.
- رکوردهای تأیید مالکیت را منتقل کنید.
- TTL را پیش از مهاجرت کاهش دهید.
- سایت را روی سرور جدید آزمایش کنید.
- گواهی SSL مقصد جدید را آماده کنید.
- پس از تغییر، پاسخ DNS را از چند موقعیت بررسی کنید.
- تا اطمینان از انتقال کامل، هاست قدیمی را حذف نکنید.
- وضعیت ایمیلهای سازمانی را آزمایش کنید.
- در صورت فعالبودن DNSSEC، رکورد DS را با دقت مدیریت کنید.
سوالات متداول درباره DNS
آیا DNS همان IP است؟
خیر. IP آدرس عددی یک دستگاه یا سرور است. DNS سیستمی است که نام دامنه را به IP و سایر اطلاعات مرتبط متصل میکند.
آیا DNS همان Nameserver است؟
خیر. DNS نام کل سیستم است، اما Nameserver یکی از سرورهای فعال در این سیستم است که رکوردهای یک یا چند Zone را ارائه میکند.
آیا DNS همان هاست است؟
خیر. هاست محل نگهداری و اجرای فایلهای سایت است. DNS فقط دامنه را به هاست یا سرویس مناسب هدایت میکند.
آیا با تغییر DNS اطلاعات سایت حذف میشود؟
خیر. تغییر DNS فایلها و پایگاه داده را حذف نمیکند؛ اما اگر دامنه به مقصد اشتباه متصل شود، کاربران نمیتوانند سایت اصلی را مشاهده کنند.
تغییر DNS چقدر زمان میبرد؟
مدت مشاهده تغییرات به TTL، کش Resolverها و نوع تغییر بستگی دارد. بعضی رکوردها در چند دقیقه بهروزرسانی میشوند، اما تعویض Nameserver ممکن است بیشتر طول بکشد.
بهترین TTL چقدر است؟
عدد واحدی برای تمام سایتها وجود ندارد. TTL کوتاه برای زمان مهاجرت و تغییرات مکرر مناسب است. TTL بلندتر برای رکوردهای پایدار تعداد درخواستها را کاهش میدهد.
آیا میتوان چند رکورد A برای یک دامنه داشت؟
بله. در برخی ساختارها چند IP برای یک hostname تعریف میشود. این روش ممکن است برای توزیع ساده درخواستها یا افزونگی استفاده شود، اما جایگزین کامل Load Balancer حرفهای نیست.
آیا حذف رکورد MX سایت را قطع میکند؟
خیر، اما دریافت ایمیلهای دامنه دچار اختلال میشود. سایت و ایمیل میتوانند رکوردها و سرورهای جداگانهای داشته باشند.
آیا رکورد CNAME همان ریدایرکت است؟
خیر. CNAME یک نام DNS را به نام دیگری متصل میکند، اما مرورگر الزاماً تغییر URL مشاهده نمیکند. ریدایرکت HTTP مانند 301 پس از اتصال به وبسرور انجام میشود.
آیا برای ساخت ساب دامین باید رکورد DNS اضافه کرد؟
در بیشتر موارد بله. زیردامنه باید با رکورد A، AAAA یا CNAME به مقصد مناسب متصل شود.
آیا تغییر DNS باعث افت سئو میشود؟
تغییر صحیح DNS بهخودیخود باعث افت رتبه نمیشود. اما قطعی طولانی، اتصال اشتباه دامنه، حذف رکوردهای مهم یا در دسترس نبودن سایت برای خزندهها میتواند اثر منفی ایجاد کند.
جمعبندی
DNS سیستم نامگذاری و مسیریابی دامنهها در اینترنت است. این سیستم نام قابلخواندن سایت را به IP یا سایر اطلاعات موردنیاز تبدیل میکند و به مرورگرها، سرویسهای ایمیل و نرمافزارها اجازه میدهد مقصد صحیح را پیدا کنند.
رکوردهای A و AAAA برای اتصال دامنه به IP، رکورد CNAME برای اتصال یک نام به نام دیگر، MX برای دریافت ایمیل، TXT برای اعتبارسنجی و امنیت ایمیل، NS برای تعیین نیمسرورها و CAA برای کنترل صدور SSL استفاده میشوند.
تنظیم اشتباه DNS میتواند باعث قطع سایت، اختلال ایمیل، خطای SSL یا بازشدن دامنه روی سرور اشتباه شود. به همین دلیل پیش از هر تغییر باید رکوردهای موجود مستندسازی، TTL مدیریت و وضعیت سایت و ایمیل پس از انتشار تغییرات بررسی شود.












