Модуль auth_arp

Материал из Felix2
Перейти к: навигация, поиск


Модуль выполняет авторизацию пользователей, основываясь на наличии требуемых пар IP-MAC в наборе данных полученных от модуля arp_fetcher. Поддерживается до трех MAC для одного IP-адреса.

Для правильной работы модуля необходимо периодически вызывать функцию auth_arp.update из планировщика.


Параметры конфигурации модуля:

  • auth_timeout – таймаут авторизации (по умолчанию – 120 секунд). При отсутствии пары IP-MAC более данного таймаута авторизация выключается.


Модуль корректно отрабатывает ситуацию "молчания" клиентского хоста. Суть ее в следующем. При долгом отсутствии сетевых пакетов от клиентского хоста, ARP запись, соответствующая данному хосту удаляется из ARP таблицы маршрутизатора. Чтобы проверить причину удаления ARP записи (выключена ли клиентская машина выключена, или от нее просто нет пакетов), модуль auth_arp через метод arp_fetcher.update_arp_record отправляет пакет ARP Request от маршрутизатора к клиентской машине. Таким образом если клиентская машина включена, приходит пакет ARP Response, и ARP запись на маршрутизаторе восстанавливается, если нет, авторизация отключается по таймауту.


Пример конфигурации:

<module name="arp_fetcher" file="modules/arp_fetcher.so" />
<module name="auth_arp" file="modules/auth_arp.so" />

<scheduler>
    ...
    <entry cmd="arp_fetcher.fetch" period="60 sec" start_delay="2 sec" />
    <entry cmd="auth_arp.update" period="30 sec" start_delay="3 sec" />
    ...
</scheduler>