2026-05-30 16:25:46 -04:00
{
"client_requirement" : "client_is_administrator+" ,
"items" : [
{
"type" : "header_page_title" ,
"items" : [
{
"type" : "h1" ,
"text" : "RADIUS"
} ,
{
"type" : "p" ,
"text" : "FreeRADIUS server configuration and shared secret."
}
]
} ,
2026-06-05 13:11:26 -04:00
{
"type" : "info_bar" ,
"variant" : "info" ,
"text" : "%RADIUS_CLIENT_STATUS_TEXT%"
} ,
2026-05-30 16:25:46 -04:00
{
"type" : "card" ,
"label" : "Shared Secret" ,
"client_requirement" : "client_is_administrator+" ,
"items" : [
{
"type" : "p" ,
"text" : "Enter this secret in your access point or wireless controller as the RADIUS shared secret. It authenticates your APs to this router's RADIUS server."
} ,
{
"type" : "pre_block" ,
"text" : "%RADIUS_SECRET%"
} ,
{
"type" : "p" ,
"text" : "Use this router's IP address on the AP's VLAN as the RADIUS server address. Authentication port: 1812. Accounting port: 1813."
2026-05-30 16:30:50 -04:00
} ,
{
"type" : "button_row" ,
"items" : [
{
"type" : "button_danger" ,
"action" : "/action/radius/regenerate" ,
"method" : "post" ,
"text" : "Regenerate"
}
]
2026-05-30 16:25:46 -04:00
}
]
2026-06-01 12:58:06 -04:00
} ,
{
"type" : "card" ,
"label" : "Options" ,
"client_requirement" : "client_is_administrator+" ,
"items" : [
{
"type" : "form" ,
"action" : "/action/radius/options_save" ,
"method" : "post" ,
"items" : [
{
"type" : "field" ,
"label" : "MAC Address Format" ,
"name" : "mac_format" ,
"input_type" : "select" ,
"value" : "%RADIUS_MAC_FORMAT%" ,
"options" : [
{ "value" : "aabbccddeeff" , "label" : "aabbccddeeff" } ,
{ "value" : "aa-bb-cc-dd-ee-ff" , "label" : "aa-bb-cc-dd-ee-ff" } ,
{ "value" : "aa:bb:cc:dd:ee:ff" , "label" : "aa:bb:cc:dd:ee:ff" } ,
{ "value" : "AABBCCDDEEFF" , "label" : "AABBCCDDEEFF" } ,
{ "value" : "AA-BB-CC-DD-EE-FF" , "label" : "AA-BB-CC-DD-EE-FF" } ,
{ "value" : "AA:BB:CC:DD:EE:FF" , "label" : "AA:BB:CC:DD:EE:FF" }
] ,
2026-06-01 13:34:07 -04:00
"hint" : "Must match your AP/controller's expected format."
2026-06-01 12:58:06 -04:00
} ,
2026-06-05 02:43:17 -04:00
{
"type" : "button_row" ,
"items" : [
{
"type" : "button_primary" ,
"action" : "/action/radius/options_save" ,
"method" : "post" ,
"text" : "Save"
2026-06-05 12:34:38 -04:00
} ,
{
"type" : "button_cancel" ,
"text" : "Cancel"
2026-06-05 02:43:17 -04:00
}
]
}
]
}
]
} ,
{
"type" : "card" ,
2026-06-05 12:57:03 -04:00
"label" : "Fallback VLAN" ,
2026-06-05 02:43:17 -04:00
"client_requirement" : "client_is_administrator+" ,
"items" : [
2026-06-05 02:56:00 -04:00
{
"type" : "p" ,
2026-06-05 12:57:03 -04:00
"text" : "Unknown or unregistered devices are assigned to this VLAN. For wired switch ports, also set the fallback network in your managed switch's configuration."
2026-06-05 02:56:00 -04:00
} ,
{
"type" : "hr"
} ,
2026-06-05 02:43:17 -04:00
{
"type" : "form" ,
2026-06-05 12:57:03 -04:00
"action" : "/action/radius/default_vlan_save" ,
2026-06-05 02:43:17 -04:00
"method" : "post" ,
"items" : [
2026-06-01 12:58:06 -04:00
{
"type" : "field" ,
2026-06-05 12:57:03 -04:00
"label" : "Fallback VLAN" ,
"name" : "default_vlan" ,
2026-06-01 12:58:06 -04:00
"input_type" : "select" ,
2026-06-05 12:57:03 -04:00
"value" : "%RADIUS_DEFAULT_VLAN%" ,
"options" : "%RADIUS_DEFAULT_VLAN_OPTIONS%" ,
"hint" : "Devices not in the RADIUS user list will be placed on this VLAN."
2026-06-01 12:58:06 -04:00
} ,
2026-06-01 13:29:07 -04:00
{
"type" : "button_row" ,
"items" : [
{
"type" : "button_primary" ,
"text" : "Save"
2026-06-05 12:34:38 -04:00
} ,
{
"type" : "button_cancel" ,
"text" : "Cancel"
2026-06-01 13:29:07 -04:00
}
2026-06-04 15:33:41 -04:00
]
}
]
}
]
} ,
{
"type" : "card" ,
2026-06-05 12:57:03 -04:00
"label" : "DEFAULT Rule Scope" ,
2026-06-04 15:33:41 -04:00
"client_requirement" : "client_is_administrator+" ,
"items" : [
{
"type" : "p" ,
2026-06-05 12:57:03 -04:00
"text" : "The DEFAULT Rule only applies to unknown devices (those without a DHCP reservation/authorization)."
2026-06-04 15:33:41 -04:00
} ,
2026-06-05 02:23:08 -04:00
{
"type" : "hr"
} ,
2026-06-04 15:33:41 -04:00
{
"type" : "form" ,
2026-06-05 12:57:03 -04:00
"action" : "/action/radius/default_rule_save" ,
2026-06-04 15:33:41 -04:00
"method" : "post" ,
"items" : [
{
"type" : "field" ,
2026-06-05 12:57:03 -04:00
"label" : "Which RADIUS Clients (authenticators) may apply the DEFAULT rule to unknown devices?" ,
"name" : "apply_to" ,
2026-06-04 15:33:41 -04:00
"input_type" : "select" ,
2026-06-05 12:57:03 -04:00
"value" : "%RADIUS_APPLY_TO%" ,
"options" : [
{ "value" : "all" , "label" : "All authenticators" } ,
{ "value" : "wireless" , "label" : "Wireless authenticators only (NAS-Port-Type = Wireless-802.11)" } ,
{ "value" : "huntgroup" , "label" : "Wireless authenticators only (AP huntgroup by IP)" }
] ,
"hint" : "_"
} ,
{
"type" : "field" ,
"label" : "Which of the following authenticators are Wireless Access Points that you wish to add to the huntgroup?" ,
"name" : "ap_ips" ,
"input_type" : "checkbox_group" ,
"options" : "%RADIUS_AP_IPS_OPTIONS%" ,
"value" : "%RADIUS_AP_IPS%" ,
"hint" : "These authenticators are defined on the DHCP Reservations page by denoting a device (such as a managed switch or wireless access point) as a \"RADIUS Client\"."
2026-06-04 15:33:41 -04:00
} ,
{
"type" : "button_row" ,
"items" : [
{
"type" : "button_primary" ,
2026-06-05 12:57:03 -04:00
"action" : "/action/radius/default_rule_save" ,
"method" : "post" ,
2026-06-04 15:33:41 -04:00
"text" : "Save"
2026-06-05 12:34:38 -04:00
} ,
{
"type" : "button_cancel" ,
"text" : "Cancel"
2026-06-04 15:33:41 -04:00
}
]
}
]
}
]
} ,
{
"type" : "card" ,
"label" : "EAP Settings" ,
"client_requirement" : "client_is_administrator+" ,
"items" : [
{
"type" : "p" ,
"text" : "These settings are required for MAC-based 802.1X authentication on managed switches."
} ,
2026-06-05 02:23:08 -04:00
{
"type" : "hr"
} ,
2026-06-04 15:33:41 -04:00
{
"type" : "form" ,
"action" : "/action/radius/eap_save" ,
"method" : "post" ,
"items" : [
{
"type" : "field" ,
"label" : "" ,
"name" : "allow_weak_eap" ,
"input_type" : "checkbox" ,
"checkbox_label" : "Allow weak EAP types" ,
"value" : "%RADIUS_ALLOW_WEAK_EAP%" ,
"hint" : "Enables EAP-MD5. Required for switch port MAC-based 802.1X authentication."
} ,
{
"type" : "field" ,
"label" : "" ,
"name" : "tunneled_reply" ,
"input_type" : "checkbox" ,
"checkbox_label" : "Use tunneled reply (EAP-TTLS / EAP-PEAP)" ,
"value" : "%RADIUS_TUNNELED_REPLY%" ,
"hint" : "Sets use_tunneled_reply = yes in EAP-TTLS and EAP-PEAP modules. Required for switch MAC authentication."
} ,
{
"type" : "button_row" ,
"items" : [
{
"type" : "button_primary" ,
"text" : "Save"
2026-06-05 12:34:38 -04:00
} ,
{
"type" : "button_cancel" ,
"text" : "Cancel"
2026-06-04 15:33:41 -04:00
}
2026-06-01 13:29:07 -04:00
]
}
]
}
]
} ,
{
"type" : "card" ,
"label" : "Logging" ,
"client_requirement" : "client_is_administrator+" ,
"items" : [
2026-06-01 13:34:07 -04:00
{
"type" : "form" ,
"action" : "/action/radius/logging_save" ,
"method" : "post" ,
"items" : [
{
"type" : "field" ,
"label" : "" ,
"name" : "logging" ,
"input_type" : "checkbox" ,
"checkbox_label" : "Log auth requests" ,
"value" : "%RADIUS_LOGGING%" ,
2026-06-03 01:32:13 -04:00
"hint" : "%RADIUS_LOGGING_HINT%"
2026-06-01 13:40:35 -04:00
} ,
2026-06-01 13:29:07 -04:00
{
2026-06-01 13:40:35 -04:00
"type" : "hr"
2026-06-01 13:29:07 -04:00
} ,
{
2026-06-01 13:40:35 -04:00
"type" : "pre_block" ,
"text" : "%RADIUS_LOG_TAIL%" ,
"scroll_to_bottom" : true
} ,
{
"type" : "raw_html" ,
"html" : "%RADIUS_LOG_SUMMARY%"
} ,
2026-06-01 22:12:11 -04:00
{
"type" : "button_row" ,
"items" : [
{
"type" : "button_ghost" ,
"action" : "/action/radius/logging_download" ,
"text" : "Download Log"
}
]
} ,
2026-06-01 13:40:35 -04:00
{
"type" : "hr"
} ,
2026-06-01 13:29:07 -04:00
{
"type" : "field" ,
"label" : "Max Log Size (KB)" ,
"name" : "log_max_kb" ,
"input_type" : "number" ,
"layout" : "inline" ,
"value" : "%RADIUS_GEN_LOG_MAX_KB%" ,
"min" : "64" ,
2026-06-03 01:32:13 -04:00
"hint" : "Log will automatically be cleared when it reaches this size."
2026-06-01 12:58:06 -04:00
} ,
{
"type" : "button_row" ,
"items" : [
{
"type" : "button_primary" ,
"text" : "Save"
2026-06-01 13:40:35 -04:00
} ,
{
"type" : "button_cancel" ,
"text" : "Cancel"
2026-06-01 12:58:06 -04:00
}
]
}
]
}
]
2026-05-30 16:25:46 -04:00
}
]
}