On Mon, 24 May 2004, Alexander Lunyov wrote:

> Hello freeradius-users,
>
>   I have a problem with rlm_ippool - it's not deallocating ip's from
>   pool, and i think i'm somewhat close to its solution, but i want to
>   do all things right, that's why i'm here again.
>
>   FreeBSD 4.8R-p14, freeradius-0.9.3 with cvs version of rlm_ippool
>   (* Version:  $Id: rlm_ippool.c,v 1.20.2.2 2003/10/09 01:05:17 phampson Exp $)
>
>   When radiusd receives request from NAS, like this
>
>         Calling-Station-Id = "0:50:ba:c1:3:38"
>         Called-Station-Id = "pppoe"
>         Service-Type = Framed-User
>         User-Name = "lan"
>         Framed-Protocol = PPP
>         MS-CHAP-Challenge = xxxxxxxxxxxxxxxxxxxxxx
>         MS-CHAP2-Response = xxxxxxxxxxxxxxxxxxxxxx
>         NAS-Identifier = "zeus.startatom.ru"
>         NAS-Port-Type = Ethernet
>         NAS-Port = 1984
>
>   rlm_ippool allocates ip address and writes this entry in his db
>   under two keys, NAS address and NAS port:
>
> rlm_ippool: Searching for an entry for nas/port: zeus.startatom.ru/1984
> rlm_ippool: Allocating ip to nas/port: zeus.startatom.ru/1984
> rlm_ippool: num: 1
> rlm_ippool: Allocated ip 192.168.253.207 to client on nas zeus.startatom.ru,port 1984
>   modcall[post-auth]: module "legal_pool" returns ok for request 0
>
>   Then, when this client disconnects, rlm_ippool somehow turning
>   NAS-Identifier to direct ip address instead of FQDN. This is Stop
>   request:
>
> rad_recv: Accounting-Request packet from host 62.33.65.2:2107, id=71, length=162
>         Calling-Station-Id = "0:50:ba:c1:3:38"
>         Called-Station-Id = "pppoe"
>         Service-Type = Framed-User
>         User-Name = "lan"
>         Framed-Protocol = PPP
>         Framed-IP-Address = 192.168.253.207
>         Framed-IP-Netmask = 0.0.0.0
>         NAS-Identifier = "zeus.startatom.ru"
>         NAS-Port-Type = Ethernet
>         NAS-Port = 1984
>         Acct-Status-Type = Stop
>         Acct-Session-Id = "s-1474470826"
>         Acct-Multi-Session-Id = ""
>         Acct-Delay-Time = 0
>         Acct-Input-Octets = 656
>         Acct-Input-Packets = 2
>         Acct-Output-Octets = 0
>         Acct-Output-Packets = 0
>         Acct-Session-Time = 13
>
>   See? NAS-Identifier is the same FQDN, but rlm_ippool thinks
>   differently:
>
> rlm_ippool: Searching for an entry for nas/port: 62.33.65.2/1984
> rlm_ippool: Entry not found
>   modcall[accounting]: module "legal_pool" returns ok for request 2
>
>   And as a result when client disconnects, his address doesn't
>   deallocates from pool, and after some time radiusd is run out of
>   addresses, and clients cannot connect.
>
>   I solved this problem by adding simple attr_rewrite entry to
>   post-auth block (before ippool entry):
>
>     attr_rewrite NAS {
>         attribute = NAS-Identifier
>         searchin = packet
>         searchfor = "zeus.startatom.ru"
>         replacewith = "62.33.65.2"
>         new_attribute = no
>     }
>
>   So, it's always direct ip written to db, and when rlm_ippool check
>   entry on Stop request, it successefully deallocates ip address from
>   pool. I think, this workaround will work for me, but are there
>   another way to make rlm_ippool work without that?

These problems should be fixed in the CVS version of rlm_ippool.

>
>
>
> --
> Best regards,
>  Alexander                          mailto:[EMAIL PROTECTED]
>
>
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
>

--
Kostas Kalevras         Network Operations Center
[EMAIL PROTECTED]       National Technical University of Athens, Greece
Work Phone:             +30 210 7721861
'Go back to the shadow' Gandalf

- 
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to