3.14.38. FramedGroupBaseAddress Previous topic Parent topic Child topic Next topic

This optional parameter is used in conjunction with the Framed-Group reply attribute or the FramedGroup AuthBy parameter to automatically generate IP addresses for users logging in. It is ignored unless the user has a Framed-Group reply item, or unless their AuthBy clause contains a FramedGroup parameter. You can have as many FramedGroupBaseAddress items as you like.
You would only need to use this mechanism if you are using a NAS that is unable to choose IP addresses from an address pool, or if you want a more complicated address allocation policy than your NAS can support.
When a user logs in, Radiator can automatically choose an IP address for the user and return it to the NAS in a Framed-IP-Address reply attribute. To make this happen, you must specify one or more FramedGroupBaseAddress items in each Client clause, and you must specify a Framed-Group reply item for each user for whom you want address allocation. If the user is authenticated, Radiator will generate a Framed-IP-Address using Framed-Group reply item and the NAS-Port in the request. The Framed-Group in a user record selects the nth FramedGroupBaseAddress (0 based) from the Client they are logging in to, and NAS-Port is added to the last byte (modulo 255 or FramedGroupMaxPortsPerClassC) to generate a Framed-IP-Address.
Tip
Radiator also includes a much more sophisticated mechanism for allocating IP addresses from an SQL database or DHCP. For more information, see Section 3.53. <AuthBy DYNADDRESS>.
In the example below, if the user logs in on the Client at port 5, and their Framed-Group reply item is 1, they will be allocated a Framed-IP-Address of 10.0.1.6 (i.e. 10.0.1.1 + 5).
In the Radiator configuration file:
<Client ..>
      # This is the base address for Framed-Group = 0
      FramedGroupBaseAddress 10.0.0.1
      # This is the base address for Framed-Group = 1
      FramedGroupBaseAddress 10.0.1.1
      # This is the base address for Framed-Group = 2
      FramedGroupBaseAddress 10.0.2.1
      ....
</Client>
In the users file for each user you want to allocate an address for:
mikem       User-Password = "fred"
            Framed-Group = 1,
            Framed-Protocol = PPP,
            etc.
Alternatively, in an AuthBy clause:
<AuthBy whatever...>
      # This will cause all users authorised by this clause to get
      # an address allocated from the block starting 10.0.1.1,
      # unless overridden by a user-specific Framed-Group
      FramedGroup 1
      .....
</AuthBy>