CLI для управления абонентами
Команды управления абонентами
subs auth
Команды управления статусом авторизации абонентов. Абонент указывается своим IP-адресом. Можно задать один IP-адрес или группу адресов в виде CIDR или в виде диапазона IP-адресов:
fdpi_cli subs auth show [IP | CIDR | IP_RANGE] # IP - один конкретный IP-адрес # CIDR - все абоненты из указанной подсети # IP_RANGE - все абоненты из указанного диапазона. Конец диапазона НЕ учитывается. # Примеры: # IP - конкретный IP-адрес fdpi_cli subs auth show 192.168.10.10 # CIDR fdpi_cli subs auth show 10.240.34.0/24 fdpi_cli subs auth show 2001:67:abcd::67/56 # IP_RANGE fdpi_cli subs auth show 192.168.56.32 - 192.168.56.76 fdpi_cli subs auth show 2001:67:abcd:: - 2001:67:abcd:56::
subs auth show
Команда вывода статуса авторизации абонентов.
Вывод статуса авторизации для всех абонентов:
fdpi_cli subs auth show all
Вывод статуса авторизации для указанного IP-адреса или диапазона IP-адресов:
fdpi_cli subs auth show [IP | CIDR | IP_RANGE] # Примеры: # IP - конкретный IP-адрес fdpi_cli subs auth show 192.168.10.10 # CIDR fdpi_cli subs auth show 10.240.34.0/24 fdpi_cli subs auth show 2001:67:abcd::67/56 # IP_RANGE fdpi_cli subs auth show 192.168.56.32 - 192.168.56.76 fdpi_cli subs auth show 2001:67:abcd:: - 2001:67:abcd:56::
subs auth set
Установка статуса авторизации абонентов.
Общий формат команды:
fdpi_cli subs auth set [ip-range] [params]
ip-range
:
- один IPv4 или IPv6 адрес - установка статуса авторизации для конкретного абонента.
- IPv4/IPv6 CIDR - установка статуса авторизации для всех абонентов из данного CIDR.
- диапазон IP-адресов - установка статуса авторизации для всех абонентов из данного диапазона. Конец диапазона НЕ учитывается.
all
- установка статуса авторизации для всех IP-адресов, известных СКАТу
params
- какие параметры устанавливаются:
state=unk|auth|noauth
- статус авторизации: неизвестен (unk
), авторизован (auth
), неавторизован (noauth
). Статус "неизвестен" аналогичен командеsubs auth clear
, статус авторизации "неавторизован" - это аналог полученияAccess-Reject
от Радиуса, "авторизован" - аналогAccess-Accept
expired=<time>
- время действия авторизации.<time>
может быть указано относительно текущего времени (число секунд) или как абсолютное время в будущем в форматеYYYY-MM-DDTHH:MM:DD
. Указаниеexpired=0
равносильно очистке времени действия, что приведет к отправке запроса L3-авторизации по приходе пакета от абонента.
Примеры:
# Установка статуса авторизации на 600 секунд для конкретного абонента fdpi_cli subs auth set 192.168.20.30 state=auth expired=600 # Очистка статуса авторизации для указаннго CIDR fdpi_cli subs auth set 2001:67:abcd::67/56 state=unk expired=0 # Очистка статуса авторизации для всех fdpi_cli subs auth set all state=unk expired=0 # Продлить текущий статус авторизации на 1 час для всех IP из диапазона (192.168.56.76 исключается) fdpi_cli subs auth set 192.168.56.32 - 192.168.56.76 expired=3600 # Установка статуса и абсолютного времени окончания для диапазона fdpi_cli subs auth set 192.168.56.32 - 192.168.56.76 state=auth expired=2019-10-23T00:00:00
subs auth clear
Сброс статуса авторизации абонентов. Статус авторизации устанавливается в "неизвестен", что приведет к отправке запроса L3-авторизации по приходе пакета от абонента.
Сброс статуса авторизации для всех абонентов:
fdpi_cli subs auth clear all
Сброс статуса авторизации для указанного IP-адреса или диапазона IP-адресов:
fdpi_cli subs auth clear [IP | CIDR | IP_RANGE] # Примеры: # IP - конкретный IP-адрес fdpi_cli subs auth clear 192.168.10.10 fdpi_cli subs auth clear 2001:67:abcd::67/56 # CIDR fdpi_cli subs auth clear 10.240.34.0/24 fdpi_cli subs auth clear 2001:67:abcd::67/56 # IP_RANGE - конец диапазона НЕ учитывается fdpi_cli subs auth clear 192.168.56.32 - 192.168.56.76 fdpi_cli subs auth clear 2001:67:abcd:: - 2001:67:abcd:56::
subs ping
Отправка абоненту ICMP echo request (ping). Аналог системной команды ping
. Работает только в режиме L2 BRAS.
fdpi_cli -r <address> ping ip=<IP-адрес> [опции]
ip
- IP-адрес абонента (IPv4 или IPv6)
[опции]
:
n=N
- число пингов, 0 - бесконечно (окончание по Ctrl-C)len=N
- длина payload, байт, по умолчанию 64. Следует отметить, что командаsubs ping
не умеет фрагментировать пакеты, всегда отправляет один пакет, так что длина payload ограничена сверху 1400 байт.ttl=N
- значение поля TTL, по умолчанию 32
Примеры:
fdpi_cli -r 127.0.0.1 ping ip=172.168.10.20 n=3 fdpi_cli -r 127.0.0.1 ping ip=172.168.10.20 n=50 len=1000 ttl=2
L2-свойства абонента берутся из UDR, но их можно явно переопределить (все или только некоторые) следующими параметрами:
mac=X:X:X:X:X:X
- MAC-адрес абонента;vlan=N
,vlan=N.N
- VLAN или QinQ абонента;iface=N
- индекс DNA-интерфейса, в который посылать пакет.
Примеры:
fdpi_cli -r 127.0.0.1 ping ip=172.168.10.20 mac=01:02:03:60:70:99 n=3 fdpi_cli -r 127.0.0.1 ping ip=172.168.10.20 mac=01:02:03:60:70:99 vlan=123.56 n=50 len=1000 ttl=2
Существующие ограничения: команда может не работать в режиме мультикластера без агрегации.
subs ping inet
Проверка доступности интернета.
Пакет проходит через весь стек функций и услуг, полисинг и тд, только после этого уходит в интернет. Таким образом можно определить, на чьей стороне проблема: на аплинке в интернете, между абонентами BRAS, либо на BRAS.
Подсказка: fdpi_cli ping inet ?
subs prop
Команды просмотра и модификации L2-свойств абонента (замена fdpi_ctrl --ip_prop)
subs prop show
Просмотр L2-свойств абонента для заданного IPv4 или IPv6-адреса, MAC или subs_id
subs prop show <IP> Примеры: subs prop show 10.240.34.56 subs prop show 2001:67:abcd::67/64
subs prop show mac=<MAC> Пример: subs prop show mac=02:42:89:33:7b:3e
subs prop show subs_id=<MAC> Пример: subs prop show subs_id=00:1b:21:bc:a3:0c
Подсказка:
fdpi_cli help subs prop show
subs prop set
Модификация L2-свойств абонента, добавление нового абонента с указанными L2-свойствами, удаление некоторых L2-свойств. Полный синтаксис см.
fdpi_cli help subs prop set
subs prop del
Удаление всех L2-свойств указанного абонента. Примеры:
subs prop del 10.240.34.56 subs prop del 2001:67:abcd::67/64
Эта команда фактически удаляет IP-адрес из внутренней БД. Для удаления конкретного свойства абонента используйте subs prop set
.