هر بار که یه دامنه میخرید و میخواید سایت یا ایمیل راه بندازید، با کلی رکورد DNS مثل A، MX، CNAME و TXT روبرو میشید. اگه اینا رو نشناسید، ممکنه کلی وقت هدر بدید یا حتی سایت و ایمیلتون از کار بیفته. تو این مقاله همه رکوردهای مهم DNS رو با مثال ساده توضیح میدم.
DNS اصلاً چیه و رکورد یعنی چی؟
DNS یا Domain Name System مثل دفترچه تلفن اینترنته. وقتی شما مثلاً saba.host رو تو مرورگر تایپ میکنید، DNS این اسم رو به IP آدرس تبدیل میکنه تا مرورگر بتونه به سرور وصل بشه. رکوردهای DNS همون اطلاعاتی هستن که تو این دفترچه تلفن ذخیره میشن.
هر دامنه یه سری رکورد داره که هرکدوم کاربرد خودشون رو دارن. بعضی برای وب سایت هستن، بعضی برای ایمیل و بعضی برای احراز هویت. بریم ببینیم هرکدوم چیکار میکنن.
رکورد A: پایهایترین رکورد DNS
رکورد A یا Address Record سادهترین و پرکاربردترین رکورد DNSه. کارش اینه که یه اسم دامنه رو به یه IP آدرس نسخه IPv4 وصل میکنه. مثلاً میگه saba.host میره به 185.226.140.140.
وقتی هاست میخرید، هاستینگ یه IP بهتون میده و شما باید یه رکورد A بسازید که دامنهتون رو به این IP وصل کنه. بدون این رکورد، سایتتون کار نمیکنه.
معمولاً دو تا رکورد A میسازید: یکی برای دامنه اصلی (مثل saba.host) و یکی برای www (مثل www.saba.host). هر دو به یه IP اشاره میکنن.
مثال رکورد A
Name: @
Type: A
Value: 185.226.140.140
TTL: 3600
رکورد AAAA: نسخه IPv6 رکورد A
رکورد AAAA (که چهار تا A داره) مشابه رکورد A هست، ولی برای IP آدرسهای نسخه IPv6. با توجه به کمبود IPv4، بیشتر شرکتها دارن به سمت IPv6 میرن. اگه سرورتون IPv6 داره، حتماً رکورد AAAA هم بسازید.
مزیت داشتن هر دو رکورد A و AAAA اینه که کاربرا با هر نوع IP (چه v4 چه v6) میتونن سایت رو باز کنن. سرعت هم بهتر میشه چون مسیرهای جدیدتر بازتر هستن.
مثال رکورد AAAA
Name: @
Type: AAAA
Value: 2001:db8::1
TTL: 3600
رکورد CNAME: نام مستعار برای دامنه
CNAME یا Canonical Name برای وقتیه که میخواید یه دامنه به دامنه دیگهای اشاره کنه، نه به IP. مثلاً اگه بخواید blog.saba.host به saba.host اشاره کنه، از CNAME استفاده میکنید.
کاربرد اصلی CNAME برای سابدامینها و سرویسهای خارجیه. مثلاً وقتی از Cloudflare استفاده میکنید، ممکنه بگه یه CNAME بسازید که به سرور اونا اشاره کنه.
یه نکته مهم: CNAME نمیتونه برای دامنه اصلی (root domain) استفاده بشه. یعنی saba.host نمیتونه CNAME داشته باشه، فقط سابدامینهاش.
مثال رکورد CNAME
Name: blog
Type: CNAME
Value: saba.host
TTL: 3600
رکورد MX: مسیر ایمیل شما
رکورد MX یا Mail Exchange به سرور ایمیل شما اشاره میکنه. وقتی یکی به info@yourdomain.com ایمیل میفرسته، سرور ایمیل فرستنده اول به DNS نگاه میکنه که ببینه رکورد MX این دامنه چیه، بعد ایمیل رو به اون سرور تحویل میده.
MX یه priority یا اولویت داره. اگه چند تا رکورد MX داشته باشید، اونی که priority کمتری داره اول امتحان میشه. این برای backup ایمیل کاربرد داره.
اگه از سرویسهای ایمیل مثل Google Workspace یا cPanel استفاده میکنید، اونا رکوردهای MX خاص خودشون رو میخوان.
مثال رکورد MX
Name: @
Type: MX
Priority: 10
Value: mail.saba.host
TTL: 3600
رکورد TXT: متن آزاد در DNS
رکورد TXT یه رکورد چند منظورهست که میتونه هر متنی رو نگه داره. کاربرد اصلیش برای احراز هویت دامنهست، مخصوصاً برای ایمیل و اثبات مالکیت.
SPF، DKIM و DMARC
سه تا از مهمترین کاربردهای TXT برای امنیت ایمیل هستن. SPF لیست سرورهایی که مجاز به فرستادن ایمیل از دامنه شما هستن رو مشخص میکنه. DKIM یه امضای دیجیتال به هر ایمیل اضافه میکنه. DMARC هم قانونی مینویسه که اگه ایمیل SPF یا DKIM رو رد کرد، چیکار بشه.
تایید مالکیت
Google Search Console، Facebook Business و خیلی سرویسهای دیگه با اضافه کردن یه رکورد TXT خاص، مالکیت شما رو ثابت میکنن.
رکورد NS: نیمسرورهای شما
رکورد NS یا Name Server مشخص میکنه که کدوم سرورها مسئول DNS دامنه شما هستن. وقتی از هاستینگ استفاده میکنید، معمولاً هاستینگ خودش نیمسرورهاش رو معرفی میکنه، مثل ns1.saba.host و ns2.saba.host.
معمولاً NS رو تو ثبتکننده دامنه (Registrar) تنظیم میکنید، نه تو خود DNS. تغییر NS باعث میشه دامنه شما به یه هاستینگ دیگه منتقل بشه.
رکورد PTR: DNS معکوس
PTR یا Pointer Record برعکس رکورد A کار میکنه: از IP به اسم دامنه. این خیلی برای ایمیل مهمه چون سرورهای ایمیل معتبر معمولاً PTR درست دارن. اگه سرور ایمیلتون PTR نداشته باشه، احتمال زیاد ایمیلهاتون Spam میشن.
PTR رو معمولاً از طریق شرکت هاستینگ یا دیتاسنتر تنظیم میکنید، نه تو کنترل پنل DNS معمولی.
رکورد SRV: سرویسهای خاص
رکورد SRV یا Service Record برای اعلام سرویسهای خاص روی دامنه استفاده میشه. مثلاً برای VoIP، XMPP، یا سرویسهای Microsoft (مثل Skype for Business) نیاز به SRV دارید.
ساختارش پیچیدهست و شامل نام سرویس، پروتکل، پورت و اولویت میشه.
رکورد CAA: اجازه صدور SSL
CAA یا Certification Authority Authorization مشخص میکنه کدوم CA (مثل Let's Encrypt یا DigiCert) میتونه برای دامنه شما SSL صادر کنه. این یه لایه امنیتی اضافهست که از صدور SSL غیرمجاز جلوگیری میکنه.
TTL چیه و چقدر تنظیم کنم؟
TTL یا Time To Live مشخص میکنه که رکورد DNS چقدر باید تو کش سرورها بمونه. TTL کم (مثل 300 ثانیه) باعث میشه تغییرات سریع پخش بشن، ولی بار روی DNS زیاد میشه.
معمولاً 3600 ثانیه (1 ساعت) یه انتخاب متعادل خوبه. اگه میخواید تغییرات اعمال کنید، چند ساعت قبلش TTL رو کم کنید تا تغییرات سریع پخش بشن.
DNS Propagation چیه؟
وقتی رکورد DNS رو تغییر میدید، این تغییر بلافاصله همه جا اعمال نمیشه. سرورهای مختلف تو دنیا کش خودشون رو دارن و ممکنه چند ساعت طول بکشه تا همه بروزرسانی بشن. این فرآیند رو Propagation میگن.
معمولاً 24 ساعت برای propagation کامل حساب کنید، ولی بیشتر تغییرات ظرف چند ساعت پخش میشن. برای بررسی از سایتهایی مثل whatsmydns.net استفاده کنید.
ابزارهای بررسی DNS
برای بررسی رکوردهای DNS از ابزارهای زیر استفاده کنید:
- dig: از خط فرمان لینوکس، حرفهایترین ابزار
- nslookup: ابزار ساده تو ویندوز و لینوکس
- MXToolbox: وب سایتی برای بررسی همه انواع رکورد
- DNSChecker: بررسی propagation در سراسر دنیا
جمعبندی
رکوردهای DNS ستون فقرات اینترنت هستن. با فهم درست هرکدوم، میتونید سایت و ایمیلتون رو حرفهای مدیریت کنید. برای شروع، رکورد A و MX رو یاد بگیرید و بعد بقیه رو کم کم اضافه کنید.
اگه هاست ابری یا اشتراکی از سباهاست میگیرید، معمولاً کنترل پنل DNS داره که این رکوردها رو با رابط ساده مدیریت کنید. فقط کافیه بدونید هرکدوم چیکار میکنه.