OPNsense KEA DHCP Settings

This role configures general KEA DHCPv4 settings in OPNsense via the REST API.

Overview

This role configures general KEA DHCPv4 settings in OPNsense via the REST API. It configures listening interfaces, DHCP lease time, and other settings.

What This Role Does

  1. Fetches current KEA DHCPv4 configuration via /api/kea/dhcpv4/get

  2. Compares current settings with the desired state (enabled flag, listening interfaces, lease lifetime, firewall rules flag, socket type)

  3. If settings differ: updates via /api/kea/dhcpv4/set

  4. If updated: reconfigures KEA service via /api/kea/service/reconfigure

  5. Displays status: whether settings were updated or already up to date

Role Variables

VariableDescription
vault_opnsense_bjoffrey_user_api_keyOPNsense API key (from vault)
vault_opnsense_bjoffrey_user_api_secretOPNsense API secret (from vault)
opnsense_kea_dhcp_settings_generalGeneral KEA DHCP configuration

Settings structure:

opnsense_kea_dhcp_settings_general:
  enabled: "1"              # Enable KEA DHCP
  interfaces:               # Interfaces to serve DHCP (use opt codes)
    - opt1                  # VLAN10Management
    - opt2                  # VLAN12Servers
  valid_lifetime: "21600"   # Lease time in seconds (6 hours default)
  fwrules: "1"              # Auto-create firewall rules for DHCP
  dhcp_socket_type: "raw"   # raw or udp

Interface codes:

CodeInterface
opt1VLAN10Management
opt2VLAN12Servers
opt3VLAN14Desktops
opt4VLAN16WifiTrusted
opt5VLAN18WifiGuest
opt6VLAN20WifiCCTV
opt7VLAN22EthernetGuest

Notes

  • Run this role before opnsense_kea_dhcp_subnets and opnsense_kea_dhcp_reservations
  • fwrules: "1" automatically creates OPNsense firewall rules to allow DHCP traffic