OPNsense KEA DHCP Settings

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

Ansible DHCP Kea OPNsense REST API VLAN YAML

OPNsense KEA DHCP Settings Role

Overview

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

Purpose

  • Enable/Disable: Control KEA DHCP service
  • Interface Selection: Choose which interfaces serve DHCP
  • Lease Time: Configure default lease duration
  • Firewall Rules: Auto-create firewall rules for DHCP

Requirements

  • Ansible 2.9 or higher
  • OPNsense firewall with API access enabled
  • os-kea plugin installed
  • API key with KEA permissions

Role Variables

Configuration Structure

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

Interface Codes

CodeInterface
opt1VLAN10Management
opt2VLAN12Servers
opt3VLAN14Desktops
opt4VLAN16WifiTrusted
opt5VLAN18WifiGuest
opt6VLAN20WifiCCTV
opt7VLAN22EthernetGuest
wanWAN
opt8WG0

Example Playbook

---
- name: Configure KEA DHCP Settings
  hosts: mint-vm
  gather_facts: false

  vars_files:
    - ../../roles/opnsense_kea_dhcp_settings/vars/settings.yml

  tasks:
    - name: Configure KEA DHCP settings
      ansible.builtin.include_role:
        name: opnsense_kea_dhcp_settings

API Endpoints

  • GET /api/kea/dhcpv4/get - Fetch settings
  • POST /api/kea/dhcpv4/set - Update settings
  • POST /api/kea/service/reconfigure - Apply changes

License

MIT