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
| Code | Interface |
|---|---|
opt1 | VLAN10Management |
opt2 | VLAN12Servers |
opt3 | VLAN14Desktops |
opt4 | VLAN16WifiTrusted |
opt5 | VLAN18WifiGuest |
opt6 | VLAN20WifiCCTV |
opt7 | VLAN22EthernetGuest |
wan | WAN |
opt8 | WG0 |
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 settingsPOST /api/kea/dhcpv4/set- Update settingsPOST /api/kea/service/reconfigure- Apply changes
License
MIT