FreeRADIUS - Dynamic Clients

Introduction

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
 
	}
}