Kea DHCP چیست؟

Kea یک سرور DHCP متن‌باز است که توسط کنسرسیوم سیستم‌های اینترنت (ISC) که به نام DHCPd نیز شناخته می‌شود، توسعه یافته است. Kea و ISC DHCP هر دو پیاده‌سازی پروتکل پیکربندی Dynamic Host هستند، مجموعه‌ای از استانداردهای ایجاد شده توسط گروه ویژه مهندسی اینترنت (IETF).نرم افزار Kea به صورت سورس کد در GitHub، از سایت‌های مختلف ISC و از طریق تعدادی بسته سیستم عامل توزیع می‌شود.توزیع Kea شامل سرور DHCPv4، سرور DHCPv6 و سرور دینامیک DNS (DDNS) است.
 


چرا Kea را انتخاب کنید؟

ISC  دو توزیع سرور DHCP با ویژگی‌های کامل، متن‌باز و مبتنی بر استاندارد را با نامهای Kea DHCP و ISC DHCP توزیع می‌کند. Kea  شامل تمام ویژگی‌های درخواستی ، بسیار جدیدتر و برای یک محیط شبکه مدرن‌تر طراحی شده است.  ISC  پایان عمر(EOL) سیستم ISC DHCP قدیمی را در سال 2022 اعلام کرد. 

 

سرور Kea DHCP چه تفاوتی با ISC DHCP قدیمی دارد؟

  • طراحی اجزای ماژولار، قابل توسعه با ماژول‌های قلاب (Hook)

 توزیع Kea شامل دیمن‌های جداگانه برای یک سرور  DHCPv4، یک سرور DHCPv6 و یک ماژول DNS  داینامیک(DDNS) است. بسیاری از ویژگی‌های اختیاری با Hooks Modules با بارگذاری داینامیک فعال می‌شوند، که فقط در صورت استفاده از آن‌ها باید اجرا شوند. می‌توانید ماژول‌های هوک خود را بنویسید (زبان C++) یا برخی از هوک‌های ارائه‌شده ما را امتحان کنید.

  • پیکربندی مجدد آنلاین با REST API 

 Keaاز یک فایل پیکربندی JSON استفاده می‌کند که می‌تواند به صورت ریموت از طریق دستورات set ویرایش شده و بدون توقف و ریستارت سرور ریلود شود، عملیاتی که با ISC DHCP ممکن است مدت زیادی طول بکشد.

  • طراحی شده برای ادغام با سیستم‌‌های موجود

Kea  به شما امکان می‌دهد داده‌ها را از محیط اجرا جدا نموده و گزینه‌های جدید استقرار را فعال می‌کند. داده‌های شبکه (اجاره‌ها(leases)، تعاریف رزرو میزبان، و بیشتر داده‌های پیکربندی) را می‌توان جدا از خود سرور DHCP، با استفاده از بک‌اند  Kea قرار داد.

  • داشبورد گرافیکی مبتنی بر وب 

یک داشبورد گرافیکی برای مانیتور بر چندین سرور Kea دارد. این سیستم که Stork نام دارد، از عوامل مستقر در سرورهای Kea برای انتقال اطلاعات به یک پلتفرم مدیریت متمرکز استفاده می‌کند و به administrator یک دید سریع و آسان از وضعیت و فعالیت سیستم ارائه می‌دهد.

 

Kea از دو دیتابیس backend پشتیبانی می‌کند MySQL و PostgreSQL انتخاب کنید تا اجاره‌ها، رزرو میزبان یا داده‌های پیکربندی مشترک را در یک پایگاه داده جداگانه ذخیره کنید. مزایای این کار عبارتند از:

  • با ذخیره داده‌های حیاتی در یک پایگاه داده جداگانه، آن را راحت‌تر با سایر سیستم های خود – سیستم‌های تامین کننده، IPAMS  و غیره - ادغام کنید.
  • از همان بک‌اند رزرو میزبان‌ها (hosts reservations) برای چندین سرور DHCP استفاده کنید.
  • گزینه های گلوبال را از یک بک‌اند پیکربندی متمرکز مدیریت کنید.
  • به جای یک فایل متنی، استخرهای بزرگ آدرس را در پایگاه داده مدیریت کنید.
vps یک ماشین مجازی کامل است که امکان دسترسی SSH را به آن خواهید داشت.
خرید vps در پنج موقعیت جغرافیایی ایران، ترکیه، هلند، آلمان و آمریکا با قابلیت تحویل آنی در پارسدو فراهم است.

دیمن‌های اصلی Kea متن‌باز هستند و تحت مجوز MPL2.0 به اشتراک گذاشته می‌شوند.  Kea  به صورت آزاد در GitLab ISC  توسعه یافته است و روی اکثر پلتفرم‌های لینوکس و یونیکس و همچنین MacOS اجرا می‌شود. 
ISC همچنین برخی از اکستنشن‌های پریمیوم Kea را ارائه می‌دهد که متن‌باز نیستند و تحت یک لایسنس تجاری مجوز دارند. سه لایه قلاب دارای مجوز تجاری وجود دارد. Premium ، Subscriber  و Enterprise

  • قلاب‌های موجود در بسته Premium عبارتند از: تنظیم DDNS، شناسه‌های انعطاف‌پذیر، ثبت ورود قانونی، و فرمان‌های میزبان. 
  • Subscribers پشتیبانی ISC همه کتابخانه های Premium Hook Kea را دریافت می‌کنند، به علاوه چندین کتابخانه اضافی که در استقرارهای بزرگتر بسیار مفید خواهند بود. قلاب‌های موجود در بسته Subscribers عبارتند از: Client Classification، Configuration Backend، GSS-TSIG، محدودیت‌ها، اجاره نامه، بررسی پینگ، RADIUS و مدیریت ساب‌نت.
  • ویژگی‌های Enterprise برای مشتریان با پشتیبانی نقره یا طلا از ISC محفوظ است. این ردیف بالا ویژگی کنترل دسترسی مبتنی بر نقش را اضافه می‌کند.

 

آشنایی با KEA dhcp


طرح (Design)

تصمیمات اصلی طراحی شما این است که آیا باید به صورت جفتی  (pairs) برای دسترسی بالا و استفاده از فایل csv پیش‌فرض برای داده‌های میزبان و اجاره استفاده نمائید یا یک دیتابیس جداگانه برای یک بک‌اند Kea نصب کنید. برخی از این تصمیمات می توانند عملکرد شما را محدود کنند

نصب و راه اندازی (Installation)

دستورالعمل‌های ساخت و نصب Kea از بسته‌های سورس قابل دانلود موجود است. ISC بسته‌های از پیش ساخته شده را برای RHEL، Fedora، Ubuntu و Debian فراهم می‌کند. اگر از کتابخانه‌های قلاب Kea استفاده می‌کنید، باید آن‌ها را نیز نصب و پیکربندی کنید.

پیکربندی  (Configuration)

راهنمای مرجع Kea Administrator (ARM) مرجع اصلی پیکربندی Kea است. مجموعه گسترده فایل‌های پیکربندی نمونه در مخزن پروژه و پایگاه دانش ممکن است به شما در شروع کار کمک کند. اگر از استقرار ISC DHCP موجود مهاجرت می کنید، دستیار مهاجرت Kea (ویژگی ویژه توزیع ISC DHCP) را امتحان کنید. این به شما امکان می دهد پیکربندی سرور ISC DHCP فعلی خود را به عنوان یک فایل پیکربندی Kea ذخیره کنید. همچنان به تنظیمات دستی نیاز دارد، اما این ابزار باید قسمت عمده پیکربندی شما را ترجمه کند.

نگهداری (Maintenance)

به GitLab پروژه Kea ملحق شوید تا مشکلات را ثبت کنید، ببینید روی چه چیزی کار می‌کنند، وصله‌ها را ارسال و در توسعه شرکت کنید. ممکن است بخواهید در مورد کتابخانه‌های Kea Premium و Subscriber-only، که رابط مدیریت Kea را گسترش می‌دهند، مطالعه کنید. استقرار Stork را برای داشبورد مدیریت گرافیکی در نظر بگیرید. 


داشبورد Stork برای Kea

داشبورد Stork  برای Kea

هم ماشین و هم اپلیکیشن را مانیتور کنید

Stork داده‌های مربوط به سلامت سیستم میزبان Kea و همچنین وضعیت و سطح فعالیت خود Kea را جمع آوری می‌کند. پارامترهای گزارش شده شامل حافظه، استفاده از CPU، نسخه‌های نرم افزار و زمان آپدیت می‌باشد.

نظارت بر استفاده از استخر و در دسترس بودن بالا

Stork استخرهای پیکربندی شده را با # آدرس ارائه شده و اختصاص داده شده نمایش می‌دهد و حتی استفاده از استخر را در شبکه‌های مشترک ردیابی می کند. عناصر گرافیکی مناطقی از کاربرد بالا را هایلایت می‌کنند تا به اپراتور هشدار دهند تا اقدامی انجام دهد.

مدیریت رزرو میزبان

افزودن، به روز رسانی و مشاهده رزرو میزبان DHCPv4 و DHCPv6، با استفاده از یک رابط گرافیکی برای انتخاب شناسه میزبان، اختصاص نام میزبان، رزرو آدرس IP، مرتبط کردن کلاینت کلاس و پیکربندی اطلاعات فایل بوت و گزینه‌های DHCP.

 

ویژگی‌های Kea متن‌باز

توزیع Kea شامل دیمن‌های جداگانه برای یک سرور DHCPv4، یک سرور DHCPv6 و یک ماژول DNS پویا (DDNS) است. همراه با Kea یک کتابخانه پرتابلDHCP  (libdhcp++)، یک عامل کنترلی که رابط مدیریت REST را برای Kea فراهم می‌کند، یک عامل NETCONF که یک رابط YANG/NETCONF، یک ابزار محک DHCP، perfdhcp ارائه می‌دهد. کتابخانه‌های هوک قابل بارگذاری داینامیک که در توزیع متن‌باز دارای مجوز MPL2.0 گنجانده شده‌اند عبارتند از: Bootp، Flexible Options، دسترسی بالا، Lease Commands، اجرای اسکریپت و Stats Command.

  • گزینه‌های تخصیص آدرس (Address assignment)

تخصیص آدرس مستقیم (DHCPv4 و DHCPv6) یا تعیین پیشوند DHCPv6 را با آدرس دهی IP داینامیک و رزرو میزبان استاتیک انتخاب نمائید. یک آدرس از یک مخزن در یک ساب‌نت یا از چندین ساب‌نت در یک شبکه مشترک انتخاب کنید.

  • طبقه بندی کلاینت (Client classification)

دسته بندی دستگاه‌ها بر اساس گزینه‌های vendor class، expressions، رزرو میزبان استاتیک، ساب‌نت‌ها یا شبکه‌های مشترک برای کنترل دسترسی به استخرهای آدرس.

  • کتابخانه گزینه‌های انعطاف پذیر

کتابخانه Flexible Options به شما امکان می دهد مقادیر گزینه‌های سفارشی، مانند نام فایل‌های بوت را بسازید.

  • به روز رسانی داینامیک DNS

نام‌های DNS را به‌طور خودکار با استفاده از ماژول Dynamic DNS جداگانه حفظ و نگهداری کنید.

  • قابل گسترش با کتابخانه‌های قلاب اختیاری (Extendable with optional hook libraries)

قلاب‌های Kea به مدیران این امکان را می‌دهند که تخصیص گزینه‌ها و حتی آدرس‌ها را از سیستم تامین خود کنترل کنند. قلاب‌ها به توسعه دهندگان اجازه می‌دهند اطلاعاتی مانند پارامترهای اجاره (زمان تمدید)، ساب‌نت، آدرس یا گزینه‌هایی که باید تحویل داده شوند را ویرایش کنند.

  • اسکریپت هوک را اجرا کنید

کتابخانه قلاب متن‌باز به شما امکان می‌دهد یک برنامه یا اسکریپت خارجی را در نقاط مختلف پردازش DHCP راه اندازی کنید.

  • پیکربندی مجدد بدون ریستارت

بدون راه اندازی مجدد سرور، ساب‌نت‌ها و استخرها را اضافه کرده و تغییر دهید.

  • حالت دسترسی بالا

حالت دسترسی بالا Kea با استفاده از پیکربندی 50/50 load-balancing یا Active/Standby، انعطاف پذیری را برای DHCPv4 یا DHCPv6 فراهم می‌کند. این ویژگی با کتابخانه هوک HA که بخشی از متن‌باز است پیاده سازی می‌شود.

  • بک‌اند اجاره اختیاری (Optional lease backend)

اجاره‌ها ممکن است در یک memfile لوکال (پیش فرض و گزینه با بالاترین عملکرد) یا در پایگاه داده MySQL یا PostgreSQL نوشته شوند. کتابخانه Lease Commands یک API برای مدیریت رکوردهای اجاره ارائه می‌دهد.

  • داشبورد مدیریت گرافیکی

داشبورد Stork یک سیستم مبتنی بر وب است که اطلاعات حیاتی در مورد در دسترس بودن سرویس، ظرفیت پردازنده و حافظه، استفاده از استخر، وضعیت خرابی و آمار ترافیک DHCP را نمایش می‌دهد. Stork با ذخیره اطلاعات سری زمانی محبوب Prometheus و Grafana ادغام می‌شود. Stork به عنوان متن‌باز از مخزن GitLab ISC یا در یک بسته آماده نصب از Cloudsmith.io در دسترس است.

  • مبتنی بر استاندارد

Kea از استانداردهای IETF DHCPv4 و DHCPv6 پشتیبانی می‌کند و باید به طور یکپارچه با سایر پیاده سازی‌های DHCP سازگار با استانداردها همکاری کند.

  • مستندات جامع

راهنمای مرجع Kea Administrator، راهنمای توسعه‌دهنده Kea و پایگاه دانش، اطلاعات کاملی را برای توسعه‌دهندگان و مدیران ارائه می‌دهد.