IP Allocation FAILED : Best practice for inserting new IPs into mysql

Sophie Loewenthal sophie.loewenthal at trimbletl.com
Fri Nov 6 21:52:13 CET 2015


Hi again!

 >Why are you using...instead of the one that is commented out?
I inherited this implementation from a team that had left before I 
arrived. There has been some customisation for integration with our 
inhouse application, but for now I've not finished the puzzle!  I had 
not touched Radius before.

This was last edited in 2013,
-rw-r----- 1 root radiusd  6330 Oct 10  2013 ippool.conf

All users are authenticating correctly, and most received an IP.

However, a minority were allocated a free IP by radius, but the GGSN 
rejected them because another of our devices had had this allocated 
earlier. But I see no match in radipool for this, but I did see an 
accounting record in radacct containing a start time but no stop time 
dated a week earlier.  Very strange.

Message from GGSN that Vodafone kindly found :
Disconnect Reason: conflict-in-ip-addr-assignment

Kind regards,
Sophie

On 11/6/2015 9:10 PM, Rod Elias wrote:
> Hi there!
>
> I read your ippool.conf file.
> I don't know if there's something related, but did you change that file?
>
> Why are you using
>
>   allocate-find = "SELECT framedipaddress FROM ${ippool_table} \
>    WHERE pool_name = '%{control:Pool-Name}' \
>    AND username = '%{User-Name}' LIMIT 1"
>
>
> instead of the one that is commented out?
>
>
> # allocate-find = "SELECT framedipaddress FROM ${ippool_table} \
> #  WHERE pool_name = '%{control:Pool-Name}' \
> #  AND expiry_time IS NULL \
> #  ORDER BY RAND() \
> #  LIMIT 1 \
> #  FOR UPDATE"
>
>
> If it helps, check it out the contents of my ippool.conf here: https://gist.github.com/anonymous/ca4e6e6c4f1503441802
> I'm using radius version 2.2.2
> In my case, I prefer not to allocate a random IP address every time.
>
> Despite that problem, are your users authenticating (ie. receiving dynamic IP) normally?
>
> Thanks!
>
>
> ----- Mensagem original -----
> De: "Sophie Loewenthal" <sophie.loewenthal at trimbletl.com>
> Para: "FreeRadius users mailing list" <freeradius-users at lists.freeradius.org>
> Enviadas: Sexta-feira, 6 de Novembro de 2015 16:57:12
> Assunto: Re: IP Allocation FAILED : Best practice for inserting new IPs into mysql
>
> Hi Rob,
>
>       Please find file attached in full and a comments stripped version
> below.  Radius version is 2.1.12-1.
>
> Kind regards,
> Sophie
>
> freeradius-mysql-2.1.12-1.el6.x86_64
> freeradius-utils-2.1.12-1.el6.x86_64
> freeradius-2.1.12-1.el6.x86_64
>
> grep -v ^# ./sql/mysql/ippool.conf |grep -v ^$
> allocate-clear = "UPDATE ${ippool_table} /* allocate-clear */ \
>    SET nasipaddress = '', pool_key = 0, \
>    callingstationid = '', calledstationid = '', \
>    expiry_time = NULL, 3GPP_Imsi = '' \
>    WHERE pool_key = '${pool-key}'"
>    allocate-find = "SELECT framedipaddress FROM ${ippool_table} \
>     WHERE pool_name = '%{control:Pool-Name}' \
>     AND username = '%{User-Name}' LIMIT 1"
> pool-check = "SELECT id FROM ${ippool_table} /* pool-check */ \
>    WHERE pool_name='%{control:Pool-Name}' LIMIT 1"
> allocate-update = "UPDATE ${ippool_table} /* allocate-update */ \
>    SET nasipaddress = '%{NAS-IP-Address}', pool_key = '${pool-key}', \
>    callingstationid = '%{Calling-Station-Id}', \
>    expiry_time = NOW() + INTERVAL ${lease-duration} SECOND, \
>    3GPP_Imsi = '%{3GPP-IMSI}', calledstationid = '%{Called-Station-Id}' \
>    WHERE framedipaddress = '%I' AND username = '%{User-Name}'"
> start-update = "UPDATE ${ippool_table} /* start-update */ \
>    SET expiry_time = NOW() + INTERVAL ${lease-duration} SECOND \
>    WHERE nasipaddress = '%{NAS-IP-Address}' AND  pool_key = '${pool-key}' \
>    AND username = '%{User-Name}' \
>    AND callingstationid = '%{Calling-Station-Id}' \
>    AND framedipaddress = '%{Framed-IP-Address}'"
> stop-clear = "UPDATE ${ippool_table} /* stop-clear */ \
>    SET nasipaddress = '', pool_key = 0, callingstationid = '', \
>    expiry_time = NULL, 3GPP_Imsi = '', calledstationid = '' \
>    WHERE nasipaddress = '%{Nas-IP-Address}' AND pool_key = '${pool-key}' \
>    AND username = '%{User-Name}' \
>    AND callingstationid = '%{Calling-Station-Id}' \
>    AND framedipaddress = '%{Framed-IP-Address}'"
> alive-update = "UPDATE ${ippool_table} /* alive-update */ \
>    SET expiry_time = NOW() + INTERVAL ${lease-duration} SECOND \
>    WHERE nasipaddress = '%{Nas-IP-Address}' AND pool_key = '${pool-key}' \
>    AND username = '%{User-Name}' \
>    AND callingstationid = '%{Calling-Station-Id}' \
>    AND framedipaddress = '%{Framed-IP-Address}'"
> on-clear = "UPDATE ${ippool_table} /* on-clear */ \
>    SET nasipaddress = '', pool_key = 0, callingstationid = '', \
>    expiry_time = NULL, 3GPP_Imsi = '', calledstationid = '' \
>    WHERE nasipaddress = '%{Nas-IP-Address}'"
> off-clear = "UPDATE ${ippool_table} /* off-clear */ \
>    SET nasipaddress = '', pool_key = 0, callingstationid = '', \
>    expiry_time = NULL, 3GPP_Imsi = '', calledstationid = '' \
>    WHERE nasipaddress = '%{Nas-IP-Address}'"
>
>
>
> On 11/6/2015 7:32 PM, Rod Elias wrote:
>> Hi again!
>>
>> Which radius version are you using?
>>
>>
>> Also, could you please post your ippool.conf file?
>>
>> Thanks!
>>
>>
>> ----- Mensagem original -----
>> De: "Sophie Loewenthal" <sophie.loewenthal at trimbletl.com>
>> Para: "FreeRadius users mailing list" <freeradius-users at lists.freeradius.org>
>> Enviadas: Sexta-feira, 6 de Novembro de 2015 12:55:43
>> Assunto: Re: IP Allocation FAILED : Best practice for inserting new IPs into mysql
>>
>> Hi Rod,
>>
>>        Yes this really did help me. Thanks for the idea for checking and
>> alerting via cron ( maybe put into Zabbix )
>>
>> Interestingly this has not run out of space. So I don't know why I see
>> messages like "[sqlippool] pool appears to be full"
>>
>> +-------------------+--------+-----------+
>> | pool_name         | total  | allocated |
>> +-------------------+--------+-----------+
>> | proximus-carli    | 130047 |      2767 |
>> | proximus-mechelen | 130047 |         1 |
>> | vodafone          |  32510 |     23192 |
>> | vodafone-m2m      | 130048 |      NULL |
>> +-------------------+--------+-----------+
>>
>>
>> Kind regards,
>> Sophie
>>
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
>



More information about the Freeradius-Users mailing list