/usr/abills/misc/mikrotik/mikrotik_dhcp_leases.pl
Утилита для управления DHCP серверами на микротике.
Основная задача - синхронизировать список статических лиз.
В сравнении с Freeradius DHCP:
Нет динамического обновления адресов.
Меньше возможностей кастомизации.
Внешнее управление шейпером.
Нет поддержки опции 82.
Подключите и настройте модули Ipn
и Dhcphosts
. Настройте DHCP сервера на микротике (по одному на интерфейс(бридж), если их несколько).
По умолчанию, лизы для сети присваиваются dhcp-серверу с именем dhcp_abills_network_%NETWORK_ID%
Удобнее использовать параметр USE_NETWORK_NAME
и связывать сети и сервера по имени (имя сети не должно содержать пробелов).
В билинге заведите IPoE (DHCP) сети с названием, равным имени DHCP-сервера на микротике (без учёта регистра).
Заполните хосты абонентов.
Установите скрипт в директорию abills/libexec
.
cd /usr/abills/libexec/ ln -s ../misc/mikrotik/mikrotik_dhcp_leases.pl .
Добавьте в crontab
задание синхронизации лиз для нужного сервера доступа. Например для сервера доступа 15
*/5 * * * * root /usr/abills/libexec/mikrotik_dhcp_leases.pl NAS_IDS=15 USE_NETWORK_NAME=1
Програма берет текущий список хостов для сервера доступа, список лиз на микротике и после сравнения:
Удаляет лизы, которых уже нет или отключённые в биллинге
Добавляет лизы, которые добавились или стали активными
Аргументы програмы
NAS_IDS='15' | ID серверов доступа для серверов доступа (можно указать несколько через точку с запятой Ex. NAS_IDS='2;3') |
VERBOSE=0 | Выдача информации по исполнению |
CLEAN=0 | Очистить все генерированые лизы з сервера доступа |
RECONFIGURE=0 | Очистить и снова добавить все лизы |
DHCP_NAME_PREFIX='dhcp_abills_netwok_' | Префикс для имени сервера доступа, позволяет связывать сети и dhcp-сервера на микротике по ID сети |
USE_NETWORK_NAME=0 | Связывает сети в билинге с dhcp серверами по имени сети |
SKIP_DHCP_NAME=0 | Не проверять соответствие имён серверов доступа и сетей, добавляет лизы для всех dhcp серверов |
USE_ARP=0 | Включает ARP для DHCP-сервера. Не совместим с параметром SKIP_DHCP_NAME |
DISABLE_ARP=0 | Выключает ARP для DHCP-сервера. Не совместим с параметром SKIP_DHCP_NAME |
DEBUG=0 | Устанавливает уровень режима отладки |