DNS

انواع DNS Server ها

DNS Server list_02

انواعDNS Server  ها

 

هر کدام از DNS Server ها به دو شکل کلی پروتوکل DNS رو اجرا می کنند. اولی در غالب Resolve کردن یا همون پیدا کردن  Hostnameها و IP های سیستم ها و ربط دادنشان به یکدیگر. در اینجا می توان مثال شرکتی را زد که در آن شرکت، سرویس های مختلفی مثل سرویس ایمیل، سرویس فایل ، سایت درون شبکه ای ، اتوماسیون و . . . وجود داشته که در این حالت برای اینکه کاربران بتوانند از این سرویس ها استفاده کنند باید مکانیزمی این سیستم ها را به یکدیگر ارتباط دهد که در این مثالServer  DNS بر اساس رکوردهایی که از قبل تعریف شده این کار را انجام میده که به این عمل Resolve می گویند.

دومین حالت هم Publish کردن به خارج از DNS Server است. که می توان به سایتی اشاره کرد که قرار است از طریق اینترنت در دسترس عموم قرار بگیرد. در اینجا کار این DNS Server این است که به DNS Server های عمومی مثل google و Cloudflare و . . .  آدرس IP و Hostname را بفرستد که بتوان از طریق اینترنت به آن سایت دسترسی پیدا کرد که در حقیقت به این کار Publish گفته می شود.

DNS Server ها به دو بخش مختلف به درخواست های “DNS Query” رسیدگی می کنند. که قبل از آن لازم است بدانید DNS Query چیست.
DNS Query: یک DNS Query (که به عنوان DNS Request نیز شناخته می شود) درخواستی است که از سمت یک سیستم (به طور مثال یک کامپیوتر) که به عنوان DNS Client شناخته میشود به سمت یک DNS Server ارسال شده، که در اغلب اوقات این درخواست برای دریافت IP آن Domain Name فرستاده میشود. دو حالت کلی Authoritative server و Recursive Servers برای یک DNS Server وجود دارد. که می توان به صورت تک یا ترکیبی از این دو باشد.

Authoritative server: سرور اعتبار سنجی که به عنوان authoritative name servers شناخته میشود، در واقع برای سامان دهی و یکپارچه کردن یک یا چند مجموعه از DNS Server ها در قالب یک Authoritative server تعریف شده که برای مثال می توان به شرکتی اشاره کرد که برای آدرس دهی به درخواست هایی که به سمتش ارسال می شود از یک سرور اعتبارسنج استفاده می کند. این سرورها از نظر اولویت در بالاترین سطح قرار می گیرند که به درخواست ها رسیدگی کنند. Authoritative server ها را می توان در قالب یکServer  Primay DNS (DNS سرور اصلی) یا یک Secondary DNS Server تعریف کرد که آدرس Query ها رو از یک سرور اصلی که به عنوان یک منبع اطلاعات می باشد فراخوانی کرده و یا اطلاعات رکوردها را sync یا آپدیت کنند.

 Recursive Servers: این نوع سرورها کار DNS Resolution (به طور مثال یک Web Server یا هر نوع سرویس دهنده ای که به Internet متصل است دارای یک آدرس IP و یک Domain Name می باشد. حالا فرآیند تبدیل این IP به Domain Name یا بلعکس آن را DNS Resolution یا  DNS Lookup می گویند.) را انجام میدهند و درخواست هایی که از سمت Client ارسال میشود را برای Resolve به سمت یک authoritative name servers ارسال می کنند.

این نوع سرورها برای پایین آوردن فشار و زمان پاسخ گویی به خواست ها  نتایج را در یک حافظه موقت و در یک بازه زمانی از پیش تعریف شده که به عنوان Time To Live یا TTL شناخته میشود کش می کنند. TTL بر اساس زمان مشخص و در قالب ثانیه در فایل کانفیگ DNS Server ذخیره میشود و قابل تغییر است. به طور مثال DNS Server گوگل که همه ما با اون آشنا هستیم (4.2.2.4 ، 8.8.8.8  و . . .) هر 300 ثانیه حافظه Cache را Refresh می کند.
در ادامه لیستی از انواع این DNS Server ها را می توانید مشاهده کنید.

AnswerX: این برنامه یک نوع recursive DNS resolver (rDNS) هست و کمپانی Xerocole کار تولید این برنامه را بر عهده داشته.AnswerX یک نوع Resolver پیشرفته است که پروتوکل هایDNSSEC, IPv6  رو پشتیبانی می کند. این برنامه می تواند کارکرد یه فایروال را داشته و یا بستری برای گسترش و پیاده سازی سیستم Logging در غالب یک سرویس تحت شبکه باشد.AnswerX در غالب یک نرم افزار و بدون نیاز به سخت افزار خواصی به فروش میرسد و میتواند در ثانیه پاسخ گوی میلیون ها درخواست باشد.

BIG-IP DNS: محصولی از کمپانی F5 Networks که هر دو حالت Authoritative  و Recursive را پشتیبانی میکند و علاوه بر آن یک سری تغییرات برای بالا بردن امنیت برنامه در درونش ایجاد شده است. مزیت اصلی این برنامه استفاده از قابلیت Load Balancing در کنار DDos Protection است.

BIND: برنامه BIND یک برنامه رایگان می باشد . این برنامه یکی از قدیمی ترین برنامه ها در خصوص DNS Server است که بر روی اکثر Platform های لینوکس و یونیکس وجود دارد و می توان گفت در حال حاضر بیشتر DNS Server ها از این برنامه استفاده می کنند. BIND از نظر معماری به سه گروه BIND4, BIND8, و BIND9. BIND4 و BIND8  تقسیم میشود. هر سه ورژن در حال حاضر منسوخ شده اند. آخرین ورژن در حال حاضر BIND9 هست که از صفر دوباره کدنویسی شده که علاوه بر سرعت بالا از ویژگی های مختلفی همچون DNSSEC بهره می برد. کنسرسیوم ISC کار بر روی ورژن جدید BIND رو آغاز کرد و در آپریل 2010  نخستین ورژن 10BIND رو منتشر کرد. این پروژه به دلیل مشکلات مالی در آپریل 2014 و در ورژن بعدی خود (v1.2) متوقف شد ولی پروژه متن باز این برنامه در دسترس می باشد. در حال حاضر آخرین ورژن پایدار از این برنامه یعنی BIND9 در دسترس عموم می باشد.

Cisco Network Registrar: برنامه CNR شامل یک DNS Server تجاری برای سیستم های Cisco است. که معمولا در رابطه با CNR DHCP (Dynamic Host Configuration Protocol) به کار برده می شود. CNR دارای نرخ بالای آپدیت هاست ها می باشد.

Dnsmasq: یک نوع DNS Forwarder کوچک و سبک با امکانات محدود که دارای قابلیت هایی همچون DHCP ، TFTP است. این برنامه در شبکه های کوچک مورد استفاده قرار می گیرد. به عنوان مثال پروژه متن باز OpenWrt (این پروژه در قالب یک پروژه متن باز امکان نصب انواع پکیج های کاربردی در حوزه شبکه را برای دستگاه هایی همچون Router ها Access Point ها فراهم می کند.) از Dnsmasq به عنوان برنامه پیش فرض DNS خود استفاده می کند. Dnsmasq درخواست هایی که به سمت اش می آید را در قالب Local Cache ای که از فایل /etc/hosts می خواند پاسخ می دهد و اگر رکوردی پیدا نشد به عنوان یک Forwarder عمل کرده و در خواست ها را به سمت یک سرور recursive DNS  فوروارد می کند.

djbdns: شامل مجموعه ای از ابزارهای DNS است که از این مجموعه می توان به tinydns اشاره کرد که در سال 2004 به عنوان دومین برنامه رایگان پر برکاربرد در خصوص سرویس DNS شناخته شده است. این برنامه توسط فردی آمریکایی به نام Daniel J. Bernstein که خالق qmail نیز می باشد و با تاکید بر ملاحظات امنیتی طراحی شده است. در سال 2009، Bernstein مبلغ 1000 دلار به شخصی که حفره امنیتی در djbdns پیدا کرده بود پرداخت کرد. Source Code این برنامه در سال 2007 منتشر شد و بعد از آن در سال 2009 سه پروژه دیگر و هزاران Patch و ویژگی های جدید به djbdns اضافه شد.

Knot DNS: یک برنامه رایگان از نوع authoritative DNS که توسط انجمن CZ.NIC طراحی شده است. Knot DNS یک برنامه سریع و قابل انعطاف از نظر ساختاری است که علاوه بر استفاده هاستینگ ها به عنوان DNS Server در هاست های زیرساخت root مثل K, L و TLD مورد استفاده قرار می گیرد. Knot DNSاز استاندارد DNSSEC نیز پشتیبانی می کند.

MaraDNS: یک برنامه رایگان که توسط فردی به اسم Sam Trenholme طراحی شده. این برنامه برای اعمال تغییر هر کدام از رکوردهای DNS نیاز به ریستارت سرویس خود داره.2.0 MaraDNS مانند djbdns ، dnscache به عنوان یک recursive DNS عمل می کند.

Microsoft DNS: این DNS Server از هر دو پروتوکل authoritative, recursive و حالت hybrid (حالت ترکیبی) پشتیبانی میکند. این برنامه با Active Directory ادغام شده و به عنوان DNS Server پیشفرض خیلی از شبکه ها تجاری که بر اساس اکتیودایرکتوری طراحی شده اند کار می کند. این برنامه در قالب یک role در ویندوز سرور کار می کند. با این برنامه می شود Zone فایل های متعددی ساخت. رابط کاربری این برنامه به صورت Powershell و dnscmd (مثل cmd ویندوز) و هم به صورت گرافیکی قابل تنظیم است. در نسخه 2012 ویندوز سرور پروتوکل های DNSSEC ، Dynamic DNS  و NSEC3 با قابلیت پشتیبانی از رمزنگاری RSASHA در قالب امضای دیجیتالی ECDSA گنجانده شده است. قابلیت تنظیمات DNS در محیط GUI ،PowerShell نسخه 2016 ویندوز سرور ارتقا یافته و قابلیت مدیریتی و تخصیص حق دسترسی متفاوت برای هر کدام از admin های شبکه در آن فراهم شده است.

NSD: یک برنامه رایگان از نوع authoritative DNS است که توسط NLNet طراحی شده. NSD در حقیقت سرویسی برای تحقیق و توسعه پروتوکل DNSSEC بوده و خیلی از ویژگی های جدید این پروتوکل بر اساس کدهای NSD نوشته شده است. NSD در حال حاضر میزبان خیلی از TLD ها است و سه تا از DNS Server های root هم از آن استفاده می کنند.

pdnsd: یک نوع Caching DNS Proxy بوده که تمام رکوردهای DNS را در حافظه Local اش ذخیره می کند و از این رو سرعت بسیار بالای در پاسخ دهی درخواست ها داشته و می تواند در شبکه هایی که سرعت اینترنت پایین و یا unstable دارند مفید باشد. pdnsd در اجرای درخواست ها به عنوان authoritative DNS دارای محدودیت هایی است. این برنامه تحت لایسنس GPL می باشد.

Posadis: برنامه رایگانی است که با زبان C++ نوشته شده و از این رو بسیار سبک و سریع اجرا می شود. این برنامه از قابلیت Dynamic DNS پشتیبانی می کند.

PowerDNS: برنامه رایگانی با قابلیت Load Balancing و داشتن انواع روش های ذخیره سازی اطلاعات می باشد. این برنامه هر دو حالت Authoritative  و Recursive را در قالب برنامه هایی مجزا فراهم می کند.

Secure64 DNS: برنامه تجاری از نوع Recursive از کمپانی Secure64 که در ساخت سیستم عامل ها و برنامه های DNS Server فعالیت می کنند. این برنامه از پروتوکل DNSSEC به صورت کامل و کارایی پشتیبانی می کند. برنامه DNS Cache این کمپانی یک برنامه توسعه پذیر از نوع  recursive DNS  که قابلیت محافظت از انواع حملات DDos مانند PRSD را در خود دارد.

Simple DNS Plus: یک برنامه DNS Server برای مقاصد تجاری است که از یک رابط گرافیکی استفاده می کند و بر روی بستر ویندوز اجرا میشود. پشتیبانی و آپدیت برای این برنامه توسط شرکت سازنده در سال ها ی اخیرکم شده است.

Unbound: یک سرور DNS از نوع Recursive با قابلیت Caching که برای مقاصدی با کارایی بالا طراحی شده است. در 20 مِی 2008 نسخه اول این برنامه تحت لایسنس BSD توسط کمپانی NLnet Labs به صورت رایگان منتشر شد. در نسخه 10.0 سیستم عامل FreeBSD و نسخه 8.0 سیستم عامل NetBSD و همچنین نسخه 5.6  به بعد OpenBSD این برنامه به صورت پیش فرض بر روی این سیستم عامل ها قرار دارد. (ورژن های قبلی FreeBSD با برنامه BIND ارائه میشود)

YADIFA: تحت لایسنس BSD و با عنوان برنامه موثر در زمینه بهبود حافظه رم مطرح می باشد. این برنامه به زبان برنامه نویس C پیاده سازی و توسط EURid که کار ثبت دامنه های اروپایی .eu را بر عهده دارد طراحی شده است.

سازن هاست ارائه دهنده خدمات ثبت دامنه و هاست وردپرس در ایران

برچسب ها
نمایش بیشتر

نوشته های مشابه

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید

بستن
دکمه بازگشت به بالا
error: !!! امکان کپی وجود نداره
بستن
بستن