Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
abills:docs:other:freeradiusdhcp_stepbystep [2013/09/01 13:45]
asmodeus
abills:docs:other:freeradiusdhcp_stepbystep [2017/04/28 18:59] (текущий)
anton [Настройка Freeradius]
Строка 3: Строка 3:
 В предполагается что базовая система ABillS ​ уже установлена ([[abills:​docs:​manual:​install:​ru|Универсальная установка]]). В предполагается что базовая система ABillS ​ уже установлена ([[abills:​docs:​manual:​install:​ru|Универсальная установка]]).
  
-====Настройка Freeradius==== +\\
-Копируем конфигурационный файл файл работы с DHCP +
-  cp /​usr/​abills/​misc/​freeradius/​v2/​dhcp.conf raddb/​sites-enabled/​+
  
-также в файле заменяем %DHCP_SERVER_IP% ​на ip  адрес Вашего сервера+__**Freeradius DHCP не может одновременно работать ​с isc-dhcp, по этому перед запуском Freeradius DHCP отключите isc dhcp  если он включён**__ \\
  
-подключаем словарь работы с dhcp  
  
-**raddb/​dictionary** 
  
-  $INCLUDE /​usr/​local/​share/​freeradius/​dictionary.dhcp+=====Установка ​freeradius=====
  
-В словаре делаем следующие правки ​+**FreeBSD**
  
-удалить секцию+  cd /​usr/​ports/​net/​freeradius2 && make install clean  
 +   
 +**Linux** 
 +   
 +  Лучше всего собрать с исходников. Сборки которые идут в дистрибутивах не всегда стабильно работают 
 +====Настройка Freeradius==== 
 +Копируем конфигурационный файл файл работы с DHCP
  
-  ​ATTRIBUTE DHCP-Relay-Agent-Information 82 tlv +  ​cp /​usr/​abills/​misc/​freeradius/​v2/​dhcp.conf /​usr/​local/​freeradius/​etc/​raddb/​sites-enabled/
-  BEGIN-TLV DHCP-Relay-Agent-Information +
-  ​... +
-  END-TLV DHCP-Relay-Agent-Information+
  
-- добавить ​секцию+также ​в файле заменяем %DHCP_SERVER_IP% на ip  адрес Вашего сервера
  
-  ATTRIBUTE DHCP-Relay-Agent-Information 82 octets +подключаем словарь работы с dhcp 
-  ATTRIBUTE DHCP-Agent-Circuit-Id 0x0152 octets +
-  ATTRIBUTE DHCP-Agent-Remote-Id 0x0252 octets+
  
 +**raddb/​dictionary**
 +
 +  $INCLUDE /​usr/​local/​freeradius/​share/​freeradius/​dictionary.dhcp
  
 Если все правильно сделано при старте радиуса в режиме отладки видит что он слушает 67 порт Если все правильно сделано при старте радиуса в режиме отладки видит что он слушает 67 порт
Строка 38: Строка 38:
  
   Listening on dhcp address 192.168.1.41 port 67 as server dhcp   Listening on dhcp address 192.168.1.41 port 67 as server dhcp
 +   
 +Если нет строчки ''​Listening on dhcp...'',​ вставьте в конец radiusd.conf 
 +  $INCLUDE sites-enabled/​dhcp.conf
  
 =====Настройка ABillS===== =====Настройка ABillS=====
Строка 62: Строка 64:
  
   $AUTH{dhcp}='​Mac_auth';​   $AUTH{dhcp}='​Mac_auth';​
 +  # использовать для DHCP leases ​ записей базу 
 +  $conf{DHCPHOSTS_LEASES}='​db';​  
 +  # включить авторизацию по порту и коммутатору 
 +  $conf{DHCPHOSTS_PORT_BASE}=1;​
  
 по умолчанию система контролирует дублирование маков, чтобы это обойти нужно в ''​ Настройки ​ / SQL Commander ''​ сделать по умолчанию система контролирует дублирование маков, чтобы это обойти нужно в ''​ Настройки ​ / SQL Commander ''​ сделать
Строка 103: Строка 108:
  
 ====Управления пользователем==== ====Управления пользователем====
 +
 +===Заведение абонента для авторизации по MAC коммутатора и и порту===
 +
 +**Завести учётную запись абонента**
 +  * ( ''​ / Клиенты/​ Логины/​ Добавить ''​)
 +  * Создать ему услугу Internet
 +  * Прописать в услуге IP/DHCP параметры: ​
 +      * сеть абонента
 +      * порт
 +      * коммутатор
 +
 +
 ''/​ Клиенты / Логины / Информация / Сервисы / IP (DHCP)''​\\ ''/​ Клиенты / Логины / Информация / Сервисы / IP (DHCP)''​\\
  
Строка 123: Строка 140:
  
  
-===Заведение абонента для авторизации по MAC коммутатора и и порту=== 
  
-**Завести учётную запись абонента** 
-  * ( ''​ / Клиенты/​ Логины/​ Добавить ''​) 
-  * Создать ему услугу Internet 
-  * Прописать в услуге IP/DHCP параметры: ​ 
-      * сеть абонента 
-      * порт 
-      * коммутатор 
 \\ \\
 Если абонент успешно авторизировался ​ в журнале активных сессий появляется об этом запись ''/​ Мониторинг/​ Internet/''​. Если абоненту не удаётся авторизироваться нужно проверить журнал ошибок подключения ​ ''/​ Отчёт/ Internet/ Ошибка/'' ​ \\ Если абонент успешно авторизировался ​ в журнале активных сессий появляется об этом запись ''/​ Мониторинг/​ Internet/''​. Если абоненту не удаётся авторизироваться нужно проверить журнал ошибок подключения ​ ''/​ Отчёт/ Internet/ Ошибка/'' ​ \\
  
 +[[/​abills:​docs:​modules:​dhcphosts:​ru?&#​spisok_oshibok_avtorizacii|Список ошибок подключения]]
  
 +\\
  
-Edge-Core ES-3528M 
-Huawei S2318TP-EI 
-D-link..."​ - что это за выражения?​ Куда их вписывать?​ Правильно ли я понял, что это параметры добавляемые в поле "​RADIUS Параметры (,)" при создании нового сервера доступа,​ в качестве которого будет выступать свитч? 
  
-"​Данные ​о домене, DNS, NetMask, шлюзе система берёт в настройках DHCP сетей (/ System configuration/​ DHCP Networks/​), ​или можно их у казать в радиус парах ​сервера доступа."​ - как она оттуда ​их берет, тем более, что сеть для тестовых целей я туда еще не добавлял?​+====Мониторинг активных сессий====
  
-Для ​тестовых целей выделена ​сеть 193.176.251.192/​28. Ее я кстати указал как дополнительный тестовый IP Pool.+''​ / Мониторинг/​ Internet/ ''​ 
 + 
 +Отображаются активные сессии абонентов 
 + 
 +\\
  
-ополнительные Radius Пары" - где они прописываются?+====Мониторинг резерва адресов====
  
-Идем дальше.+''​ / Мониторинг/​ DHCP/ ''​
  
-Настройка сервера доступа +Отображаются зарезервированные IP  ​адреса и параметры подключения абонентов: коммутатора, ​порт, VLAN, MAC адрес
-иcтема/Сервер доступу/+
  
-Для тестовых целей мы разместили свитч D-Link (DES-3200-18,​ Firmware: Build 1.28.009). Управление свитчом ​доступно по адресу 192.168.50.10. На него выведен vlan1022. На свитче применил ​включение dhcp по инструкции.+====Определение не стандартных параметров Option 82====
  
-аршрутизатор по умолчанию +Если система автоматически не может определить параметры Вашего коммутатора (скорее всего производители коммутатора отдают ​параметры ​опции 82 не придерживаясь стандарта) ​можно воспользоваться выражениями ​авто определения параметров или написать ​свои собственные для данной модели. За дополнительные выражения отвечает опция $conf{DHCPHOSTS_EXPR}
-create iproute default 192.168.50.254 +
-адрес ​DHCP сервера +
-config dhcp_relay add ipif System 192.162.111.+
-config dhcp_relay option_82 state enable +
-enable dhcp_relay+
  
-и сохранил настройки (save).+^$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}
  
-IP: 192.168.50.10 +^$conf{DHCP_FREERADIUS_DEBUG}=1;​ | Режимы отладки  \\ 1  - Режим сессий  (файл: /​tmp/​rad_dhcp) \\ 2 - Режим ответов авторизации. (Файл/​tmp/​rad_reply) \\ 3  - Режим выражений для проверки параметров Option 82 (Файл /​tmp/​dhcphosts_expr) |
-Название: Switch_192.168.50.10_TEST +
-Radius NAS-Identifier:​ - что сюда писать то? В документации информации не нашел+
-Описание: Свитч для тестов +
-Тип: dhcp DHCP FreeRadius in DHCP mode +
-MAC: 84:​c9:​b2:​03:​f5:​4c +
-Модель: пусто +
-АвторизацияSQL +
-External Accounting: ничего не выбрано. +
-Alive (sec.): 0 +
-Управление: +
-IP:PORT: 192.168.50.10:​23 +
-Пользователь и пароль указаны для доступа по телнет.+
  
-RADIUS Параметры (,) - вписал сюда из "​документации"​ вот это (как для Dlink DES-3200-26 для Hw A1,B1 Firmware Version1.28.009):​ 
-DHCP-Relay-Agent-Information:​0x(01)(06)0004([0-9a-f]{4})d{2}([0-9a-f]{2})(02)(080006)([0-9a-f]{12}):​ID,​SIZE,​VLAN,​PORT,​ID,​SIZE,​MAC;​ 
  
-После этого я отправился создать тестового пользователя. 
-Логин sw_test 
-(UID: 2838) 
  
-На шаге добавления пользователя "​Шаг:​ 3 Internet"​ мой квест под названием "​познай FreeRadius-DHCP"​ зашел в тупик, ибо я надеялся тут увидеть выбор сервера доступа (свитча),​ и/или выбор номера порта на свитче в который включен мой тестовый абонент. Но ничего подобного я не увидел. Поэтому:​ 
  
-Уважаемые разработчики!+=====Шейпер и открытие доступа=====
  
-Данный модуль (расширение) стоит 450 долларов. Согласитесь, это немалые деньги. Мы купим этот модуль у вас, поскольку понимаем ценность перехода на систему статической выдачи адресов уходя от PPPoEВот только покупать "​кота в мешке" ​не хочется. Пожалуйста,​ без обид, но именно так выглядит сейчас данный модуль без четко ​прописанной ​документации к нему. Пожалуйста,​ отнеситесь с пониманием, и либо напишите вменяему документацию "​как для дибилов", пошагово разжевывая все моменты процесса настройки или же, выполните самостоятельную настройку нашего тестового свитча, доведите его до _работоспособного_ состояния, ​чтобы мы затем по готовому примеру смогли дальше настроить все остальные коммутаторы.+Для шейпинга существует программа **ipoe_shaper.pl ** она поднимает активные сессии через **linkupdown**
  
-После суток ковыряний,​ у меня остается очень много непоняток по настройке,​ которые я тут не изложил. Голова пухнет. И если откровенно,​ не до конца даже понятна схема и логика работы сего модуля. Я понимаю,​ что документировать продукт ​это долго, неинтересно и есть дела более важныеНо продукт то коммерческийКак ни крути, толковая дока к нему должна прилагаться.+  cd /​usr/​abills/​libexec/​ 
 +  ln -../​Abills/​modules/​Dhcphosts/​ipoe_shaper.pl
  
-Я прошу вас, помогите с настройкой! 
  
-Тестовый свитч, как я уже писал выше D-Link DES-3200-18 по адресу 192.168.50.10. 
  
-Доступен он как с сервера доступа 192.162.111.3,​ так и с биллинг сервера 192.162.111.4 (маршрут в сеть 192.168.50.0/​24 задан через route). Логин и пароль для доступа к свитчу вбиты в настройках серверов доступа. 
  
-Какая еще нужна информация?​ Мы готовы ее предоставить! 
  
-Естественно,​ переход с PPPoE на FreeRadius-DHCP - процесс не моментальный. Поэтому необходимо будет сохранить в первое время параллельную работу двух способов предоставления услуги. После отладки и тестирований на тестовом свитче мы будем осуществлять плавный перевод абонентов на новую схему работы. Правда,​ будут и такие абоненты,​ которые останутся на PPPoE на неопределенное время.