Для управления данным функционалом нужен модуль Freeradius DHCP.
Начиная в версии 0.74 есть альтернатива для Freeradius DHCP. - управление через mikrotik_dhcp_leases.pl
Управление DHCP серверами на Mikrotik'e
перед началом работ настройте Freeradius c Mikrotik
При данной схеме работы DHCP запросы клиентов приходят на Mikrotik DHCP, затем Mikrotik их трансформирует в radius запрос и отправляет на RADIUS сервер где происходит авторизация пакета и отправка результата на Mikrotik. После получения результата от RADIUS сервера Mikrotik формирует пакет DHCP для клиента.
Возможности
Динамическая и статическая раздача IP адресов
Option 82 (Удобная система интеграции с любым нестандартным оборудованием)
Нарезка скорости абонентам
Гостевой доступ
Настройка
Скопировать модуль
Code Block |
---|
cp Mac_auth2.pm /usr/abills/Abills/mysql/ |
config.pl
Code Block |
---|
$AUTH{mikrotik_dhcp}='Mac_auth2'; $ACCT{mikrotik_dhcp}='Mac_auth2'; |
...
Так как DNS, маска сети и шлюз прописываются на Mikrotik (/ IP / DHCP Servers/ Networks
) и их нельзя изменить через RADIUS.
Для гостевых сетей можно отправлять только параметры длительности lease для IP адреса и использовать часть сети как гостевые адреса для dhcp.
Примечание: в настройках пула адресов, который используется как гостевой, обязательно отметить параметр "Гостевой доступ".
Примечание: сеть, которая должна будет выдаваться абоненту - должна быть предварительно записана на BRAS'e.
Настройка DHCP
через терминал
Code Block |
---|
/ip dhcp-server add interface=ether2 address-pool=static-only authoritative=after-2sec-delay use-radius=yes lease-time=5m10m disabled=no /radius add address=192.168.1.62 secret=secretpass timeout=300ms3000ms authentication-port=1812 accounting-port=1813 service=dhcp |
с помощью WinboxIP > DHCP Server > New DHCP Server
Красным подчёркнуты поля, которые важно изменить. Interface - интерфейс, на котором будет работать DHCP сервер, Lease Time - рекомедованное значение - 10 минут, Use RADIUS - yes.
Radius > New Radius Server
Если все правильно настроено на RADIUS сервер приходят следующие пары в дебаг режиме (radiusd -X).
...
Code Block |
---|
$conf{AUTH_EXPR}='Agent-Circuit-Id:0x0004(\S{4})\d{2}([0-9a-f]{2}):VLAN,PORT;Agent-Remote-Id:0x0006([0-9a-f]{12}):MAC;' . 'Agent-Circuit-Id:0x([0-9a-f]{4})\d{2}([0-9a-f]{4})$:VLAN,PORT_DEC;Agent-Remote-Id:0x([0-9a-f]{12})$:MAC;'; |
Шейпер
По умолчанию система производит шейпер по средством правил
...
где CLIENT_67 это CLIENT_ префикс адрес листа, а 67 ID тарифного плана
ISC-DHCP
При использовании ISC-DHCP настраиваем DHCP RELAY на микротике с помощью Winbox
IP > DHCP RELAY
Подсчет трафика
Подсчет трафика осуществляется через модуль IPNIPoE Traffic Collectors .
возможные ошибки
Нет связи с радиусом
Code Block |
---|
/log print 17:28:45 dhcp,error ONU: radius authentication failed for 40:ED:98:60:33:59: RADIUS server is not responding |
...