محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

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

در مقاله قبلی در خصوص 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 را منتقل کنید .

نویسنده : محمد نصیری

منبع : جزیره لینوکس و متن باز وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

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

نظرات