امیرحسین کریم پور
مدیر ارشد توسینسو و متخصص سرویس های مایکروسافت

SOA رکورد چیست؟ معرفی کاربرد Start Of Authority Record در DNS

شما بعنوان یک ادمین شبکه حتما با سرویس DNS بخوبی آشنایی دارید اما ممکن است اطلاعات زیادی درباره یکی از مهم ترین رکورد های DNS یعنی SOA رکورد نداشته باشید . هدف از این مقاله هم دادن اطلاعات خوب و مفید درمورد این Resource record میباشد. برای یک Internet Administrator هیچ چیز مسالمت آمیزتر از پایداری و بهینه سازی DNS سرور نیست . جمله سنگینی بودD: اگر یک پیکربندی اشتباه در DNS سرور وجود داشته باشد DNS سرور قادر به پاسخ گویی صحیح نمی باشد و آنوقت است که وبسایت ها و ایمیل ها down می شوند . بخش مهمی از تنظیمات سرور DNS را رکورد SOA به خود اختصاص داده است . بیایید یکم در مورد Record ها صحبت کنیم ...

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
سرفصل های این مطلب
  1. SOA Record چیست؟
وب سایت توسینسو

DNS Record ها در یک فایل zone و در DNS سرور،وظیفه تبدیل کردن Url ها را به IP آدرس ها را بر عهده دارند . یعنی در واقع این Record ها هستند که عهده دار اصلی تبدیل نام( FQDN ) به آدرس IP هستند که با توجه نوع رکورد ها و مصارفشان میتواند متفاوت باشد . مثلا رکورد های مربوط به Mail Server ها MX هستش و رکورد مربوط به تبدیل نام به آدرس IP در شبکه داخلی A Record هستش و ... . در زیر میتوانید یک نوع فایل zone را مشاهده می کنید :

;
; Zone file for mydomain.com
mydomain.com. 14400 IN SOA ns.mynameserver.com. root.ns.mynameserver.com.(
		2004123001
		86000
		7200
		1209600
		600 )

mydomain.com. 14400 IN NS ns.mynameserver.com.
mydomain.com. 14400 IN NS ns2.mynameserver.com.
mydomain.com. 14400 IN NS ns3.mynameserver.com.

mydomain.com. 14400 IN A 216.34.94.184

localhost.mydomain.com. 14400 IN A 127.0.0.1

mydomain.com. 14400 IN MX 0 mydomain.com.
mail 14400 IN CNAME mydomain.com.
www 14400 IN CNAME mydomain.com.
ftp 14400 IN CNAME mydomain.com.

در ادامه این مقاله بخش های مختلفی از رکورد های DNS که در بالا مشاهده میکنید را آنالیز و بررسی خواهیم کرد ...

SOA Record چیست؟

SOA یا به اختصار Start Of Authority رکوردی است که ضروری ترین بخش از یک فایل zone را تشکیل میدهد. SOA رکورد رکوردی است که به مدیران Domain اطلاعات پایه ای از دامین را میدهد نظیر : چه زمان هایی Update میشود ، زمان آخرین آپدیت چه وقت بوده ، آدرس ایمیل ادمین و غیره.توجه کنید که هر فایل zone شامل یک رکورد SOA میباشد. آپدیت شدن SOA رکورد بین name server ها بخوبی در افزایش پهنای باند و بهینه سازی آن نقش موثری دارد. و همچنین در افزایش سرعت دسترسی به وب سایت ها هنگامی که حتی DNS سرور اصلی Down شود یا از کار بیفتد را نیز بر عهده دارد. در زیر اطلاعات و پارامتر هایی که یک SOA Record دارد را مشاهده میکنید:

; name		TTL	 class	rr	 Nameserver		 email-address
mydomain.com. 14400	 IN 	SOA
ns.mynameserver.com. root.ns.mynameserver.com.
(
		2004123001 ; Serial number
		86000 ; Refresh rate in seconds
		7200 ; Update Retry in seconds
		1209600 ; Expiry in seconds
		600 ; minimum in seconds )

حال به توضیح تک تک پارامتر های بالا می پردازیم ...

  • mydomain.com : نام zone ما را مشخص میکند که همان نام domain ما هست ، مثل : tosinso.com
  • TTL – 14400 : این پارامتر معرف مدت زمانی است که کلاینت میتواند این رکورد را cache کند. که اگر مقدارش را صفر انتخاب کنید یعنی کلاینت نمی تواند آنرا در خود کش کند. بازه زمانی این پارامتر بین 0 تا 2147483647 ثانیه هست . ( نزدیک 68 سال!!! )
  • IN: این پارامتر یک class است که نوع رکورد را نشان میدهد . IN در اینترنت بیشتر بکار می آید. اگر DNS شما مدت زمان طولانی است که در اینترنت یا شبکه داخلی ( اینترانت ) هست شما باید از IN استفاده کنید.
  • Nameserver – ns.nameserver.com:

nameserver سروری است که فایل های zone را در خود نگهداری میکند. مثلا من یک دامین کنترلر دارم به اسم dc01.tosinso.com که فایل zone ام رو که tosinso.com هستش رو نگهداری میکنه. به همین سادگیD:

  • Email address: این پارامتر نشانگر آدرس ایمیل دامین ما هستش که در اینجا .root.ns.nameserver.com هستش،شاید برای خیلیا مبهم باشه که چرا @ توش وجود نداره ؟!! جواب اینه که ایمیل به آدرس روت یعنی root@ns.nameserver.com فرستاده میشه اما بصورت .root.ns.nameserver.com نوشته میشه. دات(.) که بعد از com هستش همون root هست که ما هیچوقت نمینویسمیش ولی به اون صورت نوشته میشه.
  • Serial number – 2004123001: این شماره چیزی نیست جز عددی که آخرین آپدیت zone رو نشون میده که معمولا به همراه تاریخش میاد.و به فرمت date/revision بیشتر رایجه.توجه کنید اگه سریال نامبر مربوط به Primary nameserver کمتر یا مساوی Secondary nameserver باشه هیچ تغییراتی یا بهتر بگیم هیچ انتقالی از Secondary nameserver یه Primary nameserver رخ نداده.
  • Refresh : مقدار این پارامتر که به ثانیه هستش معرف فاصله زمانی Refresh شدن Slave DNS Server و Primary DNS Server هست. که در اینجا مقدارش 86000 ثانیه هست. DNS سرور دومی به سریال نامبرش نگاه میکنه اگه مقدارش کمتر از سریال نامبر dns سرور پرایمری باشه درخواست رفرش میده و اطلاعات zone اش رو بروز رسانی می کنه.
  • Retry: اینجا فرض کنید که dns سرور دومی یا slave میخواد با dns سرور Primary ارتباط برقرار کنه ولی میبینه سرور down هستش و جواب نمیده . مقدار Retry اینجاس که بکارمون میاد. اگه مثلا روی 10 دقیقه تنظیم شده باشه بعد از هر پاسخ ناموفق ده دیقه صبر میکنه و دوباره درخواست میفرسته . این پارامتر زیاد مهم نیستش جدی نگیریدش D:
  • Expiry: این پارامتر معرف مدت زمانی است که DNS سرور slave فایل zone رو تو خودش نگه میداره یا بهتره بگیم کش می کنه اگه سرور DNS پرایمری نتونه جواب بده. توصیه شده که این مدت زمان بین 2 تا 4 هفته باشه.
  • Minimum – 600: این پارامتر معرف مدت زمانی است که DNS سرور slave باید فایل zone رو داخلش کش کنه . این پارامتر یکی از مهم ترین پارامتر ها در رکورد SOA هستش. اگر dns سرور شما اطلاعاتش دائما در حال تغییر و بروزرسانی هست مقدارش رو 1 روز یا کمتر انتخاب کنید . برعکس اگه رکورد های dns سرور شما خیلی کم تغییر می کنه مقدارش رو بین 1 تا 5 روز در نظر بگیرید. مزیت تنظیم کردن بالاترین مقدار این پارامتر اینه که سرعت وب سایت شما بشدت افزایش پیدا می کنه چون که جستجو ها کاهش پیدا می کنه و سرعت میره بالا . امیدوارم از خوندن این مقاله لذت کافی رو برده باشید.

امیرحسین کریم پور
امیرحسین کریم پور

مدیر ارشد توسینسو و متخصص سرویس های مایکروسافت

امیرحسین کریم پور ، مدیر ارشد توسینسو ، متخصص شبکه ، تخصص در حوزه سیستم عامل های کلاینت و سرور مایکروسافت و سرویس های مربوطه ، سیستم عامل لینوکس و... ، سابقه کار با سازمان ها و شرکت های مختلف در زمینه سرویس های مایکروسافت در قالب پروژه ، مشاوره و آموزش. علاقه مند به حوزه امنیت اطلاعات و تست نفوذ سنجی

نظرات