# Configuration for DHCP for the SQL based IP Pools module (rlm_sqlippool). # # See raddb/mods-available/sqlippool for common configuration explanation # # See raddb/policy.d/dhcp_sqlippool for the "glue" code that allows # the RADIUS based "sqlippool" module to be used for DHCP. # # See raddb/sites-available/dhcp for instructions on how to configure # the DHCP server. # # The database schemas are available at: # # raddb/mods-config/sql/ippool-dhcp//schema.sql # # $Id$ sqlippool dhcp_sqlippool { # SQL instance to use (from mods-available/sql) # # If you have multiple sql instances, such as "sql sql1 {...}", # use the *instance* name here: sql1. sql_module_instance = "dhcp_sql" # This is duplicative of info available in the SQL module, but # we have to list it here as we do not yet support nested # reference expansions. dialect = "mysql" # Name of the check item attribute to be used as a key in the SQL queries pool_name = "Pool-Name" # SQL table to use for ippool range and lease info ippool_table = "dhcpippool" # The duration for which a lease is reserved whilst under offer offer_duration = 10 # IP lease duration. (Leases expire even if no DHCP-Release packet is received) # Either use the value to be sent to the client or a hard coded one. lease_duration = "%{reply:DHCP-IP-Address-Lease-Time}" #lease_duration = 7200 # The attribute in which the IP address is returned in the reply attribute_name = "DHCP-Your-IP-Address" # Assign the IP address, even if the above attribute already exists in # the reply. # # allow_duplicates = no # The attribute in which an IP address hint may be supplied req_attribute_name = "DHCP-Requested-IP-Address" # # RFC 2132 allows the DHCP client to supply a unique # identifier ("uid") using Option 61 (DHCP-Client-Identifier) # in which case it must be used as the lookup key for # configuration data. # pool_key = "%{%{DHCP-Client-Identifier}:-%{DHCP-Client-Hardware-Address}}" # # The "uid" is generated by the OS which means that clients # whose BMC piggybacks on the main interface (sharing its MAC, # but generating a distinct uid) and dual-booting clients can # be allocated multiple IPs, consuming more pool entries. To # avoid this you can ignore the RFCs and key the configuration # data based only on the client MAC address. # # pool_key = "%{DHCP-Client-Hardware-Address}" ################################################################ # # WARNING: MySQL (MyISAM) has certain limitations that means it can # hand out the same IP address to 2 different users. # # We suggest using an SQL DB with proper transaction # support, such as PostgreSQL, or using MySQL # with InnoDB. # ################################################################ # These messages are added to the "control" items, as # Module-Success-Message. They are not logged anywhere else, # unlike previous versions. If you want to have them logged # to a file, see the "linelog" module, and create an entry # which writes Module-Success-Message message. # messages { exists = "DHCP: Existing IP: %{reply:${..attribute_name}} (cid %{DHCP-Client-Identifier} chaddr %{DHCP-Client-Hardware-Address} giaddr %{DHCP-Gateway-IP-Address})" success = "DHCP: Allocated IP: %{reply:${..attribute_name}} from %{control:${..pool_name}} (cid %{DHCP-Client-Identifier} chaddr %{DHCP-Client-Hardware-Address} giaddr %{DHCP-Gateway-IP-Address})" clear = "DHCP: Released IP %{DHCP-Client-IP-Address} (cid %{DHCP-Client-Identifier} chaddr %{DHCP-Client-Hardware-Address} giaddr %{DHCP-Gateway-IP-Address})" failed = "DHCP: IP Allocation FAILED from %{control:${..pool_name}} (cid %{DHCP-Client-Identifier} chaddr %{DHCP-Client-Hardware-Address} giaddr %{DHCP-Gateway-IP-Address})" nopool = "DHCP: No ${..pool_name} defined (cid %{DHCP-Client-Identifier} chaddr %{DHCP-Client-Hardware-Address} giaddr %{DHCP-Gateway-IP-Address})" } $INCLUDE ${modconfdir}/sql/ippool-dhcp/${dialect}/queries.conf }