Service and bandwidth management for subscribers with dynamically assigned IP addresses is performed using a logical name (login), which is specified in the management commands using the corresponding –login parameter. To support login binding functionality in DPI, it is necessary to enable UDR.
DPI supports two types of IP-login binding:
The main semantic differences between bind and bind_multi are:
load –bind replaces the IP address previously assigned to the subscriber, while load –bind_multi adds a new addressload –bind automatically reassigns an IP address if it is already assigned to another subscriberload –bind uses less database spaceIf IP addresses are dynamically assigned by a RADIUS server, it is recommended to use FastRadius (RADIUS Event Monitor. RADIUS Mapping), which automatically transfers information about assigned and released IP addresses to DPI. In this case, the RADIUS User-Name attribute is used as the login. For integration with other platforms, support for executing custom scripts on IP address assignment and release events is required (for example, this capability is available in the standard Linux DHCP server).
Bind an IP address to a login:
fdpi_ctrl load --bind --user subscriber_name:ip_address
Create two different single bindings:
fdpi_ctrl load --bind --user test_ipv4:191.168.1.1 fdpi_ctrl load --bind --user test_ipv6:2001:470:e5bf:dead::0/64
Replace the IP address associated with login test_ipv4:
fdpi_ctrl load --bind --user test_ipv4:191.168.1.2
Remove an IP ↔ login binding:
fdpi_ctrl del --bind --login test_ipv6
Display the IP address associated with a subscriber:
fdpi_ctrl list --bind --login test_ipv4
Display all subscribers with bound IP addresses:
fdpi_ctrl list all --bind
IP addresses can be assigned to a subscriber individually or in blocks:
192.168.0.1 single IPv4 address 192.168.0.1-192.168.0.5 range (inclusive) 192.168.0.0/30 CIDR 192.168.0.1,192.168.0.3 list 2001:db8:2000:1200::/64 IPv6 subnet
Bind multiple IP addresses to a single login (each command only adds IP addresses to the login; if an IP address is already present in bind_multi, assigning it again is not considered an error):
fdpi_ctrl load --bind_multi --user test:192.168.0.1 fdpi_ctrl load --bind_multi --user test:192.168.0.1-192.168.0.5 fdpi_ctrl load --bind_multi --user test:192.168.0.0/30 fdpi_ctrl load --bind_multi --user test:192.168.0.1,192.168.0.3 fdpi_ctrl load --bind_multi --user test:2001:db8:2000:1200::/64
Remove all IP addresses associated with a login:
fdpi_ctrl del --bind_multi --login test
Remove one of the IP addresses associated with a login:
fdpi_ctrl del --bind_multi --ip 192.168.0.1
Display all IP addresses associated with a subscriber that has multiple IP addresses:
fdpi_ctrl list --bind_multi --login test
Display all subscribers with multiple IP addresses:
fdpi_ctrl list all --bind_multi