معرفی کامل DNS سرور قدرتمند PowerDNS

سلام به همه علاقه مندان به لینوکس به ویژه مخاطبین جزیره لینوکس توسینسو ، در مقاله قبلی در خصوص DNS سرور محبوب BIND در لینوکس صحبت کردیم و نوبتی هم باشد امروز نوبت به معرفی یکی از قدرتمند ترین DNS سرورهای دنیا یعنی PowerDNS است که طبق معمول وقتی صحبت از قدرت می شود یعنی این سرویس بر پایه و بستر Linux طراحی و پیاده سازی شده است . PowerDNS با استفاده از زبان برنامه نویسی C++ نوشته شده است و اگر با لایسنس های Open Source آشنایی داشته باشید این DNS سرور تحت لیسانس GPL ارائه می شود ، قبلا بصورت مفصل در خصوص لایسنس ها در جزیره لینوکس صحبت کرده ایم. PowerDNS تقریبا بر روی تمامی هم خانواده های Unix و لینوکس قابل نصب و استفاده است و جالب است بدانید که امکان نصب و استفاده از آن در ویندوز هم وجود دارد.

DNS سرورهای لینوکسی


یکی از مهمترین ویژگی های این DNS سرور ساختار ماژولار و جداگانه هر سرویسی است که مورد نیاز است ، برای مثال سرویس Recursion یا Recursive DNS به عنوان یک برنامه جداگانه ارائه می شود . PowerDNS می تواند به سادگی یک DNS سرور معمولی باشد و ظاهری ساده مثل فایل های متنی BIND داشته باشد یا اینکه به جای استفاده از فایل های متنی از پایگاه داده های متنوعی مثل MSSQL و MySQL و ... استفاده کند ، از قابلیت های Load Balancing و Failover و همچنین الگوریتم های اختصاصی اینکار در PowerDNS نیز می توانیم به عنوان ابزار قدرت این DNS سرور نام ببریم.


PowerDNS در ابتدا یک محصول شرکتی بود اما در نوامبر 2002 سورس کدهای این محصول بصورت عمومی منتشر شد تا تحت لیسانس GPL v2 ادامه فعالیت بدهد. سرور اصلی PowerDNS یک هسته اصلی ( تکی ) Single core دارد که سایر قابلیت ها بصورت ماژول یا الحاقیات یا وصله ( یا هر کوفتی که اسمشو بزارید خوب Backend رو من چی ترجمه کنم اه ) به هسته اصلی متصل می شونند . هسته اصلی وظیفه پردازش تمامی درخواست های DNS را بر عهده دارد و با اضافه شدن یک یا چند Backend امکان اضافه شدن سرویس های رکوردهای DNS نیز وجود دارد ، جالب است بدانید که روش های ذخیره سازی رکورد متنوعی در PowerDNS وجود دارد و حتی ماژول هایی برای تبدیل کردن رکوردها از سایر DNS سرورها به این DNS سرور نیز وجود دارند و می توانند با استفاده از فرآیند Zone Transfer کلیه اطلاعات Zone های سایر DNS سرورها اعم از مایکروسافتی و لینوکسی و ... را تبدیل به اطلاعات پایگاه داده هایی مثل MySQL کنند و در خود نگه دارند.

امکانات متنوعی در خصوص Caching برای PowerDNS در نظر گرفته شده است تا سرعت پردازش ها و پاسخ به کاربران را افزایش بدهد. دستوری به نام pdns__control وجود دارد که به شما امکانReload کردن هر Zone بصورت مجزا ، پاک کردن Cache بصورت جداگانه ، اطلاع رسانی در خصوص Zone ها و خروجی گرفتن از اطلاعات توسط Dump ها را می دهد ، همچنین امکان دریافت گراف ترافیکی را نیز به شما می دهد. PowerDNS یک وب سرور built-In (در خود تعبیه شده ، خدای ترجمم من) دارد که امکان دریافت اطلاعات از DNS سرور بصورت Real-time را می دهد.

PowerDNS چیست


جالب است بدانید که پروژه های بسیاری وجود دارند که PowerDNS را با خودشان هماهنگ کرده اند و یک رابط گرافیکی برای مدیریت این DNS سرور ایجاد کرده اند برای مثال پروژه های PowerAdmin ، PDNSOps ، Power DNS On Rail و JPower Admin از جمله این پروژه ها هستند ، اگر با CMS ها یا سیستم های مدیریت محتوای وب آشنایی داشته باشید به ویژه دروپال ، بهتر است بدانید که با استفاده از ماژول PowerAdmin دروپال شما می توانید PowerDNS را با دروپال یکپارچه کنید. PowerDNS را می توان یکی از سردمداران پیاده سازی DNSSEC در دنیا دانست. هرچند برای پیاده سازی این مورد هنوز راه طولانی باقی مانده است.

PowerDNS چیست


در ادامه به نکاتی خلاصه ولی مفید در خصوص PowerDNS می پردازیم : PowerDNS برای اولین بار به بهترین شکل معنی Load Balancing سرور DNS بصورت جغرافیایی را طراحی و پیاده سازی کرد ، اهداف اصلی PowerDNS سرعت ، ماژولار بودن و امنیت است ، جالب است بدانید که در مقایسه با میزان خط های کد نوشته شده برای DNS سرور BIND که تقریبا 500 هزار خط است ، PowerDNS حداکثر 40 هزار خط کد دارد و این یکی از دلایل سرعت زیاد آن است . PowerDNS بر روی انواع نسخه های سیستم عامل BSD اعم از FreeBSD ، NetBSD و OpenBSD نصب و اجرا می شود. سرویس Global Load Balancing وب سایت Wikipedia با PowerDNS پیاده سازی شده است.

در حال حاضر بیشتر از 10 میلیون دومین از سرویس های PowerDNS بصورت مستقیم استفاده می کنند. پروتکل DNS بصورت کامل توسط PowerDNS پشتیبانی می شود و از طرفی انواع رکوردهای معمول و غیرمعمول ( SPF ، DKIM ، NAPTR ، SRV و ... ) پشتیبانی می شوند . قابلیت Replication بین DNS سرورها بصورت Master و Slave بصورت Real-time و با استفاده از LDAP و دیتابیس های MySQL و MSSQL و ... وجود دارد . امکان Cache کردن کل بسته برای بالا بردن کارایی سرور وجود دارد . تقریبا از هر چیزی می توانید به درون PowerDNS اطلاعات Zone و DNS را منتقل کنید .

نویسنده : محمد نصیری
منبع : جزیره لینوکس و متن باز وب سایت توسینسو
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است
#بهترین_dns_سرور_لینوکسی #راه_اندازی_dns_سرور_عمومی #dns_سرورهای_لینوکسی #معرفی_powerdns #مقایسه_dns_سرورها #امکانات_powerdns #مقایسه_bind_و_powerdns #powerdns_چیست #bind_چیست
5 نظر
Linuxi
از powerdns تو کریو کنترل هم استفاده شده؟؟
محمد نصیری
ایده ای ندارم ، جایی در موردش نخوندم
ali.wm
سلام
استاد نصیری واقعا فکر میکنم جای یک آموزش مفصل درباره DNS خالی باشه اینجا یا شاید من پیدا نکردم
ولی DNS چیزی هست که متاسفانه خیلی گسترده است و هر قسمتش در یکی از دوره ها گفته میشه
قسمتی ازش در ماکروسافت قسمتی ازش در لینوکس و ...
ولی واقعا اگر بشه یک دوره جامع درباره دی ان اس و ماژول هاش و DSN server ها گذاشته بشه خیلی خوبه
ممنون ازتون
niceboy
سلام
وقت بخیر
این سرویس بهتر از سرویس Dns مایکروسافت هست ک جایگزین دی ان اس سرور دامین کنترلر کنیم ؟
محمد نصیری
اگر سرویستون مایکروسافتی هست مثل اکتیودایرکتوری خیر بهتر نیست
نظر شما
برای ارسال نظر باید وارد شوید.
تنظیمات حریم خصوصی
تائید صرفنظر

امروز ارزان تر از فردا در جشنواره تخفیف ها

با بهترین ها یاد بگیرید