redundant ippools using rlm_ippool in v1.1.3

Matthias Witte witte at netzquadrat.de
Mon Sep 15 19:57:32 CEST 2008


I am stuck with v1.1.3 in this case, otherwise I would use
rlm_sqlippool.

I need to assign IP addresses depending on the NAS the user comes in:

'huntgroups' contains 

	lns0x           NAS-IP-Address == a.b.c.x
	lns0y           NAS-IP-Address == a.b.c.y

In 'users' I set 'Post-Auth-Type' depending on
'Huntgroup-Name' (Userdata are in a MySQL database):

	DEFAULT	Huntgroup-Name == "lns0x", Post-Auth-Type := LNS0X
		Fall-Through = Yes

	DEFAULT	Huntgroup-Name == "lns0y", Post-Auth-Type := LNS0Y
		Fall-Through = Yes

The modules section in radiusd.conf has the ippool definitions like

		# subnets on lns0x
        ippool lns0x-00 {
                range-start = 192.168.111.1
                range-stop =  192.168.111.6
                netmask = 255.255.255.248
                cache-size = 6
                session-db = /var/cache/freeradius/db.pool_lns0x_00
                ip-index = /var/cache/freeradius/db.index_lns0x_00
                override = yes
                maximum-timeout = 0
        }

        ippool lns0x-01 {
                range-start = 192.168.111.9
                range-stop =  192.168.111.14
                netmask = 255.255.255.248
                cache-size = 6
                session-db = /var/cache/freeradius/db.pool_lns0x_01
                ip-index = /var/cache/freeradius/db.index_lns0x_01
                override = yes
                maximum-timeout = 0
        }

		# subnets on lns0y
        ippool lns0x-00 {
                range-start = 192.168.112.1
                range-stop =  192.168.112.6
                netmask = 255.255.255.248
                cache-size = 6
                session-db = /var/cache/freeradius/db.pool_lns0y_00
                ip-index = /var/cache/freeradius/db.index_lns0y_00
                override = yes
                maximum-timeout = 0
        }

        ippool lns0x-01 {
                range-start = 192.168.112.9
                range-stop =  192.168.112.14
                netmask = 255.255.255.248
                cache-size = 6
                session-db = /var/cache/freeradius/db.pool_lns0y_01
                ip-index = /var/cache/freeradius/db.index_lns0y_01
                override = yes
                maximum-timeout = 0
        }

My first attempt on the post-auth Section looked like

        Post-Auth-Type LNS0X {
                redundant {
                        lns0x-00
                        lns0x-01
                }
        }

        Post-Auth-Type LNS0Y {
                redundant {
                        lns0y-00
                        lns0y-01
                }
        }

This does not work because the 'Pool-Name' check attribute is missing in users.

If I set Pool-Name in users, addresses are only returned from the
matching poolname module until it is depleted, the alternative pool
module is not called.

Is it possible to achieve the intended setup with rlm_ippool or is this
only possible with rlm_sqlippool?

Mit freundlichem Gruß,

-- 
Matthias Witte - witte at netzquadrat.de
Telefon: +49 (0)211-30 20 33-18
Telefax: +49 (0)211-30 20 33-22

[netzquadrat] GmbH - Gladbacher Str. 74 - 40219 Düsseldorf
HRB Düsseldorf 36121 - Geschäftsführer: Thilo Salmon, Tim Mois
Steuernummer: 106/5719/1836, Umsatzsteuer-ID: DE246863050

billiger-telefonieren.de - billiger-surfen.de - stromseite.de - sms.de



More information about the Freeradius-Users mailing list