Вы посетитель |
LANBilling RADIUS и DHCP Option 82Начиная со сборки №2, в состав модуля LANBilling 1.9 RADIUS включена поддержка атрибутов DHCP VSA. Это позволяет организовать выдачу адресов DHCP сервером на основе данных о статическом распределении IP адресов абонентов в БД АСР.Область применения В последнее время очень популярна идея контроля доступа к услугам ШПД на порту коммутатора без применения VPN/PPPoE туннелей. Эта задача может быть решена использованием технологий DHCP Snooping + IP Source Guard/IP Source Lockdown, поддержка которых заявлена большинством производителей сетевого оборудования. Как это работает Смысл технологии IP Source Guard/IP Source Lockdown — контроль трафика на порту на основе динамической таблицы соответствий Port-MAC-IP. IP пакеты, для которых не найдено совпадений в этой таблице, будут отброшены. Заполнение таблицы осуществляется автоматически по данным из DHCP запросов (DHCP Snooping). Таким образом, абонент может работать в сети только с IP адресом, полученным от доверенного (trusted) DHCP сервера. Это делает возможным учет трафика на основе статически назначенного абоненту IP адреса. Остается добиться того, чтобы абонент получал посредством DHCP всегда свой IP адрес. С появлением DHCP сервера с возможностью «трансляции» запросов DHCP в RADIUS запросы (и обратно) исчезла необходимость в поддержке сложной конфигурации DHCP сервера (изменения данных в биллинге приходилось постоянно отражать в конфигурации dhcp сервера). Теперь вся логика по выдаче IP адресов переносится на RADIUS сервер, который работает непосредственно с БД АСР. Установка и настройка Инструкции по сборке, установке и настройке сервера ISC dhcpd + dhcp2radius patch очень подробно описаны в статье. При настройке dhcpd нужно обратить внимание на следующие параметры: Обработка запроса агентом RADIUS Получив запрос, содержащий DHCP VSA, RADIUS агент пытается найти абонента, инициировавшего запрос. В описанной конфигурации RADIUS Access-Request будет содержать MAC-адрес (атрибут User-Name), произвольный пароль (атрибут Password), идентификатор DHCP сервера (атрибут NAS-Port), признак DHCP запроса (DHCP-Message-Type), запрашиваемый адрес (DHCP-Requested-IP-Address) и опция 82 (DHCP-Relay-Agent-Information). При этом идентификация учетной записи возможна либо по MAC адресу (транспортному адресу учетной записи), либо по содержимому опции 82 (поиск в хранилище Inventory). В первом случае достаточно, чтобы для каждой учетной записи было заполнено поле «транспортный адрес», содержащее MAC сетевой карты абонента в HEX представлении. Если учетной записи присвоены несколько IP адресов (назначать подсеть в данном случае нельзя), то при добавлении MAC адреса необходимо привязать его к конкретному IP. Во втором случае анализируется содержание опции 82 DHCP. Этой возможностью удастся воспользоваться лишь в том случае, если коммутатор, к порту которого подключен абонент, реализует функции DHCP Relay Agent (вставка/подмена опции 82 в DHCP запросы абонентов). Атрибут DHCP-Relay-Agent-Information содержит идентификатор устройства - Agent-Remote-Id и идентификатор порта устройства, на котором был получен DHCP запрос, — Circuit-Id. В качестве Agent-Remote-Id, в зависимости от настроек коммутатора, могут выступать MAC адрес устройства, IP адрес для управления (management ip), IP адрес на соответствующем VLAN и пр. Конкретный вид этого параметра не важен, так как поиск устройства в БД Inventory осуществляется по его HEX представлению (содержимое Agent-Remote-Id сравнивается с одноименной опцией устройства в Inventory). Если устройство найдено и к его порту с номером Circuit-Id привязана учетная запись, то IP адрес из настроек этой учетной записи будет помещен в ответный пакет. Если абонент найден по одному из перечисленных критериев, учетная запись не заблокирована и ей назначен IP адрес, то RADIUS формирует ответный Access Accept пакет, в котором указываются выданный IP, маска сети (маска сегмента, из которого выделен адрес), время аренды адреса и другие атрибуты. DHCP-Router-Address (адрес шлюза), DHCP-Domain-Name-Server (DNS серверы) и другие «полезные» DHCP опции не передаются автоматически. Необходимо создать соответствующие атрибуты с одним из предлагаемых вариантов привязки (учетная запись, группа, агент и т.д.). С полным словарем атрибутов, поддерживаемым сервером DHCP, можно ознакомиться здесь. Если хоть одно из необходимых условий, перечисленных в предыдущем абзаце, не выполнено, агент формирует в ответ пакет Access Reject. Access Request пакеты, содержащие DHCP запрос, не приводят к созданию новой RADIUS сессии, так как не предполагают последующего поступления Accounting пакетов. Пример настройки DHCPD с патчем dhcp2radius под ОС Linux Fedora Core 10 yum install dhcp (установим комплектный dhcpd, чтобы получить готовые init-скрипты) wget http://ftp.isc.org/isc/dhcp/dhcp-3.0-history/dhcp-3.0.7.tar.gz tar zxvf dhcp-3.0.7.tar.gz cd dhcp-3.0.7 wget http://www.netpatch.ru/projects/dhcp2radius/dhcp2radius-3.0.7-v3.patch.tar.bz2 tar jxvf dhcp2radius-3.0.7-v3.patch.tar.bz2 patch -p1 < dhcp2radius-3.0.7-v3.patch ./configure make && make install (заменить значения radius-* на соответствующие Вашей установке) cat > /etc/dhcpd.conf ddns-update-style interim; ignore client-updates; use-dhcp2radius true; radius-servers 192.168.10.37; radius-send-opts-to-srv 35; radius-secret qwerty12345; radius-password omgwtf; (нажать CTRL+D) /etc/init.d/dhcpd start Настройка агента в биллинге
В начало страницы |
|