Freeradius DHCP пошаговая настройка
В предполагается что базовая система ABillS уже установлена (Универсальная установка).
Freeradius DHCP не может одновременно работать с isc-dhcp, по этому перед запуском Freeradius DHCP отключите isc dhcp если он включён
Установка freeradius
FreeBSD
cd /usr/ports/net/freeradius2 && make install clean
Linux
Лучше всего собрать с исходников. Сборки которые идут в дистрибутивах не всегда стабильно работают
Настройка Freeradius
Копируем конфигурационный файл файл работы с DHCP
cp /usr/abills/misc/freeradius/v2/dhcp.conf /usr/local/freeradius/etc/raddb/sites-enabled/
также в файле заменяем %DHCP_SERVER_IP% на ip адрес Вашего сервера
подключаем словарь работы с dhcp
raddb/dictionary
$INCLUDE /usr/local/freeradius/share/freeradius/dictionary.dhcp
Если все правильно сделано при старте радиуса в режиме отладки видит что он слушает 67 порт
# radiusd -X
пример вывода
Listening on dhcp address 192.168.1.41 port 67 as server dhcp
Если нет строчки Listening on dhcp…
, вставьте в конец radiusd.conf
$INCLUDE sites-enabled/dhcp.conf
Настройка ABillS
Загружаем дамп базы
# mysql --default-character-set=utf8 -D abills < db/Dhcphosts.sql
Устанавливаем модуль авторизации
# cp Mac_auth.pm /usr/abills/Abills/mysql/
Подключение модуля. abills/libexec/config.pl
@MODULES = ( 'Dhcphosts' );
Прописываем авторизацию для серверов доступа с типом DHCP через Mac_auth.pm
libexec/config.pl
$AUTH{dhcp}='Mac_auth'; # использовать для DHCP leases записей базу $conf{DHCPHOSTS_LEASES}='db'; # включить авторизацию по порту и коммутатору $conf{DHCPHOSTS_PORT_BASE}=1;
по умолчанию система контролирует дублирование маков, чтобы это обойти нужно в Настройки / SQL Commander
сделать
ALTER TABLE dhcphosts_hosts DROP KEY mac; ALTER TABLE dhcphosts_hosts DROP KEY ip;
После всех выше перечисленных настроек в меню / Клиенты / Логины /
появится меню IP (DHCP) Если у Вас не появилось данное меню значит у вас ограничены права на данный модуль. Для включения прав / Настройки / Администраторы
.
Настройка сервера доступа
Для авторизации по порту и коммутатору нужно завести коммутаторы в систему как сервера доступа
/Настройки/ Сервер доступу/
IP: | IP адрес коммутатора. |
Name: | Название |
Type: | dhcp |
Mac: | Мак адресе коммутатора |
Заведение сетей абонентов
Абоненты с управлением на ethernet уровне обязательно должны быть присвоены к сетям во время их регистрации в системе ABillS. Заведение сетей / Настройка / IP (DHCP) Сети
Network name: | Название сети |
---|---|
Network address: | Сетевой адрес. (Например: 10.10.1.0) |
NETMASK: | Маска сети |
Default router: | Маршрут по умолчанию. |
IP Range: | Диапазон выдаваемых адресов. |
Static: | При включении данной опции ip адреса пула раздаются как статические при регистрации услуги в данной dhcp сети, если опции нету система автоматически подставляет в конфигурационный файл range xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx для данной сети |
Phone: | Номер телефона координатора сети |
DNS: | DNS (Domain Name Server). Сервер доменных имён |
DOMAINNAME: | Домен по умолчанию |
Disable: | Отключить сеть |
Guest VLAN: | Гостевой влан для данной сети. Используется программой snmp_utills.pl для переноса должников в гостевой влан. |
Управления пользователем
Заведение абонента для авторизации по MAC коммутатора и и порту
Завести учётную запись абонента
- (
/ Клиенты/ Логины/ Добавить
) - Создать ему услугу Internet
- Прописать в услуге IP/DHCP параметры:
- сеть абонента
- порт
- коммутатор
/ Клиенты / Логины / Информация / Сервисы / IP (DHCP)
Заведение пользователя для выдачи адреса DHCP-сервером
Host name: | Название хоста |
---|---|
Networks: | Сеть |
IP: | IP-адрес, который выдавать клиенту |
Auto: | Авто присвоение следующего свободного адреса из сети клиенту. Адреса автоматически выбираются из поля IP Range сети. |
MAC: | MAC клиента |
Expire: | Время окончания действия правила |
Disable: | Блокировать |
Comments: | Комментарии |
Option 82 | |
Port | Порт комутатора |
VID | Vlan ID |
NAS | Привязать к коммутатору |
Активации IPN: | Активировать для данного IP услугу IPN (IPoE). При включении этой опции клиент будет автоматически активироваться при положительно депозите и активном статусе услуги Internet |
Если абонент успешно авторизировался в журнале активных сессий появляется об этом запись / Мониторинг/ Internet/
. Если абоненту не удаётся авторизироваться нужно проверить журнал ошибок подключения / Отчёт/ Internet/ Ошибка/
Мониторинг активных сессий
/ Мониторинг/ Internet/
Отображаются активные сессии абонентов
Мониторинг резерва адресов
/ Мониторинг/ DHCP/
Отображаются зарезервированные IP адреса и параметры подключения абонентов: коммутатора, порт, VLAN, MAC адрес
Определение не стандартных параметров Option 82
Если система автоматически не может определить параметры Вашего коммутатора (скорее всего производители коммутатора отдают параметры опции 82 не придерживаясь стандарта) можно воспользоваться выражениями авто определения параметров или написать свои собственные для данной модели. За дополнительные выражения отвечает опция $conf{DHCPHOSTS_EXPR}.
$conf{DHCPHOSTS_EXPR}='-'; | Использовать дополнительные выражения для получения корректных данных с запросов от комутаторов в которых параметры опции 82 отличаются от стандартных. формат выражения через точку с запятой: радиус_пара:условия:переменные:hex2ansii;условия переменные…. радиус_пара - радиус пара запроса условия - условия поиска Perl выражение переменные - переменные результата VLAN PORT MAC MAC_DEC (если мак не нужно преобразовывать в десятичный форма из шестнадцатиричного) PORT_DEC (если не нужно преобразовывать порт из десятеричного шестнадцатиричного формата) hex2ansii - если указан єтот параметр система перед вічислением нужных переменных преобразует строку с шестнадцатиричного формата в десятеричный система при получении параметра проверяет нужно ли использовать внешние выражения если да начинает проходится по списку при попадании в параметры перебор прекращается и система подставляет выбранные VLAN PORT MAC MAC_DEC (если мак не нужно приобразовывать в десятичный форма из шестнадцатиричного) PORT_DEC (если не нужно приобразовывать порт из десятеричного шестнадцатиричного формата) в DHCP-Agent-Circuit-Id и DHCP-Agent-Remote-Id дальше уже идут стандартные процедуры работы с DHCP. При включении выражений система отключает шаблон по умолчанию для распознавания коммутаторов |
---|
Для удобства отслеживания поведения системы выражений включите режим отладки $conf{DHCP_FREERADIUS_DEBUG}
$conf{DHCP_FREERADIUS_DEBUG}=1; | Режимы отладки 1 - Режим сессий (файл: /tmp/rad_dhcp) 2 - Режим ответов авторизации. (Файл: /tmp/rad_reply) 3 - Режим выражений для проверки параметров Option 82 (Файл /tmp/dhcphosts_expr) |
---|
Шейпер и открытие доступа
Для шейпинга существует программа ipoe_shaper.pl она поднимает активные сессии через linkupdown
cd /usr/abills/libexec/ ln -s ../Abills/modules/Dhcphosts/ipoe_shaper.pl