Hi Ivan, Many thanks for your suggestion. However, (using 2.1.3) my sqlippool.conf file is now: sqlippool { ######################################### ## SQL instance to use (from sql.conf) ## ######################################### sql-instance-name = "sql" Pool-Name = %{control:Huntgroup-Name} ## SQL table to use for ippool range and lease info ippool_table = "radippool" ## IP lease duration. (Leases expire even if Acct Stop packet is lost) lease-duration = 3600 ## Attribute which should be considered unique per NAS ## Using NAS-Port gives behaviour similar to rlm_ippool. (And ACS) ## Using Calling-Station-Id works for NAS that send fixed NAS-Port ## ONLY change this if you know what you are doing! # pool-key = "%{NAS-Port}" pool-key = "%{Calling-Station-Id}-%{control:Huntgroup-Name}" # "%{request:Huntgroup-Name}" $INCLUDE sql/mysql/ippool.conf ## Logging configuration. (Comment out to disable logging) sqlippool_log_exists = "Existing IP: %{reply:Framed-IP-Address} (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name})" sqlippool_log_success = "Allocated IP: %{reply:Framed-IP-Address} from %{control:Pool-Name} (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name})" sqlippool_log_clear = "Released IP %{Framed-IP-Address} (did %{Called-Station-Id} cli %{Calling-Station-Id} user %{User-Name})" sqlippool_log_failed = "IP Allocation FAILED from %{control:Pool-Name} (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name})" sqlippool_log_nopool = "No Pool-Name defined (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name} hunt %{Huntgroup-Name} pool %{Pool-Name})" } When running with debugging on, I get: ..... Wed Feb 18 14:21:03 2009 : Debug: (Loaded rlm_sqlippool, checking if it's valid) Wed Feb 18 14:21:03 2009 : Debug: Module: Linked to module rlm_sqlippool Wed Feb 18 14:21:03 2009 : Debug: Module: Instantiating sqlippool Wed Feb 18 14:21:03 2009 : Debug: sqlippool { Wed Feb 18 14:21:03 2009 : Debug: sql-instance-name = "sql" Wed Feb 18 14:21:03 2009 : Debug: lease-duration = 3600 Wed Feb 18 14:21:03 2009 : Debug: pool-name = "%{control:Huntgroup-Name}" Wed Feb 18 14:21:03 2009 : Debug: allocate-begin = "START TRANSACTION" Wed Feb 18 14:21:03 2009 : Debug: allocate-clear = "UPDATE radippool SET expiry_time = NOW() WHERE callingstationid = '%{Calling-Station-Id}' AND pool_name = '%{control:Pool-Name}'" Wed Feb 18 14:21:03 2009 : Debug: allocate-find = "SELECT framedipaddress FROM radippool WHERE pool_name = '%{control:Pool-Name}' AND callingstationid = '%{Calling-Station-Id}' LIMIT 1 FOR UPDATE" Wed Feb 18 14:21:03 2009 : Debug: allocate-update = "UPDATE radippool SET nasipaddress = '%{NAS-IP-Address}', username = '%{User-Name}' WHERE framedipaddress = '%I'" Wed Feb 18 14:21:03 2009 : Debug: allocate-commit = "COMMIT" Wed Feb 18 14:21:03 2009 : Debug: allocate-rollback = "ROLLBACK" Wed Feb 18 14:21:03 2009 : Debug: pool-check = "" Wed Feb 18 14:21:03 2009 : Debug: start-begin = "START TRANSACTION" Wed Feb 18 14:21:03 2009 : Debug: start-update = "UPDATE radippool SET expiry_time = NOW() + INTERVAL 3600 SECOND WHERE nasipaddress = '%{NAS-IP-Address}' AND pool_key = '%{Calling-Station-Id}-%{control:Huntgroup-Name}'" Wed Feb 18 14:21:03 2009 : Debug: start-commit = "COMMIT" Wed Feb 18 14:21:03 2009 : Debug: start-rollback = "ROLLBACK" Wed Feb 18 14:21:03 2009 : Debug: alive-begin = "START TRANSACTION" Wed Feb 18 14:21:03 2009 : Debug: alive-update = "UPDATE radippool SET expiry_time = NOW() + INTERVAL 3600 SECOND WHERE nasipaddress = '%{Nas-IP-Address}' AND pool_key = '%{Calling-Station-Id}-%{control:Huntgroup-Name}' AND username = '%{User-Name}' AND callingstationid = '%{Calling-Station-Id}' AND framedipaddress = '%{Framed-IP-Address}'" Wed Feb 18 14:21:03 2009 : Debug: alive-commit = "COMMIT" Wed Feb 18 14:21:03 2009 : Debug: alive-rollback = "ROLLBACK" Wed Feb 18 14:21:03 2009 : Debug: stop-begin = "START TRANSACTION" Wed Feb 18 14:21:03 2009 : Debug: stop-clear = "UPDATE radippool SET nasipaddress = '', pool_key = 0, callingstationid = '', username = '', expiry_time IS NULL WHERE nasipaddress = '%{Nas-IP-Address}' AND pool_key = '%{Calling-Station-Id}-%{control:Huntgroup-Name}' AND username = '%{User-Name}' AND callingstationid = '%{Calling-Station-Id}' AND framedipaddress = '%{Framed-IP-Address}'" Wed Feb 18 14:21:03 2009 : Debug: stop-commit = "COMMIT" Wed Feb 18 14:21:03 2009 : Debug: stop-rollback = "ROLLBACK" Wed Feb 18 14:21:03 2009 : Debug: on-begin = "START TRANSACTION" Wed Feb 18 14:21:03 2009 : Debug: on-clear = "UPDATE radippool SET nasipaddress = '', pool_key = 0, callingstationid = '', username = '', expiry_time IS NULL WHERE nasipaddress = '%{Nas-IP-Address}'" Wed Feb 18 14:21:03 2009 : Debug: on-commit = "COMMIT" Wed Feb 18 14:21:03 2009 : Debug: on-rollback = "ROLLBACK" Wed Feb 18 14:21:03 2009 : Debug: off-begin = "START TRANSACTION" Wed Feb 18 14:21:03 2009 : Debug: off-clear = "UPDATE radippool SET nasipaddress = '', pool_key = 0, callingstationid = '', username = '', expiry_time IS NULL WHERE nasipaddress = '%{Nas-IP-Address}'" Wed Feb 18 14:21:03 2009 : Debug: off-commit = "COMMIT" Wed Feb 18 14:21:03 2009 : Debug: off-rollback = "ROLLBACK" Wed Feb 18 14:21:03 2009 : Debug: sqlippool_log_exists = "Existing IP: %{reply:Framed-IP-Address} (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name})" Wed Feb 18 14:21:03 2009 : Debug: sqlippool_log_success = "Allocated IP: %{reply:Framed-IP-Address} from %{control:Pool-Name} (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name})" Wed Feb 18 14:21:03 2009 : Debug: sqlippool_log_clear = "Released IP %{Framed-IP-Address} (did %{Called-Station-Id} cli %{Calling-Station-Id} user %{User-Name})" Wed Feb 18 14:21:03 2009 : Debug: sqlippool_log_failed = "IP Allocation FAILED from %{control:Pool-Name} (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name})" Wed Feb 18 14:21:03 2009 : Debug: sqlippool_log_nopool = "No Pool-Name defined (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name} hunt %{Huntgroup-Name} pool %{Pool-Name})" Wed Feb 18 14:21:03 2009 : Debug: defaultpool = "main_pool" Wed Feb 18 14:21:03 2009 : Debug: } ..... Wed Feb 18 14:21:17 2009 : Auth: Login OK: [searthrowl/Anything-you-like] (from client localhost port 12345 cli 447XXXXXXXX) Wed Feb 18 14:21:17 2009 : Info: +- entering group post-auth {...} Wed Feb 18 14:21:17 2009 : *Info: [sqlippool] No Pool-Name defined.* Wed Feb 18 14:21:17 2009 : Info: [sqlippool] expand: No Pool-Name defined (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name} hunt %{Huntgroup-Name} pool %{Pool-Name}) -> No Pool-Name defined (did domain.co.uk cli 447XXXXXXX port 12345 user searthrowl hunt domain.co.ukA pool ) Wed Feb 18 14:21:17 2009 : Info: No Pool-Name defined (did domain.co.uk cli 447XXXXXX port 12345 user searthrowl hunt domain.co.ukA pool ) Wed Feb 18 14:21:17 2009 : Info: ++[sqlippool] returns noop Any thoughts? Kind regards Simon tnt@kalik.net wrote:
What I would love to do is set up Huntgroups (OK so that bit works too!) and then in the sqlippool.conf just assign pool-name = %{Huntgroup-Name}
This doesn't work, and all I get is pool-name is undefined.
Does anyone have any ideas?
%{control:Huntgroup-Name}
Ivan Kalik Kalik Informatika ISP
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html