Большая часть конечного оборудования, в ответственности которого лежит аутентификация абонентов по стандарту 802.1x, либо не поддерживает, либо не использует
аккаунтинг по прямому назначению.
Поэтому нами была введена опция, с помощью которой создание сессии осуществляется только по пакетам аутентификации, а пакеты аккаунтинга – игнорируются1:
INSERT INTO agent_options SET id = agent_id, name = 'eap-session-time', value = '300';
где
• agent_id - id radius агента, который производит аутнетификацию;
• value – период переаутентификации.
При условии отсутствия аккаунтинга формирование значения session_id для каждой сессии абонента берет на себя radius агент. Формирование происходит по следующему правилу:
«__nasip::nasport__login», где
• nasip – ip адрес аутентификатора;
• nasport – порт аутентификатора, с которого пришел запрос;
• login – логин пользователя, который передал аутентификатор в запросе.
В случае необходимости сбора статистики по netflow radius агент должен работать в режиме эмуляции с кабельным агентом.
Создание Vlans
Для того, чтобы задать список существующих Vlan необходимо в форме Объекты->Inventory->Vlans выполнить действия по созданию Vlan (Рис.1).
Тип Vlan может принимать следующие значения:
• Клиентский;
• Гостевой (vlan гостевой сети);
• Служебный (управляющий vlan для коммутаторов).
Рис. 1
Заведение ip подсетей.
В разделе «Сети» в форме настроек radius-агента необходимо задать ip подсеть, маску, шлюз, а также vlan, в котором находится эта подсеть (Рис. 2).
Рис. 2
Заведение коммутатора доступа.
В форме Объекты->Inventory->Редактировать устройства (Рис. 3).
Рис.3
|
Заведение Сервера доступа возможно двумя способами:
• В разделе «Создать NAS» в форме создания коммутатора в разделе Inventory (Рис.4). Необходимо указать radius агент, для которого будет создан nas сервер, и
Секрет (secret-key). Предварительно указав название, ip адрес и прочие свойства оборудования.
• В разделе «Серверы доступа» в форме настроек radius-агента. Необходимо ввести ip адрес и Секрет (secret-key). Для того чтобы Nas серверу сопоставился
коммутатор из Inventory необходимо нажать на зеленый плюсик. Соответствие между серверами доступа и устройствами из Inventory осуществляется по ip адресу.
Рис. 4
Дополнительные параметры группы:
Устройства могут объединяться в группы. Каждое устройство может входить более чем в одну группу. Radius-атрибуты могут выдаваться в зависимости от принадлежности коммутатора к
группе из модуля Inventory. В АСР LANBilling также предусмотрено создание дополнительных свойств группы. Для этого необходимо сначала создать свойство: Объекты -> Inventory ->
Редактировать устройства -> Кнопка «Дополнительные поля» (Рис. 5). Значение дополнительного поля может принимать значения либо текст либо список.
Рис.5
После создания дополнительного свойства необходимо задать значение для группы устройств. Для этого необходимо выделить желаемую группу в форме Объекты -> Inventory ->
Редактировать устройства и нажать кнопку «Изменить группу» (Рис. 6).
Рис. 6
Предопределенные свойства группы устройств:
• port-offset - Смещение номера порта относительно информации о номере порта коммутатора в пакетах аутентификации. Может принимать значения +/-N.
Необходимо в тех случаях, когда оборудование посылает номер порта, с которого происходила аутентификация, со смещением.
Замечание. Если в в качестве аутентификаторов используются коммутаторы Quidway необходимо объединить их в группу. Данной группе необходимо задать
дополнительное свойство ‘port_offset’, принимающее значение 'huawei'.
• mac-addr-regex. В зависимости от вендора и модели оборудования mac адрес абонента может приходить в различных форматах. Для унификации необходимо
приведение к единому формату (abcdefghijkl) с помощью регулярного выражения. Например, mac-addr-regex = /(..)-(..)-(..)-(..)-(..)-(..)/\1\2\3\4\5\6/i
• bng-name – свойство, необходимое для закрепления за BNG устройством группы устройств. Свойство может принимать значение, например символьного или ip
адреса BNG устройства. Используется в скриптах управления BNG устройством (подробное описание в разделе «взаимодействие с серверами доступа»).
Для каждой группы предусмотрена возможность привязки Vlan из списка доступных для назначения. Список доступных определяется в форме Объекты->Inventory->Vlans (Рис.1).
В зависимости от типа ip адреса назначение vlan на порт аутентификатора различно:
• Статический ip адрес. Значение параметра Vlan определяется по связке ip подсеть– Vlan.
• Динамический ip адрес. Ip адрес назначается в зависимости от Vlan, выданного при аутентификации.
Выдача vlan осуществляется по алгоритму Round Robin:
выбирается значение из списка VLAN, закрепленных за группой устройств, к которому принадлежит коммутатор уровня доступа, с учетом типа сети
(клиентская, гостевая) и наполненности пула адресов.
Задание необходимых атрибутов radius-агента.
DNS – сервер:
Рис. 7
VLAN:
Задание tunnel attributes:
• Tunnel-Type. Virtual LANs (VLAN)
Рис. 8
• Tunnel-Medium-Type. 802 (includes all 802 media plus Ethernet "canonical format")
Рис. 9
Установка DHCP
Установить dhcp-сервер:
# wget http://lanbilling.ru/files/dhcp-3.0.7.tar.gz
# tar -zxf dhcp-3.0.7.tar.gz
и применить патчи:
# wget http://lanbilling.ru/files/dhcp2radius/dhcp2radius-3.0.7-v3.patch.gz
# wget http://lanbilling.ru/files/dhcp2radius/dhcpd_send_request_to_radius_always.patch.gz
# wget http://lanbilling.ru/files/dhcp2raidus/dhcp_use_static_for_no_crash.patch.gz
# wget http://lanbilling.ru/files/dhcp2radius/dhcp_for_x86_64.patch.gz
# zcat *.patch.gz | patch -p0
# cd dhcp-3.0.7/ && ./configure && make && make install
В настройках dhcp.conf необходимо прописать добавить следующие строки:
ddns-update-style interim;
ignore client-updates;
use-dhcp2radius true;
radius-servers ip_address;
radius-send-opts-to-srv 35;
radius-secret secret;
radius-password password;
Важно: radius агент и DHCP сервер должны располагаться на разных серверах. Для задания ip адреса DHCP-сервера необходимо добавить опцию:
INSERT INTO options SET name = 'radius-second-auth', value = 'ip’;
Где ip - адрес DHCP сервера.
Также необходимо завести DHCP сервер, как сервер доступа.
Взаимодействие с серверами доступа.
По событию выдачи ip адреса на сессию абонента происходит вызов обработчика handler на radius – агенте. Для этого в файле настроек radius-агента /etc/billing.conf.LBarcd необходимо
прописать путь к исполняемому файлу:
handler = /usr/local/billing/handler.sh.
Обработчик handler может принимать на входе переменное количество именованных параметров в произвольном порядке. Каждый параметр задается двумя аргументами:
• имя параметра, обязательно начинается со строки «--»;
• значение.
Например,
--action [on|off|create|edit|delete] --login login --password password --shape n --net ip/mask --reason [undefined|traffic|timeout|changed] --session session_id --nas nas_ip --ip client_ip
По событию изменения параметров учетной записи вызывается скрипт vg_edit кабельного агента.
1 Настройки приведены для версии 2.0.001.