Связывание IP-login (bind, bind_multi) [Документация VAS Experts]

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
dpi:dpi_components:platform:subscriber_management:dpi_dynamicip [2024/09/26 15:29] – создано - внешнее изменение 127.0.0.1dpi:dpi_components:platform:subscriber_management:dpi_dynamicip [2026/05/08 12:13] (текущий) atereschenko
Строка 1: Строка 1:
-====== Поддержка абонентов со связыванием одиночного IPv4 адреса и IPv6 подсети или динамической выдачей адресов  ======+====== Связывание IP-login (bind, bind_multi) ======
 {{indexmenu_n>7}} {{indexmenu_n>7}}
-Управление услугами и каналом для абонентов с динамической выдачей IP-адресов осуществляется по условному имени (LOGIN), которое в [[dpi:dpi_components:platform:subscriber_management:subsman_cmd|командах управления]] задается через соответствующий параметр ''--login''. Для поддержки в DPI функциональности связывания с login необходимо [[dpi:dpi_components:platform:dpi_admin:admin_db#Активация встроенной БД|активировать UDR]].+Управление услугами и полосой пропускания для абонентов с динамической выдачей IP-адресов осуществляется по условному имени (login), которое в [[dpi:dpi_components:platform:subscriber_management:subsman_cmd|командах управления]] задается через соответствующий параметр ''--login''. Для поддержки в DPI функциональности связывания с login необходимо [[dpi:dpi_components:platform:dpi_admin:admin_db#Активация встроенной БД|активировать UDR]]. \\ 
 +<note tip>Удобство заключается в том, что профили услуг и полисинга назначаются на login и могут быть неизменны долгое время, хотя адрес абонента динамически меняется. При своевременном обновлении связок DPI имеет всегда актуальные правила на IP абонента и статистику.</note> 
  
-В случаеесли динамическая выдача IP-адресов осуществляется Radius-сервером, рекомендуется использовать онитор событий Radius", который автоматически будет передавать на DPI информацию о выданных и освобожденных IP-адресах. В этом случае в качестве login используется атрибут User-Name в запросах Radius.+DPI поддерживает связывание IP-login двух типов: 
 +  * bind - Одиночная связка (single). Однозначное соответсвие один login = один IP. 
 +  * bind_multi - Множетсвенная связка (multi). Абонент с несколькими IP трактуются DPI как один абонент: услуги и управление шириной доступного канала являются общими для всех IPпринадлежащими такому абоненту. Часто таким абонентом является корпоративный пользователь, которому выдали канал и набор IP-адресов, которые разделяют ресурсы между собой. Так же используется, когда абоненту выдается Dual Stack IPv4/IPv6. При изменении профилей услуг и полисинга на такой login изменения применяются сразу на все IP адреса связанные с данным login 
  
-Для интеграции с другими платформами необходима поддержка выполнения пользовательских скриптов по событиям выдачи и освобождения адреса (например, такая возможность присутствует в штатном DHCP сервере Linux). В этом случае связывание IP-адреса с LOGIN и удаление связки осуществляется через специальные команды+Важным отличием семантики ''bind'' от ''bind_multi'' является: 
 +  - ''load --bind'' замещает ранее назначенный абоненту адрес, в то время как ''load --bind_multi'' добавляет его 
 +  - ''load --bind'' автоматически забирает назначенный адрес у другого абонента 
 +  - ''load --bind'' экономнее расходует размер БД 
 + 
 +В случае, если динамическая выдача IP-адресов осуществляется RADIUS-сервером, рекомендуется использовать [[dpi:dpi_components:radius|]], который автоматически будет передавать на DPI информацию о выданных и освобожденных IP-адресах. В этом случае в качестве login используется атрибут User-Name в запросах RADIUS. 
 +Для интеграции с другими платформами необходима поддержка выполнения пользовательских скриптов по событиям выдачи и освобождения адреса (например, такая возможность присутствует в штатном DHCP сервере Linux). 
  
-Связывание IP адреса с LOGIN:+===== Команды управления одиночной связкой (single) ===== 
 +Связывание IP адреса с login:
 <code bash> <code bash>
 fdpi_ctrl load --bind --user имя_абонента:ip_адрес fdpi_ctrl load --bind --user имя_абонента:ip_адрес
 </code>   </code>  
  
-Пример: +Создание двух разных одиночных связок
-<code bash>fdpi_ctrl load --bind --user test_user:191.168.1.1 +<code bash>fdpi_ctrl load --bind --user test_ipv4:191.168.1.1 
-fdpi_ctrl load --bind --user ipv6:2001:470:e5bf:dead::0/64</code>+fdpi_ctrl load --bind --user test_ipv6:2001:470:e5bf:dead::0/64</code> 
 + 
 +Замещение связанного IP для login test_ipv4: 
 +<code bash>fdpi_ctrl load --bind --user test_ipv4:191.168.1.2 
 +</code>
  
 Удаление связки IP <-> login: Удаление связки IP <-> login:
 <code bash> <code bash>
-fdpi_ctrl del --bind --login имя_абонента+fdpi_ctrl del --bind --login test_ipv6
 </code>   </code>  
  
 Просмотр связанного IP-абонента: Просмотр связанного IP-абонента:
 <code bash> <code bash>
-fdpi_ctrl list --bind --login имя_абонента+fdpi_ctrl list --bind --login test_ipv4
 </code>   </code>  
  
Строка 31: Строка 45:
 </code>   </code>  
  
-В следующем разделе рассмотрено связывание абонентов с произвольным количеством IP-адресов.\\ +===== Команды управления множественной связкой (multi) ===== 
-Важным отличием семантики ''bind'' от ''bind_multi'' является: +IP-адреса можно выделять абоненту поштучно или блоками: 
-  - ''load --bind'' замещает ранее назначенный абоненту адрес, в то время как ''load --bind_multi'' добавляет его +<code bash> 
-  ''load --bind'' автоматически забирает назначенный адрес у другого абонента +192.168.0.1                      одиночный IPv4 адрес 
-  ''load --bind'' экономнее расходует размер БД+192.168.0.1-192.168.0.5          интервал (включает границы) 
 +192.168.0.0/30                   CIDR 
 +192.168.0.1,192.168.0.3          список 
 +2001:db8:2000:1200::/64 IPv6 подсеть 
 +</code> 
 + 
 +Связывание IP-адресов с одним login (каждая команда только добавляет IP к login, при наличии IP в bind_multi повторное назначение не явняется ошибкой): 
 +<code bash> 
 +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 
 +</code>  
 + 
 +Удаление всех IP, связанных с login: 
 +<code bash> 
 +fdpi_ctrl del --bind_multi --login test 
 +</code>   
 + 
 +Удаление одного из IP, связанных с login: 
 +<code bash> 
 +fdpi_ctrl del --bind_multi --ip 192.168.0.1 
 +</code>   
 + 
 +Просмотр всех IP абонента с несколькими IP: 
 +<code bash> 
 +fdpi_ctrl list --bind_multi --login test 
 +</code>   
 + 
 +Просмотр всех абонентов с несколькими IP: 
 +<code bash> 
 +fdpi_ctrl list all --bind_multi 
 +</code>   
 +