Finalmente actualicé de isc-dhcp-server a isc-kea para mi laboratorio doméstico

Finalmente actualicé de isc-dhcp-server a isc-kea para mi laboratorio doméstico

Desglosada de esa manera, la migración no parecía terriblemente aterradora, y se hizo más fácil por el hecho de que los archivos de configuración predeterminados de Kea vienen llenos de comentarios descriptivos y ejemplos de configuración para aprovechar. (Y, nuevamente, ISC ha hecho un pendiente Trabajo con los médicos de Kea. Todas las versiones, desde las obsoletas hasta las más modernas, tienen documentación en línea exhaustiva y extensa

si tiene curiosidad sobre qué hace una opción determinada o dónde aplicarla y, como se indicó anteriormente, también se incluyen los archivos de configuración de muestra proporcionados para separar si desea ejemplos más detallados).

Tiempo de configuración para DHCP

Tenemos dos aplicaciones Kea para configurar, así que primero haremos DHCP y luego pasaremos al lado DDNS. (Aunque el archivo de configuración DHCP también contiene un montón de elementos DDNS, supongo que si somos pedantes, configuraremos ambos a la vez).

El primer archivo a editar, si instaló Kea a través del administrador de paquetes, es /etc/kea/kea-dhcp4.conf. El archivo ya debería tener algunos valores predeterminados razonablemente sensatos, y vale la pena tomarse un momento para revisar los comentarios y ver cuáles son esos valores predeterminados y qué significan.

Aquí hay una versión ligeramente desinfectada de mi trabajo. kea-dhcp4.conf archivo:

{
  "Dhcp4": {
    "control-socket": {
      "socket-type": "unix",
      "socket-name": "/tmp/kea4-ctrl-socket"
    },
    "interfaces-config": {
      "interfaces": ["eth0"],
      "dhcp-socket-type": "raw"
    },
    "dhcp-ddns": {
      "enable-updates":  true
    },
    "ddns-conflict-resolution-mode": "no-check-with-dhcid",
    "ddns-override-client-update": true,
    "ddns-override-no-update": true,
    "ddns-qualifying-suffix": "bigdinosaur.lan",
    "authoritative": true,
    "valid-lifetime": 86400,
    "renew-timer": 43200,
    "expired-leases-processing": {
      "reclaim-timer-wait-time": 3600,
      "hold-reclaimed-time": 3600,
      "max-reclaim-leases": 0,
      "max-reclaim-time": 0
    },
    "loggers": [
    {
      "name": "kea-dhcp4",
      "output_options": [
        {
          "output": "syslog",
          "pattern": "%-5p %m\n",
          "maxsize": 1048576,
          "maxver": 8
        }
      ],
      "severity": "INFO",
      "debuglevel": 0
      }
    ],
    "reservations-global": false,
    "reservations-in-subnet": true,
    "reservations-out-of-pool": true,
    "host-reservation-identifiers": [
      "hw-address"
    ],
    "subnet4": [
      {
        "id": 1,
        "subnet": "10.10.10.0/24",
        "pools": [
          {
            "pool": "10.10.10.170 - 10.10.10.254"
          }
        ],
        "option-data": [
          {
            "name": "subnet-mask",
            "data": "255.255.255.0"
          },
          {
            "name": "routers",
            "data": "10.10.10.1"
          },
          {
            "name": "broadcast-address",
            "data": "10.10.10.255"
          },
          {
            "name": "domain-name-servers",
            "data": "10.10.10.53"
          },
          {
            "name": "domain-name",
            "data": "bigdinosaur.lan"
          }
        ],
        "reservations": [
          {
            "hostname": "host1.bigdinosaur.lan",
            "hw-address": "aa:bb:cc:dd:ee:ff",
            "ip-address": "10.10.10.100"
          },
          {
            "hostname": "host2.bigdinosaur.lan",
            "hw-address": "ff:ee:dd:cc:bb:aa",
            "ip-address": "10.10.10.101"
          }
        ]
      }
    ]
  }
} 

Las primeras estrofas configuran el socket de control en el que el proceso DHCP escucha los comandos de la API de administración (no vamos a configurar la herramienta de administración, lo cual es excesivo para un laboratorio doméstico, pero esto garantizará que el socket exista si alguna vez decide hacerlo). ir en esa dirección). También configuraron la interfaz en la que Kea escucha las solicitudes de DHCP y le dicen a Kea que escuche esas solicitudes en modo de socket sin formato. Es casi seguro que quieres raw como su tipo de socket DHCP (ver aquí por qué), pero esto también se puede configurar en udp si es necesario.