در این مقاله میخواهیم با مفهوم اولیهی سرویس DNS آشنا شویم در ادامه، ده سرویسدهندهی DNS ذکر شده است، که میتوانید تعدادی از آنها را راهاندازی نمایید.
DNS چیست؟
DNS یا Domain Name System یک سرویس ابری است که نام دامنهها را به آدرس IP متناظرشان، ترجمه مینماید. برای مثال زمانی که شما derak.cloud
را در مرورگر خود جستوجو مینمایید، باید آدرس IP متناظر با نام دامنهی اَبر دِراک در پشت صحنه درخواست شود. این اقدام، توسط یک DNSسرور، انجام میشود.
سرور DNS مانند سامانهی 118 مخابرات است! اگر IP را معادل شماره تلفن در نظر بگیریم، شما نام مخاطب را دارید ولی شماره تماس او را ندارید، بنابراین با 118 تماس میگیرید و نام مخاطب را داده و شماره را تحویل میگیرید. نکته ای که باید به آن توجه کنیم این است که هدف ما تماس با 118 نبوده، بلکه هدف ما ارتباط با مخاطب است! و ارتباط ما پس از گرفتن شماره تلفن از 118 و برقرای تماس با مخاطب آغاز میشود.
هنگامی که برای اولین بار به یک وبسایت سر میزنید و نام آن وبسایت را در مرورگر خود وارد میکنید، عملا در حال استفاده از سرویس DNS خود هستید. شما نام وبسایت را دارید اما IP سرور آن را ندارید. به ناچار یک درخواست یا Query به سرور DNS فرستاده میشود و DNS در پاسخ به سیستم شما، IP متناظر با وبسایت را بر میگرداند و سیستم شما پس از داشتن آدرس IP، درخواستهای خود را به آن آدرس IP میفرستد و اطلاعات را بارگذاری میکند.
با بالارفتن حجم و دفعات حملات DDoS، استفاده از یک DNS Server باکیفیت، جهت افزایش افزونگی یا همان Redundancy وبسایت شما بسیار حائز اهمیت است.
درباره DNS ابری بیشتر بخوانید.
DNS چگونه کار میکند؟
فرآیند رزولوشن DNS شامل تبدیل نام میزبان (مانند www.example.com) به یک آدرس IP مناسب برای کامپیوتر (مانند 192.168.1.1) است. تمامی دستگاههای متصل به اینترنت یک آدرس IP دارند که این آدرس برای یافتن دستگاه اینترنتی ضروری است – مانند آدرس خیابان برای یافتن یک خانه خاص. هنگامی که کاربر آدرس یک صفحه وب را در مرورگر خود مینویسد و Enter را میزند، DNS باید این آدرس را به آدرس IP معادل ترجمه کند.
برای درک این فرایند، ابتدا باید اجزای سختافزاری مختلفی که کوئری DNS باید بین آنها عبور کند را بشناسید. برای مرورگر وب، جستجوی DNS “پشت صحنه” انجام میشود و به غیر از درخواست اولیه دیگر نیازی به تعامل با رایانه کاربر ندارد.
4 سرور DNS در بارگذاری صفحه وب دخیل هستند:
- DNS recursor – recursor (بازگشتکننده) را میتوان بهعنوان کتابداری در نظر گرفت که از او خواسته میشود کتاب خاصی را در کتابخانه پیدا کند. DNS recursor سروری است که برای دریافت ککوئری یا درخواست از دستگاه کلاینت و از طریق برنامههایی مانند مرورگر وب طراحی شده است. Recursor درخواست کاربر را دریافت کرده و برای پیدا کردن پاسخ به Root nameserver متصل میشود.
- Root nameserver – سرور ریشه اولین گام در ترجمه نامهای دامنه به آدرسهای IP است. Root nameserver را میتوان مانند نمایهای در کتابخانه در نظر گرفت که به قفسههای مختلف کتاب اشاره میکند.
- TLD nameserver – سرور دامنه سطح بالا (TLD) را میتوان به عنوان یک قفسه خاص از کتابها در یک کتابخانه در نظر گرفت. این nameserver گام بعدی در جستجوی یک آدرس IP خاص است و آخرین بخش از نام میزبان را میزبانی میکند (مثلا در example.com، سرور TLD همان “com” است).
- nameserver – این nameserver نهایی را میتوان بهعنوان فرهنگ لغت در یک قفسه کتاب در نظر گرفت که در آن میتوان نام خاصی را به معادل تعریف آن ترجمه کرد. Authoritative nameserver آخرین مرحله از کوئری DNS است. اگر Authoritative nameserver به رکورد درخواستی دسترسی داشته باشد، آدرس IP درخواستی را به DNS recursor (کتابدار) که درخواست اولیه را انجام داده است، برمیگرداند.
دلیل اهمیت استفاده از یک DNS معتبر
انتخاب یک سرویسدهندهی DNS قابل اعتماد، مهم است. زیرا بر تمامی جنبههای وبسایت شما، از افزونگی گرفته تا سرعت و حتی امنیت، بسیار تاثیرگذار میباشد.
افزونگی (Redundancy)
اگر شما صاحب یک کسبوکار هستید، نباید در سازمان شما هیچگاه Single Point of Failure رخ دهد. (منظور از Single Point of Failure این است که اگر قسمتی از یک سیستم خراب شود، کل سیستم دچار مشکل و توقف خواهد شد.)
افزونگی به معنای وجود چند نسخهی کپی یا پشتیبان میباشد که در صورت از کارافتادن و خرابی یک نسخه به هر دلیلی، نسخهی پشتیبان جایگزین آن شود، زیرا عدم دسترسی برای کاربر نکتهی بسیار منفی محسوب میشود.
بگذارید با یک مثال ادامه دهیم. فرض کنید یک نسخهی پشتیبان از فایلهای کامپیوترتان در یک هارد اکسترنال در خانه نگه داشتهاید، اگر احیانا خانهتان طعمهی حریق شود، هم کامپیوتر و هم فایل های خود را از دست خواهید داد. بنابراین بهتر است نسخههای پشتیبان فایلها در محلی خارج از خانه باشند. پس میتوان اهمیت نسخهی پشتیبان، تهیه و نگهداری آن خارج از مکان اصلی را به وضوح لمس کرد.
حال که معنای کلی این مفهوم را میدانیم، در ادامه نگاهی به تعریف آن در حوزهی سرویس DNS میاندازیم.
سرویسدهندگان DNS به شما این امکان را میدهند تا Nameserverهای ثانویه را پیکربندی کنید. به این معنا که اگر سرور DNS اصلی به هر دلیلی از کار افتاد آنگاه یک سرور پشتیبان جای آن را میگیرد.
یک رویکرد متداول پیکربندی، در نظر گرفتن یکی از سرویسدهندگان به عنوان سرویسدهندهی اصلی (Master) و دیگری به عنوان سرویسدهندهی ثانویه (Slave)، میباشد،. این کار به معنای همگامسازی (Sync) رکوردهای دامنهی شما میان سرویسدهندهی اصلی و ثانویه است. به عبارتی، اگر پاسخ یک درخواست از سرور DNS اصلی ناموفق بود، درخواست به سرور DNS ثانویه ارسال میگردد تا آدرس IP صحیح برگردانده شود، در ادامه در صورت عدم توانایی برای resolve کردن IP، صفحهی زیر نمایش داده میشود.
نهایتا اهمیت استفاده از چندین سرویسدهندهی DNS را مشاهده کردیم.
Cache کردن DNS
در مواقعی که سرویسدهندهی اصلی شما از کار بیفتد، به صورت پیش فرض، برای مدتی تلاش برای دریافت پاسخ درخواست از سرور DNS اصلی، قبل از تقاضا از سرور ثانویه.
مدیریت رویکرد فوق، توسط تغییر موقت تنظیمات TTL یا همان Time to Live رکورد DNS و مسیردهی ترافیکتان به سمت سرور DNS ثانویه، تا زمان رفع قطعی صورت میگیرد. برای این کار باید حتما به TTL رکوردهای DNS دسترسی داشته باشید.
از آنجایی که DNS توسط ISPها نیز Cache میشود، پس انتخاب یک TTL طولانی برای رکوردهای DNS مناسبتر است. زیرا در این حالت ISP شما DNS را Cache کرده و به درخواست او پاسخ داده میشود، پس حتی ممکن است کاربران متوجه نشوند که سرویسدهندهی DNS شما برای مدت کوتاهی از کار افتاده است.
به عنوان مثال، اگر مدت زمان TTL شما از روز دوشنبه برای یک هفته تنظیم شود و سرویسدهندهی DNS شما از دوشنبه شب تا پنجشنبه از کار بیفتد، کاربران شما به دلیل Cacheشدن DNS توسط ISP متوجه این از کارافتادگی نخواهند شد.
سرعت
در مبحث پاسخگویی DNS، سرعت فاکتور مهمی بشمار میآید. استفاده از یک سرویسدهندهی DNS سریع، تاخیر کمتری بین درخواست DNS و TTFB یا همان Time to First Byte را تضمین مینماید. میتوانید زمان جستوجوی DNS و TTFB را با وبسایتهایی که ابزار سنجش سرعت را ارائه میدهند، آزمایش کنید.
دقیقا مانند CDN، سرویسدهندگان DNS نیز دارای چندین POP میباشند. بطور کلی تعداد POPهای بیشتر موجب کیفیت بیشتر میشود و هر چه بیشتر به کاربران نزدیک باشند، موجب کاهش زمان پاسخ برای جستوججوی DNS میشود. به یاد داشته باشید که DNS در سمت ISP نیز Cache میشود، پس تنظیم TTLطولانیتر تعداد درخواستهای کمتری به سمت سرورهای DNS را بهدنبال دارد، که این موضوع نیز افزایش سرعت را بهدنبال دارد.
امنیت
بر طبق آمار Kaspersky در سهماههی اول ۲۰۱۵، حدود ۲۳ هزار حملهی DDoS گزارش شده است و در ۷۶ کشور، منابع وب مورد هدف قرار گرفتهاست. DDoS یا بهعبارتی Distributed Denial of Service، نوعی از حملهی DOS میباشد که در آن سعی میشود تا یک سیستم یا منابع شبکه از دسترس خارج شود. حملات DDoS معمولا بیش از یک منبع و اغلب هزاران آدرس IP منحصر به فرد را درگیر و اغلب درخواستهای DNS را Spoof میکنند.
برخی از سرویسدهندگان DNS رایگان، دارای ویژگیهایی از جمله Firewall، محدودیت سرعت، فیلترینگ و مسدود کردن میباشند که به کاهش و جلوگیری از حملات DDoS کمک میکنند.
ده سرویسدهندهی DNS برتر رایگان در سال ۲۰۱۸
در اینجا لیستی از ده سرویسدهندهی برتر رایگان DNS در دنیا (بدون ترتیب خاصی) آمده است.
۱. Hurricane Electric Internet Services
Hurricane Electric Internet Services از اصلیترین ارائهدهندگان خدمات صددرصد رایگان میزبانی DNS در سراسر جهان است. شبکهی Hurricane دارای بیش از ۶۰ عدد POP بوده و از IPv6 پشتیبانی میکند.
۲. Cloudflare
Cloudflare یکی از بزرگترین سرویسدهندگان رایگان DNS است. این شرکت یک DNS مدیریتشده میباشد، بدان معنا که کنترل چندانی بر روی آن ندارید. با این حال، ویژگیهای امنیتی دیگری مانند محدود کردن سرعت، فیلتر کردن و مسدود کردن را به شما ارائه میدهد. سرعت Cloudflare نسبت به بیشتر DNS بالاتر است.
۳. Rackspace
Rackspace میزبانی و مدیریت رایگان DNS برای کاربران را پیشنهاد میدهد و دارای خصوصیاتی از جمله مهاجرت به صورت خودکار، مسیریابی به صورت AnyCast و LoadBalancing است.
۴. FreeDNS
FreeDNS ارائهدهندهی DNS رایگان، Dynamic DNS، میزبانی DNS Static میباشد. این موارد از سال ۲۰۰۴ مورد بهرهبرداری قرار گرفته و یک تاریخچهی طولانی مدت از ارائهی DNS رایگان را دارد. در حال حاضر این سرویس به طور معمول، بیش از 7 میلیارد درخواست DNS در ماه را مسیردهی میکند.
۵. ClouDNS
خدماتی که ClouDNS ارائه میدهد، عبارتند از:
- DNS Server
- Dynamic DNS
- پشتیبانی از IPv6
- Round Robin
که هیچ محدودیتی در رکوردها و درخواستها ندارند. همچنین اخیرا طرحهایی غیر رایگان همراه با سرورهای دفع حملات DDoS و GeoDNS را معرفی اند.
۶. GeoScaling
GeoScaling خدماتی از جمله سرورهای DNSی مدیریتی با خصوصیاتی منحصر بفرد را بطور رایگان، تا سقف یک میلیون درخواست DNS در ماه ارائه میدهند. تغییر مسیر کاربران بر اساس کشور و تعریف قوانین سفارشی در سطح DNS از دیگر خدمات این Provider است. امکان تنظیم TTL، پشتیبانی از بیشتر انواع رکوردها از جمله SRV، پشتیبانی از DNS Dynamic و امکان بارگذاری (import) کردن رکوردهای فایل BIND Zones نیز از خدمات این سرویس است.
۷. Namecheap
Namecheap را احتمالا بیشتر برای سرویسهای ثبت دامنه خود میشناسید، اما این شرکت میزبانی DNS رایگان با ویژگی DNS Dynamic را نیز ارائه میدهد. DNSهای رایگان Namecheap میتوانند به خوبی به عنوان یک پشتیبان از سرویس DNS اصلی شما عمل کنند.
۸. ۱۹۸۴
۱۹۸۴ یک کمپانی میزبانی وب که سرویس DNS رایگان را نیز ارائه میدهد، که به آسانی از طریق رابط وب در دسترس میباشد. جدای از رکوردهای DNS معمولی، همچنین امکان تغییر مسیر وب را نیز دارند.
۹. BuddyNS
BuddyNS یک سرویس DNS ثانویه رایگان است و احتمالا یکی از سادهترین سرویسها برای استفاده میباشد. آنها دارای ویژگی همگامسازی خودکار با DNS Server اصلی، طی ۱۰ دقیقه یا بصورت بلافاصله هستند. همچنین BuddyNS از زمان شروع کار با ۸ عدد POP در سراسر جهان، فعالیت دارد.
۱۰. Dynu
Dynu سرویس DNS Dynamic رایگان است که از سال 1997 مشغول به فعالیت میباشد. آنها طرحی را با نام «همیشه رایگان» ارائه میدهند که در آن میتوانید ۴ دامنه، ۴ زیر دامنه، ۴ رکورد MX، ۴ رکورد DNS سفارشی و ۴ تغییر مسیر وب را داشته باشید.
گزارش مقایسهی سرعت DNS
چه کسی بهترین DNS رایگان را ارائه میدهد؟ همانطوری که در زیر مشاهده میکنید اغلب سرویس دهندگان DNS رایگان ذکر شده، در بعد سرعت، در یک رقابت پایاپای با DNSهای غیر رایگان میباشند.
سهم بازار سرویسدهندگان DNS
Cloudflare سهم عمدهای از بازار DNS را دارد، آمازون با فاصلهی نزدیکی در جایگاه دومین سرویسدهندهی DNS قرار میگیرد. سهم سایر سرویس دهندگان رایگان DNS را میتوان در زیر مشاهده کرد.
سرویس DNS ابری اَبر دِراک
سرویس DNS اَبر دِراک که به صورت کاملا رایگان در ایران فعالیت دارد. شما میتوانید به صورت نامحدود وبسایتهای خود را اضافه و آنها را مدیریت کنید. با استفاده از سرویس CDN اَبر دِراک نیز میتوانید با حملات DDoS مقابله کنید و آنها را دفع کنید. تعداد درخواستهای DNS در این سرویس سقف محدودی ندارد اما برای استفاده از سرویس شبکهی توزیع محتوا، کاربران میبایست هزینه پرداخت کنند.
کاربران میتوانند در پنل اَبر دِراک TTL هر رکورد را به صورت مجزا تنظیم کنند. به همچنین از انواع رکوردهای DNS منجمله SRV نیز، از دیگر خدماتی است که اَبر دِراک در اختیار کاربران قرار میدهد.
اَبر دِراک به طور خودکار رکوردهای DNS وبسایتهای جدید را شناسایی و به پنل اضافه میکند و کاربران کافیست در صورت نیاز تغییراتی را اعمال کنند. کاربران همچنین میتوانند فایل رکوردهای DNS را مطابق با استاندارد BIND در پنل اَبر دِراک import کنند. در این صورت نیازی به وارد کردن تنظیمات به صورت دستی نمیباشد.