diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml b/src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml
index cb20b2548..595cb67ce 100644
--- a/src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml
+++ b/src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml
@@ -17,6 +17,13 @@
textbox
List of pools, one per line in range or subnet format (e.g. 192.168.0.100 - 192.168.0.200 , 192.0.2.64/26
+
+ subnet4.match-client-id
+
+ checkbox
+ By default KEA uses client-identifiers in stead of MAC addresses to locate clients, disabling this option
+ changes back to matching on MAC address which is used by most dhcp implementations.
+
header
diff --git a/src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.php b/src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.php
index 67c0bf64a..45fa55cab 100644
--- a/src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.php
+++ b/src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.php
@@ -142,6 +142,7 @@ class KeaDhcpv4 extends BaseModel
'id' => $subnet_id++,
'subnet' => (string)$subnet->subnet,
'next-server' => (string)$subnet->next_server,
+ 'match-client-id'=> !empty((string)$subnet->{'match-client-id'}),
'option-data' => [],
'pools' => [],
'reservations' => []
diff --git a/src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml b/src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
index 33269e7dd..5d94d576d 100644
--- a/src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+++ b/src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
@@ -1,6 +1,6 @@
//OPNsense/Kea/dhcp4
- 1.0.2
+ 1.0.3
Kea DHCPv4 configuration
@@ -102,6 +102,10 @@
/^([^\n"])*$/u
+
+ 1
+ Y
+