MAROON ACADEMY

رکوردهای DNS چیست؟ آموزش A، AAAA، CNAME، MX و TXT

راهنمای عملی رکوردهای مهم DNS با مثال‌های واقعی برای اتصال دامنه به هاست، ساخت زیردامنه، تنظیم ایمیل و تأیید مالکیت سرویس‌ها.

دامنه و DNS

DNS دفترچه راهنمای اینترنت است: کاربر نامی مثل example.com را وارد می‌کند و DNS اطلاعات لازم برای پیدا کردن وب‌سایت، سرور ایمیل یا سرویس وابسته را برمی‌گرداند. این اطلاعات در قالب رکورد DNS ذخیره می‌شوند. انتخاب نوع اشتباه می‌تواند سایت یا ایمیل را از دسترس خارج کند؛ بنابراین پیش از هر تغییر باید بدانید هر رکورد دقیقاً چه کاری انجام می‌دهد.

رکورد DNS کجا مدیریت می‌شود؟

رکوردها در DNS provider دامنه مدیریت می‌شوند؛ یعنی جایی که nameserverهای دامنه به آن اشاره می‌کنند. این محل ممکن است پنل شرکت ثبت‌کننده دامنه، شرکت هاستینگ یا سرویسی مانند Cloudflare باشد. اگر رکورد را در پنلی تغییر دهید که nameserver دامنه از آن استفاده نمی‌کند، تغییر شما هیچ اثری روی اینترنت نخواهد داشت.

پیش از ویرایش، از فهرست فعلی رکوردها اسکرین‌شات یا خروجی بگیرید. حذف اشتباه رکورد MX می‌تواند دریافت ایمیل را متوقف کند و تغییر نادرست A یا CNAME سایت را از دسترس خارج کند.

نمودار کاربرد رکوردهای A، AAAA، CNAME، MX و TXT در DNSهر نوع رکورد مقصد متفاوتی دارد: وب‌سرور، نام مستعار، سرور ایمیل یا اطلاعات تأیید و امنیت.

رکورد A؛ اتصال دامنه به IPv4

رکورد A یک نام دامنه یا زیردامنه را به آدرس IPv4 متصل می‌کند. اگر IP وب‌سرور شما 192.0.2.10 باشد، تنظیم پایه می‌تواند چنین شکلی داشته باشد:

Type: A
Name: @
Value: 192.0.2.10
TTL: 3600

علامت @ در بیشتر پنل‌ها به دامنه اصلی اشاره دارد. برای ساخت blog.example.com معمولاً در فیلد Name فقط blog نوشته می‌شود. بعضی پنل‌ها نام کامل را می‌خواهند؛ توضیح کنار فیلد را بررسی کنید تا دامنه دوبار تکرار نشود.

رکورد AAAA؛ اتصال دامنه به IPv6

رکورد AAAA همان نقش A را برای IPv6 دارد. تنها زمانی آن را اضافه کنید که سرور واقعاً IPv6 فعال و مسیر شبکه صحیح داشته باشد:

Type: AAAA
Name: @
Value: 2001:db8::10
TTL: 3600

اگر AAAA به سروری اشاره کند که روی IPv6 پاسخ نمی‌دهد، بخشی از کاربران ممکن است با تأخیر یا خطای اتصال روبه‌رو شوند. بعد از تنظیم، دسترسی HTTPS را هم روی IPv4 و هم IPv6 آزمایش کنید.

رکورد CNAME؛ ساخت نام مستعار

CNAME یک نام را به نام دامنه دیگری متصل می‌کند، نه به IP. برای نمونه می‌توانید www.example.com را نام مستعار دامنه اصلی قرار دهید:

Type: CNAME
Name: www
Target: example.com
TTL: 3600

هدف CNAME باید hostname باشد؛ قرار دادن IP در آن اشتباه است. همچنین طبق قواعد DNS، نامی که CNAME دارد نباید هم‌زمان رکوردهای دیگری مثل A، MX یا TXT با همان نام داشته باشد. زنجیره‌کردن چند CNAME هم lookup اضافه ایجاد می‌کند؛ بهتر است alias مستقیماً به مقصد نهایی اشاره کند.

رکورد MX؛ مسیر دریافت ایمیل

رکورد MX مشخص می‌کند ایمیل‌های دامنه به کدام mail server تحویل شوند. مقدار MX باید نام یک سرور باشد و آن نام در نهایت با A یا AAAA به IP برسد. نمونه:

Type: MX
Name: @
Mail server: mail.example.com
Priority: 10
TTL: 3600

در MX عدد کمتر اولویت بیشتری دارد. اگر دو سرور با اولویت‌های 10 و 20 داشته باشید، فرستنده ابتدا سرور 10 را امتحان می‌کند. صرف ساخت MX کافی نیست؛ باید برای mail.example.com رکورد A یا AAAA معتبر، سرویس SMTP آماده و تنظیمات امنیتی ایمیل هم وجود داشته باشد. MX را مستقیماً به IP یا CNAME اشاره ندهید.

رکورد TXT؛ تأیید مالکیت و سیاست‌های ایمیل

TXT متن دلخواهی را در DNS نگه می‌دارد و معمولاً برای تأیید مالکیت دامنه یا انتشار سیاست‌های امنیتی ایمیل استفاده می‌شود. سرویس مقصد مقدار دقیق را در اختیار شما می‌گذارد:

Type: TXT
Name: @
Value: service-verification=sample-token
TTL: 3600

SPF، DKIM و DMARC نیز با TXT پیاده‌سازی می‌شوند، اما محتوای آن‌ها باید دقیقاً مطابق راهنمای سرویس ایمیل باشد. چند رکورد SPF مستقل روی یک نام نسازید؛ سیاست‌های لازم باید در یک رکورد SPF معتبر ترکیب شوند. کوتیشن‌هایی که پنل برای نمایش اضافه می‌کند معمولاً بخشی از مقدار واقعی نیستند.

TTL چیست و چه عددی انتخاب کنیم؟

TTL مشخص می‌کند resolverها پاسخ DNS را چه مدت در cache نگه دارند. TTL کوتاه‌تر تغییرات را زودتر قابل مشاهده می‌کند، اما تعداد queryها را افزایش می‌دهد. TTL بلندتر برای رکوردهای پایدار مناسب است. قبل از مهاجرت سرور می‌توانید TTL را از چند ساعت قبل کاهش دهید و پس از اطمینان از پایداری مقصد جدید، دوباره افزایش دهید.

تغییر رکورد همیشه فوراً در همه شبکه‌ها دیده نمی‌شود، زیرا پاسخ قبلی ممکن است تا پایان TTL در cache باقی بماند. اصطلاح «DNS propagation» در عمل بیشتر به منقضی‌شدن cacheهای قبلی اشاره دارد؛ ثبت چندباره همان رکورد روند را سریع‌تر نمی‌کند.

یک تنظیم متداول برای سایت و ایمیل

A      @       192.0.2.10
CNAME  www     example.com
A      mail    192.0.2.20
MX     @       mail.example.com    priority 10
TXT    @       service-verification=sample-token

آدرس‌ها و token بالا فقط نمونه‌اند و نباید عیناً در دامنه واقعی استفاده شوند. مقادیر درست را از شرکت هاستینگ، سرور یا ارائه‌دهنده ایمیل بگیرید.

چگونه رکوردها را بعد از تغییر بررسی کنیم؟

در Windows می‌توانید از nslookup و در Linux یا macOS از dig استفاده کنید:

nslookup -type=A example.com
nslookup -type=MX example.com

dig A example.com
dig MX example.com
dig TXT example.com

نتیجه را از چند resolver یا شبکه بررسی کنید. سپس خود سرویس را هم آزمایش کنید: بازشدن سایت، اعتبار گواهی SSL و ارسال و دریافت ایمیل. پاسخ صحیح DNS الزاماً به معنی آماده‌بودن وب‌سرور یا mail server نیست.

اشتباهات رایج DNS

  • ویرایش رکوردها در پنلی که nameserver دامنه از آن استفاده نمی‌کند.
  • قرار دادن IP در CNAME یا قرار دادن IP مستقیم به‌عنوان مقصد MX.
  • ساخت A و CNAME با نام یکسان.
  • حذف رکوردهای ایمیل هنگام تغییر هاست وب.
  • استفاده از AAAA بدون آماده‌بودن واقعی IPv6 سرور.
  • انتظار مشاهده فوری تغییر با وجود cache و TTL قبلی.

جمع‌بندی

A برای IPv4، AAAA برای IPv6، CNAME برای نام مستعار، MX برای مسیر ایمیل و TXT برای تأیید یا سیاست‌های متنی است. پیش از تغییر، رکوردهای فعلی را ذخیره کنید؛ سپس فقط مقدار ارائه‌شده توسط سرویس مقصد را وارد و نتیجه را با ابزار DNS و آزمون واقعی سایت یا ایمیل کنترل کنید.

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