Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
docker_notes:docker-dhcp [2024-12-14 Sat wk50 19:42] – [main dhcp4] baumkpdocker_notes:docker-dhcp [2025-01-27 Mon wk05 14:19] (current) – [References] baumkp
Line 5: Line 5:
 ISC also has a project for a simple GUI interface primarily for Kea and basic for Bind9.  There is apparently no Alpine package yet for Stork. ISC also has a project for a simple GUI interface primarily for Kea and basic for Bind9.  There is apparently no Alpine package yet for Stork.
  
-ISC-Kea seems to be provided in a number of packages +=====History===== 
-^ Package                   ^ Descriptiion                                                                                                                                                            ^ Comment                                    +The article by Lee Hutchinson [[https://arstechnica.com/information-technology/2024/10/finally-upgrading-from-isc-dhcp-server-to-isc-kea-for-my-homelab/|Finally upgrading from isc-dhcp-server to isc-kea for my homelab]] was written after I made my upgrade to Kea.  He wrote an a much earlier article on [[https://blog.bigdinosaur.org/running-bind9-and-isc-dhcp/|running BIND9 and ISC_DHCP]] in his blog, which I found referenced in [[https://arstechnica.com/gadgets/2016/04/the-ars-guide-to-building-a-linux-router-from-scratch/|The Ars guide to building a Linux router from scratch]]. It looks like he updated this [[https://arstechnica.com/information-technology/2024/02/doing-dns-and-dhcp-for-your-lan-the-old-way-the-way-that-works/|Doing DNS and DHCP for your LAN the old way—the way that works]] with a semi related part 2 [[https://arstechnica.com/information-technology/2024/03/banish-oem-self-signed-certs-forever-and-roll-your-own-private-letsencrypt/|Banish OEM self-signed certs forever and roll your own private LetsEncrypt]].  In my earlier implementation of my router [[https://wiki.kptree.net/doku.php?id=linux_router:dns_dhcp|DHCP and DNS]] that was written on "bare metal I did follow Lee's notes on DDNS between ISC-DHCP and BIND9.  I never particularly like the DDNS between ISC DHCP and BIND9 for the following reasons: 
-| isc-kea                   | ISC Kea metapackage                                                                                                                                                     | This installs everything.                  +  *I makes the BIND9 file messy.  The DDNS entries are all over the place in the zone files with different timetolife headers all over the place too. 
-| isc-kea-admin             | This package provides backend database initialization and migration scripts and a DHCP benchmark tool. If you are not using a database backend, you may not need this.  | Not using a database backend at this time  | +  *One had to take greater care to freeze Bind9 when adjusting zone files as DHCP could be writing to it. With Bind in a Docker container, I just restart the container after adjusting the zone file. 
-| isc-kea-common            | Common libraries for the ISC Kea DHCP server. Install this.                                                                                                             | Need this.                                 | +  *I just static IPv4 addresses for my main home server services and manually define the domain names in the Bind zone files where required.  The dynamically defined DNS is simply not important for me. 
-| isc-kea-ctrl-agent        | This package provides the REST API service agent for Kea DHCP.                                                                                                          | ?                                          | +  *Other less critical non-server addresses that I want a constant LAN IP I define as static in Kea. 
-| isc-kea-dev               | Development headers for ISC Kea DHCP server. Install if you plan to create any custom Kea hooks.                                                                        | Probably do not need.                      | +  *Whilst I expect DDNS certainly has some benefits the use of simple setup of back up of DNS and DHCP is much more beneficially to me.  I run my main home server and NAS and a separate router service focused server. Both of these run Kea and Bind in Docker containers in back-up mode.  If I fiddle with either machine the other provides reliable backup DHCP and DNS. This is much more beneficial to me than DDNS.  If DHCP or DNS are unavailable on my home network it can be very confusing, difficult, time consuming and frustrating to make it work again.  Backup DHCP and DNS on my home server system is simply so much more beneficial than DDNS. 
-| isc-kea-dhcp4-server      | DHCPv4 server. (''isc-kea-dhcp4'' for Alpine)                                                                                                                           | Need this.                                 | + 
-| isc-kea-dhcp6-server      | DHCPv6 server. (''isc-kea-dhcp6'' for Alpine)                                                                                                                           | Do not need at this time.                  | +There are more references on building a home router and related here: [[https://wiki.kptree.net/doku.php?id=linux_router:dns_dhcp#main_references_used_2017|Main references used]], sadly some of these already suffer from link rot even though the information was still relevant. 
-| isc-kea-dhcp-ddns         | DDNS server.                                                                                                                                                            | Need this.                                 | + 
-| isc-kea-doc               | Kea documentation. Highly recommended. Example documents are located here ''/usr/share/doc/kea/examples/''                                                              | On a Docker container?                     | +=====Kea Packages and Hooks===== 
-| isc-kea-hook-flex-option  | Flexible Options hook.                                                                                                                                                  | What is this?                              | +ISC-Kea seems to be provided in a number of [[https://kb.isc.org/docs/isc-kea-packages|packages]] 
-| isc-kea-hook-ha           | High Availability hook.                                                                                                                                                 | What is this?                              | +^ Package  ^ Use   ^ Descriptiion   ^ Comment   
-| isc-kea-hook-lease-cmds   | Lease Commands hook.                                                                                                                                                    | What is this?                              | +| isc-kea                 |  | ISC Kea metapackage                                                                                                                                                     | This installs everything                   
-| isc-kea-hook-mysql-cb     | MySQL Configuration Backend.                                                                                                                                            | Dont need this at this time.               | +| isc-kea-admin         |      | This package provides backend database initialization and migration scripts and a DHCP benchmark tool. If you are not using a database backend, you may not need this.  | Not using a database backend at this time  | 
-| isc-kea-hook-pgsql-cb     | PostgreSQL Configuration Backend.                                                                                                                                       | Dont need this.                            | +| isc-kea-common         X    | Common libraries for the ISC Kea DHCP server. Install this.                                                                                                             | Need this.                                 | 
-| isc-kea-hook-stat-cmds    | Statistics Commands hook.                                                                                                                                               | ?                                          | +| isc-kea-ctrl-agent       X  | This package provides the REST API service agent for Kea DHCP.                                                                                                          | ?                                          | 
-| isc-kea-http              | This package is essential, install it.                                                                                                                                  | It is essential...                         | +| isc-kea-dev                | Development headers for ISC Kea DHCP server. Install if you plan to create any custom Kea hooks.                                                                        | Probably do not need.                      | 
-| isc-kea-perfdhcp          | Optional. Includes a DHCP performance testing tool from ISC.                                                                                                            | ?                                          | +| isc-kea-dhcp4-server |  X     | DHCPv4 server. (''isc-kea-dhcp4'' for Alpine)                                                                                                                           | Need this.                                 | 
-| isc-kea-shell             | Text client for Kea DHCP Control Agent.                                                                                                                                 | ?                                          |+| isc-kea-dhcp6-server   |     | DHCPv6 server. (''isc-kea-dhcp6'' for Alpine)                                                                                                                           | Do not need at this time.                  | 
 +| isc-kea-dhcp-ddns          | DDNS server.                                                                                                                                                            | Need this.                                 | 
 +| isc-kea-doc                | Kea documentation. Highly recommended. Example documents are located here ''/usr/share/doc/kea/examples/''                                                              | On a Docker container?                     | 
 +| isc-kea-hook-flex-option |     | Flexible Options hook.                                                                                                                                                  | What is this?                              | 
 +| isc-kea-hook-ha         X   | High Availability hook.                                                                                                                                                 | What is this?                              | 
 +| isc-kea-hook-lease-cmds |  X  | Lease Commands hook.                                                                                                                                                    | What is this?                              | 
 +| isc-kea-hook-mysql-cb      | MySQL Configuration Backend.                                                                                                                                            | Dont need this at this time.               | 
 +| isc-kea-hook-pgsql-cb   |    | PostgreSQL Configuration Backend.                                                                                                                                       | Dont need this.                            | 
 +| isc-kea-hook-stat-cmds     | Statistics Commands hook.                                                                                                                                               | ?                                          | 
 +| isc-kea-http               | This package is essential, install it.                                                                                                                                  | It is essential...                         | 
 +| isc-kea-perfdhcp     |       | Optional. Includes a DHCP performance testing tool from ISC.                                                                                                            | ?                                          | 
 +| isc-kea-shell         |     | Text client for Kea DHCP Control Agent.                                                                                                                                 | ?                                          | 
 + 
 +See [[https://kea.readthedocs.io/en/latest/arm/hooks.html#available-hook-libraries|16.4. Available Hook Libraries]] for the available hook libraries.  I have removed the hook reference from the above table that I do not use.
  
   *[[https://kb.isc.org/docs/kea-configuration-sections-explained|Kea configuration sections explained]]   *[[https://kb.isc.org/docs/kea-configuration-sections-explained|Kea configuration sections explained]]
Line 96: Line 109:
     *[[https://web-wilke.de/install-and-run-kea-dhcp-with-stork-on-debian-11/|Install and run KEA DHCP with Stork on Debian 11]]     *[[https://web-wilke.de/install-and-run-kea-dhcp-with-stork-on-debian-11/|Install and run KEA DHCP with Stork on Debian 11]]
     *[[https://github.com/JonasAlfredsson/docker-kea| JonasAlfredsson / docker-kea ]]     *[[https://github.com/JonasAlfredsson/docker-kea| JonasAlfredsson / docker-kea ]]
-Kea read the docs ''%%https://kea.readthedocs.io/en/latest/arm/intro.html%%'' [[https://kea.readthedocs.io/en/latest/arm/intro.html|Intro]] give the latest docs and the into states which version this is.  A specific version can be found by changing the ''latest'' in the html path to the Kea version required, e.g. as of writing the current verion I am using is 2.6.1, so '%%https://kea.readthedocs.io/en/2.6.1/arm/intro.html%%'' [[https://kea.readthedocs.io/en/2.6.1/arm/intro.html|Intro]]+    *[[https://www.henrydu.com/2020/09/15/kea-dhcp-webinar-01/|Kea dhcp webinar 01]]  [[https://www.youtube.com/watch?v=zr8kGTcJ5WY|Youtube Webinar]] 
 +Kea read the docs [[https://kea.readthedocs.io/en/latest/arm/intro.html|Intro]] give the latest docs and the into states which version this is.  A specific version can be found by changing the ''latest'' in the html path to the Kea version required, e.g. as of writing the current verion I am using is 2.6.1, so '%%https://kea.readthedocs.io/en/2.6.1/arm/intro.html%%'' [[https://kea.readthedocs.io/en/2.6.1/arm/intro.html|Intro]]
  
 <- docker_notes:docker-dns|Back ^ docker_notes:index|Start page ^ docker_notes:vpn|Next -> <- docker_notes:docker-dns|Back ^ docker_notes:index|Start page ^ docker_notes:vpn|Next ->