
DNS چیست و چگونه کار میکند؟ معرفی رکورد های MTEXT.CNAME . DNSA
مقدمه:
وقتی آدرس یک سایت را در مرورگر وارد میکنید، کامپیوتر برای برقراری ارتباط با سرور به آدرس IP آن نیاز دارد. DNS چیست و چگونه کار میکند؟ به زبان ساده، DNS یا Domain Name System سیستمی است که نامهایی مانند example.com را به اطلاعات موردنیاز برای دسترسی به سرویس مربوط متصل میکند؛ یکی از مهم ترین نمونهها، تبدیل نام دامنه به IP سرور است. علاوه بر این، DNS برای مسیریابی ایمیل، تعریف زیردامنهها و تأیید مالکیت دامنه نیز کاربرد دارد.
فهرست مطالب
- DNS چیست؟
- چرا به DNS نیاز داریم؟
- DNS چگونه کار میکند؟
- DNS Resolver و Name Server چه هستند؟
- DNS Record چیست؟
- معرفی رکورد A
- معرفی رکورد CNAME
- معرفی رکورد MX
- معرفی رکورد TXT
- تفاوت رکوردهای A، CNAME، MX و TXT
- TTL در DNS چیست؟
- DNS Propagation چیست؟
- اشتباهات رایج در تنظیم DNS
- جمعبندی
- سؤالات متداول
CTA اول: اگر هنگام اتصال دامنه به هاست، سرور مجازی یا سرویس ایمیل با تنظیمات DNS مشکل دارید، کارشناسان شرکت تجارت الکترونیک نوژن میتوانند در بررسی رکوردها و انتخاب تنظیمات متناسب با زیرساخت سایت به شما مشاوره دهند.
DNS چیست؟
DNS مخفف Domain Name System یا «سیستم نام دامنه» است. یکی از وظایف اصلی این سیستم، فراهمکردن امکان استفاده از نام دامنه بهجای حفظکردن آدرسهای IP است.
برای مثال فرض کنید وبسایت شما روی سروری قرار گرفته که یک IPv4 مشخص دارد. کاربران نیازی ندارند IP سرور را به خاطر بسپارند. آنها دامنه را در مرورگر وارد میکنند و DNS اطلاعات لازم برای پیدا کردن مقصد را فراهم میکند.
DNS را میتوان تا حدی به دفترچه تلفن تشبیه کرد. شما نام فرد را میدانید و دفترچه شماره مرتبط با آن را پیدا میکند. در DNS نیز نام دامنه قابلخواندن برای انسان به اطلاعات فنی موردنیاز سیستمها مرتبط میشود.
[لینک داخلی پیشنهادی: انکرتکست «آی پی چیست و چگونه کار میکند؟» ← مقاله آی پی چیست؟]
چرا DNS اهمیت دارد؟
بدون DNS، استفاده روزمره از وب بسیار دشوارتر میشد. کاربران مجبور بودند برای دسترسی مستقیم به بسیاری از سرویسها، آدرسهای عددی یا فنی آنها را بدانند.
البته کاربرد DNS فقط نمایش سایت نیست. رکوردهای DNS میتوانند مشخص کنند یک دامنه به کدام سرور وب متصل شود، ایمیلهای آن به کدام Mail Server تحویل داده شوند یا یک زیردامنه به چه نام دیگری اشاره کند.
از DNS همچنین برای قرار دادن اطلاعات متنی مرتبط با سرویسهای مختلف استفاده میشود. به همین دلیل، مدیریت صحیح DNS یکی از بخشهای مهم راهاندازی دامنه، هاست، ایمیل سازمانی و بسیاری از سرویسهای اینترنتی است.
[لینک داخلی پیشنهادی: انکرتکست «هاست چیست و چگونه کار میکند؟» ← مقاله هاست چیست؟]
DNS چیست و چگونه کار میکند؟
برای درک بهتر عملکرد DNS، فرض کنید کاربری میخواهد وارد دامنه example.com شود. مرورگر و سیستمعامل ابتدا بررسی میکنند که آیا اطلاعات موردنیاز قبلاً ذخیره یا Cache شده است یا خیر.
اگر پاسخ موردنیاز در دسترس نباشد، درخواست میتواند به Recursive DNS Resolver ارسال شود. Resolver مسئول دنبالکردن پاسخ DNS است و در صورت نیاز با بخشهای مختلف سلسلهمراتب DNS ارتباط برقرار میکند.
فرایند سادهشده به این شکل است:
کاربر → Resolver → Root Name Server → TLD Name Server → Authoritative Name Server → پاسخ DNS
مرحله اول: وارد کردن دامنه
کاربر نام دامنه را در مرورگر وارد میکند. مرورگر برای پیدا کردن مقصد مناسب، به اطلاعات DNS نیاز پیدا میکند.
مرحله دوم: بررسی Cache
اطلاعات DNS میتواند برای مدتی Cache شود. اگر پاسخ معتبر قبلاً ذخیره شده باشد، ممکن است نیازی به طیشدن تمام مراحل جستوجوی DNS نباشد.
Caching باعث میشود درخواستهای تکراری سریعتر پاسخ داده شوند و Resolver مجبور نباشد برای هر درخواست، کل زنجیره را دوباره طی کند.
مرحله سوم: DNS Resolver
اگر پاسخ موردنیاز در Cache موجود نباشد، Resolver جست وجوی اطلاعات را ادامه میدهد.
Resolver را میتوان واسطهای در نظر گرفت که درخواست کاربر را دریافت کرده و برای پیدا کردن رکورد موردنظر، سرورهای مناسب را جستوجو میکند.
مرحله چهارم: Root Name Server
Root Server اطلاعات نهایی سایت شما را نگهداری نمیکند؛ بلکه Resolver را در جهت درست هدایت میکند تا Name Server مربوط به پسوند دامنه پیدا شود.
مرحله پنجم: TLD Name Server
TLD مخفف Top-Level Domain است و به پسوندهایی مانند .com اشاره دارد. Resolver از این مرحله برای نزدیکترشدن به Name Server مسئول دامنه استفاده میکند.
مرحله ششم: Authoritative Name Server
در نهایت درخواست به Authoritative Name Server میرسد. این سرور رکوردهای DNS مربوط به دامنهای را که برای آن authoritative است نگهداری میکند و میتواند پاسخ نهایی مربوط به رکورد درخواستشده را ارائه دهد.
مرحله هفتم: اتصال به مقصد
پس از دریافت پاسخ مناسب، مرورگر یا برنامه میتواند فرایند ارتباط با سرویس مقصد را ادامه دهد.
نکته مهم این است که DNS خودش صفحه وب را برای کاربر ارسال نمیکند؛ وظیفه DNS پیدا کردن اطلاعات لازم درباره مقصد است. دریافت محتوای سایت در مراحل بعدی و از طریق پروتکلهایی مانند HTTP یا HTTPS انجام میشود.
[لینک داخلی پیشنهادی: انکرتکست «سرور چیست و چه کاربردی دارد؟» ← مقاله سرور چیست؟]
DNS Resolver و Authoritative Name Server چه تفاوتی دارند؟
این دو مفهوم گاهی با یکدیگر اشتباه گرفته میشوند.
Recursive Resolver درخواست کاربر را دریافت میکند و برای یافتن پاسخ مناسب جستوجو انجام میدهد. در مقابل، Authoritative Name Server منبع اطلاعات معتبر رکوردهای DNS دامنهای است که مسئولیت آن را بر عهده دارد.
برای مثال اگر دامنه شما دارای رکورد A باشد، اطلاعات این رکورد در DNS Zone سرویس authoritative دامنه تعریف میشود. Resolver هنگام نیاز میتواند پاسخ را از زنجیره DNS دریافت و سپس برای مدتی Cache کند.
DNS Record چیست؟
اطلاعات یک دامنه در DNS به شکل Resource Record یا RR ذخیره میشود. رکوردها انواع مختلفی دارند و هرکدام هدف مشخصی را دنبال میکنند. RFCهای اصلی DNS، رکورد A را برای آدرس میزبان، CNAME را برای نام canonical یک alias و MX را برای Mail Exchange تعریف میکنند.
چهار رکوردی که مدیران سایت بیشتر با آنها مواجه میشوند عبارتاند از:
| رکورد | کاربرد اصلی | نمونه ساده |
|---|---|---|
| A | اتصال نام دامنه یا Host به IPv4 | example.com → 192.0.2.10 |
| CNAME | ایجاد Alias برای یک نام دیگر | www.example.com → example.com |
| MX | مشخصکردن Mail Server دامنه | example.com → mail.example.com |
| TXT | نگهداری اطلاعات متنی برای سرویسها | مقادیر تأیید دامنه یا سیاستهای ایمیل |
مثالهای دامنه و IP در این مقاله صرفاً آموزشی هستند و نباید بدون بررسی در DNS واقعی سایت وارد شوند.
CTA دوم: اگر برای سایت خود از هاست، سرور مجازی یا زیرساخت اختصاصی استفاده میکنید و به مدیریت صحیح DNS نیاز دارید، میتوانید سرویسها و راهکارهای زیرساختی شرکت تجارت الکترونیک نوژن را بررسی کنید. تنظیم درست DNS باید بر اساس IP سرور، سرویس ایمیل و ساختار واقعی دامنه انجام شود.
رکورد A چیست؟
A Record یا Address Record یکی از رکوردهای اصلی DNS است و یک نام را به آدرس IPv4 متصل میکند. در استاندارد اصلی DNS نیز نوع A بهعنوان Host Address معرفی شده است.
فرض کنید وبسایت روی IPv4 زیر قرار گرفته باشد:
192.0.2.10
برای اتصال دامنه به این IP میتوان رکوردی با ساختار مفهومی زیر داشت:
example.com → 192.0.2.10
در پنلهای مدیریت DNS معمولاً بخشهایی مانند Type، Name/Host، Value/Content و TTL مشاهده میکنید.
چه زمانی از A Record استفاده میکنیم؟
رکورد A زمانی کاربرد دارد که بخواهید یک دامنه یا زیردامنه را مستقیماً به IPv4 متصل کنید.
برای نمونه ممکن است دامنه اصلی به IP وبسرور اشاره کند و زیردامنه دیگری مانند panel.example.com به IP سرور دیگری متصل باشد.
اگر مقصد شما IPv6 باشد، معمولاً بهجای A از رکورد AAAA استفاده میشود.
[لینک داخلی پیشنهادی: انکرتکست «خرید سرور مجازی» ← صفحه خدمات سرور مجازی]
رکورد CNAME چیست؟
CNAME مخفف Canonical Name است و برای ایجاد Alias یا نام مستعار DNS به کار میرود.
برای مثال:
www.example.com → example.com
در این حالت www.example.com به نام دیگری اشاره میکند و DNS میتواند فرایند جستوجو را برای نام مقصد ادامه دهد. استاندارد DNS نیز CNAME را رکوردی معرفی میکند که یک Alias را به نام canonical مرتبط میکند.
تفاوت A و CNAME چیست؟
تفاوت اصلی در مقصد رکورد است.
رکورد A مستقیماً به یک IPv4 اشاره میکند، اما CNAME به یک نام دامنه دیگر اشاره دارد.
مثلاً:
shop.example.com → 192.0.2.20 A Record
در مقابل:
shop.example.com → stores.example.net CNAME
نکته فنی مهم این است که مطابق قواعد استاندارد DNS، نامی که CNAME دارد نباید همزمان دادههای عادی از انواع دیگر داشته باشد؛ DNSSEC برخی رکوردهای امنیتی مرتبط را بهعنوان استثنا اضافه میکند.
بنابراین هنگام ایجاد CNAME، رکوردهای موجود همان Host را نیز بررسی کنید.
رکورد MX چیست؟
MX مخفف Mail Exchange است و مشخص میکند ایمیلهای یک دامنه باید به کدام Mail Server هدایت شوند.
برای مثال ساختار مفهومی زیر را در نظر بگیرید:
example.com → mail.example.com
در این سناریو DNS اعلام میکند که سرور مشخصشده مقصد دریافت ایمیلهای دامنه است.
Priority در MX Record چیست؟
MX Record معمولاً دارای مقدار Priority یا Preference است. اگر چند Mail Server تعریف شده باشد، این مقدار در تعیین اولویت آنها نقش دارد.
بنابراین هنگام انتقال ایمیل سازمانی یا تغییر سرویسدهنده ایمیل، نباید فقط رکوردهای وب را بررسی کرد. تنظیم نادرست MX میتواند مسیر دریافت ایمیل را مختل کند.
همچنین مقصد MX باید مطابق ساختار صحیح DNS و تنظیمات ارائهدهنده سرویس ایمیل تعیین شود؛ مقادیر نمونه اینترنتی را نباید بدون بررسی کپی کرد.
رکورد TXT چیست؟
TXT Record برای ذخیره اطلاعات متنی در DNS استفاده میشود. برخلاف رکورد A، هدف آن اتصال مستقیم دامنه به IPv4 نیست.
TXT امروزه در سناریوهای مختلفی دیده میشود؛ از جمله قرار دادن مقادیری که سرویسها برای تأیید مالکیت دامنه ارائه میکنند و برخی تنظیمات مرتبط با احراز هویت و سیاستهای ایمیل.
برای مثال ممکن است یک سرویس از شما بخواهد یک TXT Record با مقدار اختصاصی خودش در DNS ایجاد کنید. پس از مشاهده مقدار، سرویس میتواند وجود آن را بهعنوان بخشی از فرایند تأیید بررسی کند.
TXT و تنظیمات ایمیل
در پیکربندی سرویس ایمیل نیز TXT Record اهمیت زیادی دارد. برای نمونه، برخی اطلاعات مرتبط با SPF، DKIM یا DMARC از طریق DNS منتشر میشوند.
با این حال، مقدار این رکوردها نباید حدس زده یا از دامنه دیگری کپی شود. ساختار دقیق باید بر اساس سرویس ایمیل و معماری واقعی دامنه تعیین شود.
مقایسه A، CNAME، MX و TXT
جدول زیر یک راه سریع برای انتخاب رکورد مناسب است:
| نیاز شما | رکورد مناسب | مقصد/محتوا |
|---|---|---|
| اتصال دامنه به IPv4 سرور | A | IPv4 |
| اتصال یک Alias به نام دیگر | CNAME | Domain/Hostname |
| تعیین سرور دریافت ایمیل | MX | Mail Server |
| ثبت اطلاعات متنی و Verification | TXT | متن یا مقدار تعیینشده توسط سرویس |
اگر هدف شما اتصال سایت به VPS باشد، احتمالاً با A Record سروکار دارید. اگر قرار باشد یک زیردامنه به Hostname دیگری Alias شود، CNAME میتواند مطرح باشد.
برای سرویس ایمیل، MX اهمیت پیدا میکند و برای بسیاری از مراحل Verification یا انتشار سیاستهای مرتبط با ایمیل، TXT مورد استفاده قرار میگیرد.
[لینک داخلی پیشنهادی: انکرتکست «سرور مجازی چیست و چه تفاوتی با سرور اختصاصی دارد؟» ← مقاله سرور مجازی]
TTL در DNS چیست؟
هنگام مدیریت DNS احتمالاً گزینهای به نام TTL مشاهده میکنید. TTL مخفف Time To Live است و مشخص میکند اطلاعات DNS چه مدت میتواند در Cache مربوط نگهداری شود.
Caching بخش مهمی از عملکرد DNS است، زیرا Resolver در صورت داشتن پاسخ معتبر در Cache لزوماً مجبور نیست برای هر درخواست دوباره تمام مراحل جستوجو را انجام دهد.
TTL پایینتر میتواند باعث شود داده Cache شده زودتر منقضی شود، اما انتخاب مقدار مناسب باید با توجه به سرویس DNS، شرایط زیرساخت و نوع تغییر انجام شود.
نکته مهمتر اینکه تغییر TTL لزوماً باعث نمیشود تمام Cacheهای قبلی در اینترنت همان لحظه حذف شوند.
DNS Propagation چیست؟
وقتی رکورد DNS را تغییر میدهید، ممکن است نتیجه تغییر فوراً برای همه کاربران یکسان دیده نشود. یکی از دلایل مهم این موضوع، وجود اطلاعات قبلی در Cache Resolverها و سایر لایههای مرتبط است.
به این وضعیت در اصطلاح رایج، DNS Propagation گفته میشود.
برای مثال اگر IP سرور را تغییر دهید، ممکن است بخشی از درخواستها تا زمان منقضیشدن اطلاعات Cache شده همچنان پاسخ قبلی را مشاهده کنند. بنابراین بعد از مهاجرت سایت نباید صرفاً با یک تست نتیجهگیری کرد که DNS برای همه کاربران به وضعیت جدید رسیده است.
مثال عملی: اتصال دامنه، سایت و ایمیل
فرض کنید دامنهای به نام example.com دارید. وبسایت روی یک سرور قرار گرفته و ایمیل توسط سرویس دیگری مدیریت میشود.
ساختار مفهومی DNS میتواند چنین باشد:
| Host | Type | Value | هدف |
|---|---|---|---|
example.com |
A | 192.0.2.10 |
اتصال دامنه به وبسرور |
www |
CNAME | example.com |
هدایت نام www در سطح DNS به نام اصلی |
example.com |
MX | mail.example.net |
معرفی Mail Server |
| Host تعیینشده | TXT | مقدار ارائهشده توسط سرویس | Verification یا تنظیم مرتبط |
در یک پروژه واقعی، Value، Priority، TTL و Host باید دقیقاً مطابق اطلاعات سرویسدهنده و ساختار زیرساخت وارد شوند.
چک لیست تغییر DNS سایت
قبل از ایجاد یا ویرایش رکوردها، ابتدا مشخص کنید DNS authoritative دامنه کجا مدیریت میشود. تغییر رکورد در پنلی که Name Serverهای دامنه از آن استفاده نمیکنند، عملاً پاسخ authoritative دامنه را تغییر نمیدهد.
سپس این موارد را بررسی کنید:
- از رکوردهای فعلی DNS نسخه یا اسکرینشات تهیه کنید.
- IP جدید سرور را دقیق بررسی کنید.
- رکوردهای A و AAAA موجود را کنترل کنید.
- قبل از حذف CNAME، وابستگی زیردامنهها را بررسی کنید.
- هنگام تغییر MX، اطلاعات رسمی سرویس ایمیل را مبنا قرار دهید.
- TXTهای مربوط به Verification و تنظیمات ایمیل را بدون بررسی حذف نکنید.
- TTL رکوردها را در برنامه مهاجرت در نظر بگیرید.
- پس از تغییر، پاسخ DNS را از چند Resolver یا ابزار معتبر بررسی کنید.
این اقدامات بهخصوص هنگام انتقال سایت بین دو سرور اهمیت دارند؛ زیرا یک تغییر اشتباه در DNS میتواند وب، ایمیل یا زیردامنههای سرویس را تحت تأثیر قرار دهد.
[لینک داخلی پیشنهادی: انکرتکست «سرور اختصاصی چیست؟» ← صفحه یا مقاله سرور اختصاصی]
اشتباهات رایج در تنظیم DNS
وارد کردن IP اشتباه در A Record
اگر A Record به IP اشتباهی اشاره کند، درخواست کاربر به مقصد موردنظر شما نمیرسد. هنگام مهاجرت هاست، IP جدید را مستقیماً از اطلاعات معتبر سرور بررسی کنید.
استفاده اشتباه از CNAME
CNAME برای اشاره به یک نام دیگر طراحی شده است، نه اینکه بهجای هر نوع رکورد DNS استفاده شود. همچنین محدودیت همزیستی CNAME با دادههای دیگر روی همان نام باید رعایت شود.
تغییر MX هنگام انتقال وبسایت
انتقال سایت به سرور جدید الزاماً به معنی انتقال ایمیل نیست. اگر ایمیل روی سرویس دیگری قرار دارد، تغییر غیرضروری MX میتواند دریافت ایمیل را دچار مشکل کند.
حذف TXTهای ناشناخته
ناشناختهبودن یک TXT Record دلیل مناسبی برای حذف آن نیست. این رکورد ممکن است برای Verification یا تنظیمات سرویس دیگری استفاده شود.
انتظار اعمال آنی تغییرات
به دلیل Cache و TTL، مشاهده پاسخ قبلی بلافاصله پس از تغییر الزاماً به معنی اشتباهبودن تنظیمات جدید نیست.
DNS چه ارتباطی با هاست و سرور دارد؟
دامنه، DNS و سرور سه مفهوم مرتبط اما متفاوت هستند.
دامنه نامی است که کاربر وارد میکند. DNS اطلاعات موردنیاز برای پیدا کردن سرویسهای مرتبط با آن نام را فراهم میکند و سرور میزبان وبسایت، برنامه یا سرویس شماست.
برای نمونه اگر یک سرور مجازی تهیه کنید، صرفاً داشتن VPS باعث نمیشود دامنه خودکار به آن متصل شود. باید DNS دامنه نیز متناسب با معماری سرویس پیکربندی شود.
در بسیاری از سناریوهای ساده، این کار شامل ایجاد یا تغییر A Record است. اما اگر ایمیل، CDN، سرویسهای شخص ثالث و چند زیردامنه داشته باشید، DNS Zone میتواند شامل مجموعهای از رکوردهای مختلف باشد.
[لینک داخلی پیشنهادی: انکرتکست «راهنمای انتخاب هاست مناسب» ← مقاله راهنمای انتخاب هاست]
جمع بندی
در پاسخ به سؤال DNS چیست و چگونه کار میکند؟ میتوان گفت DNS زیرساخت نامگذاری اینترنت است که امکان پیدا کردن منابع و سرویسها بر اساس نام دامنه را فراهم میکند. در یکی از رایجترین کاربردها، DNS کمک میکند نام دامنه به آدرس IP موردنیاز برای دسترسی به سرور مرتبط شود.
رکورد A برای ارتباط نام با IPv4، CNAME برای Alias کردن یک نام به نام دیگر، MX برای تعیین Mail Server و TXT برای انتشار اطلاعات متنی موردنیاز سرویسها کاربرد دارد. انتخاب رکورد درست به کاری بستگی دارد که میخواهید برای دامنه انجام دهید.
پیش از تغییر DNS، از تنظیمات فعلی نسخه تهیه کنید و IP، Name Server، رکوردهای ایمیل و مقادیر ارائهشده توسط سرویسدهنده را بررسی کنید. در پروژههای حساس، تغییر بدون بررسی میتواند سایت، ایمیل یا سایر سرویسهای متصل به دامنه را مختل کند.
CTA سوم: اگر قصد انتقال دامنه به سرور جدید، راهاندازی سایت روی VPS یا تنظیم DNS و سرویسهای زیرساختی را دارید، میتوانید برای بررسی فنی و مشاهده سرویسهای مرتبط با شرکت تجارت الکترونیک نوژن در ارتباط باشید. بررسی ساختار DNS پیش از اعمال تغییرات میتواند از بسیاری از اختلالات قابل پیشگیری جلوگیری کند.
سؤالات متداول
۱. DNS چیست؟
DNS یا Domain Name System سیستمی برای نگهداری و بازیابی اطلاعات مرتبط با نامهای دامنه است. یکی از کاربردهای اصلی آن پیدا کردن IP مرتبط با یک Hostname است.
۲. تفاوت DNS و IP چیست؟
IP آدرس مورد استفاده برای شناسایی و ارتباط با مقصد در شبکه است، در حالی که DNS نام دامنه را به اطلاعاتی مانند آدرس مقصد مرتبط میکند. DNS باعث میشود کاربران برای استفاده روزمره مجبور به حفظ IP سایتها نباشند.
۳. برای اتصال دامنه به سرور از چه رکوردی استفاده کنیم؟
اگر قرار است یک Hostname مستقیماً به IPv4 سرور اشاره کند، معمولاً از A Record استفاده میشود. برای IPv6 رکورد AAAA کاربرد دارد.
۴. تفاوت A و CNAME چیست؟
A Record یک نام را مستقیماً به IPv4 متصل میکند؛ CNAME یک نام را به نام دیگری Alias میکند. بنابراین نوع مقصد این دو رکورد متفاوت است.
۵. MX Record چه کاری انجام میدهد؟
MX مشخص میکند ایمیلهای یک دامنه باید به کدام Mail Server هدایت شوند. اگر چند MX وجود داشته باشد، Priority آنها نیز در انتخاب مقصد نقش دارد.
۶. TXT Record چه کاربردی دارد؟
TXT اطلاعات متنی را در DNS منتشر میکند. تأیید مالکیت دامنه و برخی تنظیمات مربوط به سرویسها و احراز هویت ایمیل از کاربردهای رایج آن هستند.
۷. چرا بعد از تغییر DNS هنوز IP قبلی دیده میشود؟
یکی از دلایل رایج، Cache شدن پاسخ قبلی DNS است. Resolverها میتوانند اطلاعات را بر اساس TTL نگهداری کنند و تا زمان منقضیشدن Cache، پاسخ قبلی در برخی مسیرها مشاهده شود.