diff --git a/net/freeradius/Makefile b/net/freeradius/Makefile
index 1cf9e37c6..a98a82cb3 100644
--- a/net/freeradius/Makefile
+++ b/net/freeradius/Makefile
@@ -1,6 +1,5 @@
PLUGIN_NAME= freeradius
-PLUGIN_VERSION= 1.9.17
-PLUGIN_REVISION= 2
+PLUGIN_VERSION= 1.9.18
PLUGIN_COMMENT= RADIUS Authentication, Authorization and Accounting Server
PLUGIN_DEPENDS= freeradius3
PLUGIN_MAINTAINER= m.muenz@gmail.com
diff --git a/net/freeradius/pkg-descr b/net/freeradius/pkg-descr
index 48d241831..d2006a9d0 100644
--- a/net/freeradius/pkg-descr
+++ b/net/freeradius/pkg-descr
@@ -15,6 +15,10 @@ The server is fast, feature-rich, modular, and scalable.
Plugin Changelog
================
+1.9.18
+
+* Added support for fallback VLAN
+
1.9.17
* Added support for Extreme networks EXOS switch Extreme-Netlogin-Extended-VLAN VSA and policy for GEN2 (contributed by Pasi Suominen)
diff --git a/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/forms/general.xml b/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/forms/general.xml
index 65a8795af..c97af703e 100644
--- a/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/forms/general.xml
+++ b/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/forms/general.xml
@@ -11,6 +11,20 @@
checkbox
This allows you to dynamically assign VLANs on your physical switch ports.
+
+ general.fallbackvlan_enabled
+
+ checkbox
+ true
+ This allows you to define a fallback VLAN-Group-ID. Warning: Setting this option will send an accepted RADIUS reply even if the authentication attempt fails.
+
+
+ general.fallbackvlan_id
+
+ text
+ true
+ Define the Fallback VLAN group ID.
+
general.ldap_enabled
diff --git a/net/freeradius/src/opnsense/mvc/app/models/OPNsense/Freeradius/General.xml b/net/freeradius/src/opnsense/mvc/app/models/OPNsense/Freeradius/General.xml
index be78892af..a0aa11792 100644
--- a/net/freeradius/src/opnsense/mvc/app/models/OPNsense/Freeradius/General.xml
+++ b/net/freeradius/src/opnsense/mvc/app/models/OPNsense/Freeradius/General.xml
@@ -1,7 +1,7 @@
//OPNsense/freeradius/general
FreeRADIUS configuration
- 1.0.1
+ 1.0.2
0
@@ -11,6 +11,28 @@
0
N
+
+ 0
+ Y
+
+
+ fallbackvlan_id.check001
+
+
+
+
+ 1
+ 4096
+
+
+ You need to set a propper VLAN ID.
+ DependConstraint
+
+ fallbackvlan_enabled
+
+
+
+
0
N
diff --git a/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/users b/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/users
index 3d1f99e6a..a7c46550e 100644
--- a/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/users
+++ b/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/users
@@ -98,4 +98,12 @@ DEFAULT Hint == "CSLIP"
DEFAULT Hint == "SLIP"
Framed-Protocol = SLIP
+{% if helpers.exists('OPNsense.freeradius.general.fallbackvlan_enabled') and OPNsense.freeradius.general.fallbackvlan_enabled == '1' %}
+
+DEFAULT Auth-Type := Accept
+ Tunnel-Type = VLAN,
+ Tunnel-Medium-Type = IEEE-802,
+ Tunnel-Private-Group-Id = {{ OPNsense.freeradius.general.fallbackvlan_id }},
+ Framed-Protocol = PPP
+{% endif %}
{% endif %}