Address Pool Configuration
The way that the address pool configuration relates to all subscriber management configuration tasks is shown in the picture below.
Configuring the Address Pool
set access pool <pool-name> Name of the address pool supervisor@switch: cfg> set access pool ipv4-local <cr> ipv4-address IPv4 address pool configuration ipv6-prefix IPv6 prefix pool configuration next-pool-name Name of the next address pool to be used if full
The following example shows typical IPv4 address and IPv6 prefix pools.
supervisor@switch: cfg> show config access { "rtbrick-config:access": { "pool": [ { "pool-name": "ipv4-local", "ipv4-address": { "low": "198.51.100.117", "high": "198.51.100.76" } }, { "pool-name": "ipv6-local", "ipv6-prefix": { "low": "2001:db8:0:79::/32", "high": "2001:db8:0:139::/32" } }, { "pool-name": "ipv6pd-local", "ipv6-prefix": { "low": "2001:db8:0:1::/32", "high": "2001:db8:0:100::/32" } } ], } }
The management of address pools in RBFS offers the flexibility to remove or modify them without causing any disruptions to existing subscribers. This means that even after an address pool has been deleted, the subscribers who were assigned addresses from that pool can still retain and utilize those addresses.
To illustrate, let’s consider a scenario where a subscriber has been allocated an IP address from a specific pool, and later on, that pool is deleted. Despite the pool’s removal, the subscriber can continue using the assigned IP address until their session is terminated. Operators are responsible for ensuring that the address pool is not allocated elsewhere until it’s finally released.
RBFS supports an optional feature known as duplicate address detection. This functionality aims to prevent sessions from logging in if they attempt to use an already-used address. However, it’s important to note that this safeguard doesn’t apply if the address pool is moved to a different BNG. In such cases, duplicate address detection might not work as anticipated, emphasizing the need for careful management and planning when migrating address pools across different BNGs.
Configuring IPv4 Address Pools
supervisor@switch: cfg> set access pool ipv4-local ipv4-address <cr> high Highest IPv4 address low Lowest IPv4 address subnet-mask Subnet mask
Attribute | Description |
---|---|
high |
Highest IPv4 address. |
low |
Lowest IPv4 address. |
subnet-mask |
subnet mask allocated to the subscriber. |
Configuring IPv6 Prefix Pools
supervisor@switch: cfg> set access pool ipv6-local ipv6-prefix <cr> high Highest IPv6 prefix low Lowest IPv6 prefix
Attribute | Description |
---|---|
high |
Highest IPv6 prefix. |
low |
Lowest IPv6 prefix. |
IPv6 prefixes must be at least /64 or larger (/56, /48, …) or /128. |
Configuring Linked Pools
Multiple address pools can be linked together using the next-pool-name
attribute
to form a larger pool of discontinuous ranges.
A -→ B -→ C -→ D
supervisor@switch: cfg> set access pool pool-A next-pool pool-B supervisor@switch: cfg> set access pool pool-B next-pool pool-C supervisor@switch: cfg> set access pool pool-C next-pool pool-D
The actual address pool assigned to a subscriber from the access configuration profile or RADIUS defines the start pool, which could be any pool in the chain. If this pool is already full, the next pool is requested, which repeats until a free pool is found or the end of the chain is reached. RBFS also stops automatically as soon as one pool of the chain was entered twice (loop protection).
This chain can also be closed to a loop to ensure that all pools of a chain are considered if one pool from the middle of the chain is allocated.
A -→ B -→ C -→ D -→ A
supervisor@switch: cfg> set access pool pool-A next-pool pool-B supervisor@switch: cfg> set access pool pool-B next-pool pool-C supervisor@switch: cfg> set access pool pool-C next-pool pool-D supervisor@switch: cfg> set access pool pool-D next-pool pool-A