Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

При превышении количества сессий сервиса над ограничением в его свойствах при включенном pool.error выдаются несколько адресов из этого пула, после чего DHCP-запросы игнорируются. Это сделано для невозможности исчерпания пула фиктивных адресов отправкой большого количества DHCP-запросов с разными MAC-адресами. Количество сессий сверх ограничения, для которых могут быть выданы фиктивные адреса задаётся переменной конфигурации dhcp.additionalUnauthorizedSessionCount.

Так же можно Для выдачи адреса, в случае если выдачи фиктивного адреса создавать сессии на одном общем специальном сервисе. , если сервис не был найден (например, для предоставления гостевого доступа), необходимо создать договор с балансом меньше лимита и сервисом модуля Inet со статусом закрыт, а ID сервиса прописать в конфигурации устройства:

Блок кода
languageruby
linenumbersfalse
#код сервиса, на котором создается сессия с фиктивным адресом. 
dhcp.disable.servId=1

Таким образом, сессии с ненайденным сервисом будут привязываться к указанному сервису.

Эту опцию можно использовать в схемах, когда клиента подключают в изначально в какой-то новый порт изначально,  он он получает фиктивный адрес, для него создается сессия на специальном сервисе.  Потом Далее он заходит в личный кабинет и через дополнительные действия создает сервис , скрип находи скрипт находит его сессия сессию на фиктивном договоре (например, по ipIP), берет с нее информацию (порт, mac MAC-адрес и т.п.) и создает уже нормальный обычный сервис на договоре этого абонента. 

При смене абонентом устройства идет новый запрос DHCP-Discover, но может быть ситуация, когда старая сессия еще не закрыта по таймауту (пример - только что было продление адреса и абонент сменил устройство). В этом случае будет считаться что у абонента уже есть одна сессия и что IP-адрес этой сессии еще занят. Для того, чтобы на DHCP-Discover происходило закрытие активных сессий на сервисе, нужно указать dhcp.connection.closeOnNew=1.

...