diff --git a/src/opnsense/mvc/app/models/OPNsense/Unbound/FieldTypes/UnboundServerField.php b/src/opnsense/mvc/app/models/OPNsense/Unbound/FieldTypes/UnboundServerField.php
new file mode 100644
index 000000000..84bb4d759
--- /dev/null
+++ b/src/opnsense/mvc/app/models/OPNsense/Unbound/FieldTypes/UnboundServerField.php
@@ -0,0 +1,68 @@
+ function ($value) {
+ $parts = explode("@", $value);
+ if (count($parts) == 2 && (!Util::isIpAddress($parts[0]) || !Util::isPort($parts[1]))) {
+ return [gettext("A valid IP address and port must be specified, for example 192.168.100.10@5353.")];
+ } elseif (count($parts) != 2 && !Util::isIpAddress($value)) {
+ return [gettext("A valid IP address must be specified, for example 192.168.100.10.")];
+ }
+ return [];
+ }
+ ]);
+ return $validators;
+ }
+}
diff --git a/src/opnsense/mvc/app/models/OPNsense/Unbound/Unbound.xml b/src/opnsense/mvc/app/models/OPNsense/Unbound/Unbound.xml
index 3f758b564..26f9bd25f 100644
--- a/src/opnsense/mvc/app/models/OPNsense/Unbound/Unbound.xml
+++ b/src/opnsense/mvc/app/models/OPNsense/Unbound/Unbound.xml
@@ -225,7 +225,7 @@
/^(?:(?:[a-z0-9]|[a-z0-9][a-z0-9\-]*[a-z0-9])\.)*(?:[a-z0-9]|[a-z0-9][a-z0-9\-]*[a-z0-9])$/i
A valid domain must be specified.
-
+
Y