انواع رکوردهای DNS
DNS از انواع مختلف رکورد استفاده میکند که هرکدام هدف مشخصی دارند — از نگاشت نامها به IP، مسیریابی ایمیل، کشف سرویسها تا ایمنسازی فرایند صدور گواهی.
رکورد آدرس (A)
یک نام میزبان را به یک آدرس IPv4 نگاشت میکند.
www.example.com. IN A 93.184.216.34
api.example.com. IN A 203.0.113.10
نحوه کار
کاربر در مرورگر www.example.com را وارد میکند
Resolver رکورد A را جستوجو میکند → 93.184.216.34 را دریافت میکند
مرورگر روی پورت 80/443 به 93.184.216.34 متصل میشود
رکورد آدرس IPv6 (AAAA)
یک نام میزبان را به یک آدرس IPv6 نگاشت میکند.
www.example.com. IN AAAA 2001:db8:1234::10
نحوه کار
کلاینت هم رکورد A و هم AAAA را درخواست میکند
اگر رکورد AAAA موجود باشد و IPv6 پشتیبانی شود، کلاینت ممکن است آن را ترجیح دهد
در غیر این صورت، به رکورد A (IPv4) برمیگردد
رکورد نام متعارف (CNAME)
یک نام دامنه را به نام دامنه دیگری بهعنوان alias (نام مستعار) متصل میکند.
www.example.com. IN CNAME example.com.
blog.example.com. IN CNAME myblog.platform.com.
نحوه کار
کلاینت www.example.com را جستوجو میکند → DNS یک CNAME به example.com برمیگرداند
کلاینت سپس example.com را جستوجو میکند → رکوردهای A/AAAA را دریافت میکند
IP نهایی برای برقراری اتصال استفاده میشود
محدودیت — یک CNAME نباید همزمان با رکوردهای دیگر (مثل A یا MX) با همان نام وجود داشته باشد. باید یا CNAME استفاده شود یا سایر نوع رکوردها، نه هر دو.
رکورد تبادلکننده ایمیل (MX)
مشخص میکند ایمیل برای یک دامنه باید به کجا تحویل داده شود.
example.com. IN MX 10 mail1.example.com. example.com. IN MX 20 mail2.example.com.
mail1.example.com. IN A 203.0.113.20 mail2.example.com. IN A 203.0.113.21
نحوه کار
سرور فرستنده از DNS رکوردهای MX دامنه example.com را میپرسد
فهرستی با اولویتها دریافت میکند: mail1 (10)، mail2 (20)
ابتدا mail1.example.com را امتحان میکند
اگر mail1 در دسترس نباشد، به mail2.example.com برمیگردد
رکورد متنی (TXT)
متن دلخواه مرتبط با یک دامنه را ذخیره میکند.
example.com. IN TXT "v=spf1 ip4:203.0.113.0/24 include:_spf.mailprovider.com ~all"
_example-verification.example.com. IN TXT "google-site-verification=abc123xyz"
رکورد Name Server (NS)
سرورهای DNS معتبر (Authoritative) برای یک دامنه یا زیردامنه را مشخص میکند.
example.com. IN NS ns1.dnsprovider.com. example.com. IN NS ns2.dnsprovider.com.
internal.example.com. IN NS ns1.internal-dns.example.com. internal.example.com. IN NS ns2.internal-dns.example.com.
نحوه کار
Resolver از سرورهای TLD مربوط به .com در مورد example.com میپرسد
TLD با رکوردهای NS پاسخ میدهد (ns1.dnsprovider.com، ns2.dnsprovider.com)
Resolver برای رکوردهای مشخص، آن Name Serverها را کوئری میکند
رکورد آغاز اختیار (SOA)
اطلاعات مدیریتی کلیدی درباره یک ناحیه DNS (Zone) را تعریف میکند.
example.com. IN SOA ns1.dnsprovider.com. admin.example.com. ( 2024060101 ; Serial 3600 ; Refresh (1 hour) 900 ; Retry (15 minutes) 1209600 ; Expire (14 days) 86400 ; Minimum TTL (1 day) )
سرورهای DNS ثانویه از شماره سریال (Serial) برای تشخیص تغییرات Zone استفاده میکنند. تایمرها مشخص میکنند هرچند وقت یک بار برای دریافت بهروزرسانیها بررسی انجام شود.
رکورد مکان سرویس (SRV)
مکان (میزبان و پورت) یک سرویس مشخص را برای یک دامنه تعیین میکند.
_service._protocol.domain. IN SRV priority weight port target
_sip._tcp.example.com. IN SRV 10 60 5060 sipserver1.example.com. _sip._tcp.example.com. IN SRV 20 20 5060 sipserver2.example.com.
کلاینتها رکورد SRV را جستوجو میکنند و بهصورت خودکار متوجه میشوند باید به کدام میزبان و روی چه پورتی متصل شوند — نیازی به تنظیم دستی نیست.
رکورد اشارهگر (PTR)
یک آدرس IP را به نام میزبان نگاشت میکند (Reverse DNS).
20.113.0.203.in-addr.arpa. IN PTR mail1.example.com.
نحوه کار
سرور اتصالی از 203.0.113.20 دریافت میکند
یک Reverse Lookup روی 20.113.0.203.in-addr.arpa انجام میدهد
DNS با mail1.example.com پاسخ میدهد
سرور ممکن است بررسی کند که PTR با رکورد A (Forward) مطابقت داشته باشد
رکورد مجوز مرجع صدور گواهی (CAA)
کنترل میکند کدام مراجع صدور گواهی (CA) مجازند برای یک دامنه گواهی SSL/TLS صادر کنند.
example.com. IN CAA 0 issue "letsencrypt.org"
example.com. IN CAA 0 issuewild "digicert.com"
نحوه کار
CA یک درخواست گواهی برای example.com دریافت میکند
CA در DNS به دنبال رکوردهای CAA میگردد
اگر CAA این CA را مجاز بداند، گواهی میتواند صادر شود
در غیر این صورت، CA باید درخواست را رد کند
رکوردهای مرتبط با DNSSEC
DNSSEC به دادههای DNS تمامیت و اصالت اضافه میکند و اطمینان میدهد پاسخها دستکاری نشدهاند.
RRSIG
امضای دیجیتال برای رکوردهای DNS
DNSKEY
کلیدهای رمزنگاری عمومی برای تأیید امضاها
DS
رکورد Delegation Signer که Zone والد و فرزند را به هم متصل میکند
NSEC/NSEC3
برای اثبات عدم وجود رکوردها استفاده میشود
مرجع سریع
چه زمانی از کدام نوع رکورد استفاده کنیم.