FreeRADIUS - Dynamic Clients

  • The preferred option to define RADIUS clients in RADIUSdesk makes use of the dynamic_clients module.
  • This module engage the dynamic-clients site to load the clients as they make contact with the server provided that their shared secret is correct.
  • See the cofing of dynamic-clients
dynamic-clients
client dymamic {
        ipaddr = 0.0.0.0/0
        dynamic_clients = dynamic_clients
        lifetime = 3600
}
 
 
server dynamic_clients {
	authorize {
 
        if ("%{sql: SELECT nasname FROM nas WHERE nasname = '%{Packet-Src-IP-Address}'}") {
			    update control {
 
                    FreeRADIUS-Client-IP-Address    = "%{Packet-Src-IP-Address}"
				    FreeRADIUS-Client-Shortname     = "%{sql: SELECT shortname FROM nas WHERE nasname = '%{Packet-Src-IP-Address}'}"
				    FreeRADIUS-Client-Secret        = "%{sql: SELECT secret FROM nas WHERE nasname = '%{Packet-Src-IP-Address}'}"
				    FreeRADIUS-Client-NAS-Type      = "%{sql: SELECT type FROM nas WHERE nasname = '%{Packet-Src-IP-Address}'}"
				    FreeRADIUS-Client-Require-MA    = no
 
			    }
    		}
		else{
			update control {
 
				#--RADIUSdesk : Change secret to something more secure. This is server wide--#
				FreeRADIUS-Client-Secret            = "testing123"
				FreeRADIUS-Client-IP-Address        = "%{Packet-Src-IP-Address}"
				FreeRADIUS-Client-Require-MA        = no
				FreeRADIUS-Client-Shortname         = "%{Packet-Src-IP-Address}"
				FreeRADIUS-Client-NAS-Type          = "other"
#				FreeRADIUS-Client-Virtual-Server    = "radiusdesk-plain"
				FreeRADIUS-Client-Virtual-Server    = "default"
 
			}
		}
		ok
 
	}
}
  • technical/fr-dynamic.txt
  • Last modified: 2024/05/14 09:44
  • by system