Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
| Порівняння попередніх версій Попередня ревізія | |||
|
freeradius [2023/06/15 20:01] nightfly знищено |
— (поточний) | ||
|---|---|---|---|
| Рядок 1: | Рядок 1: | ||
| - | ====== Внимание ====== | ||
| - | Данная реализация является устаревшей и неподдерживаемой с релиза 0.9.1, и эта документация может быть использована только для общего развития. Используйте в своей практической деятельности новый и очень крутой [[multigen|КучаГен]]. Даная реализация полностью выкорчевана начиная с релиза Ubilling 1.2.8. | ||
| - | {{: | ||
| - | ====== AAA с FreeRADIUS v2.0 ====== | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | Итак, начиная с версии 0.6.0 кардинально пересмотрена механика взаимодействия FreeRADIUS с Ubilling. Следовательно, | ||
| - | |||
| - | ===== Установка на FreeBSD 9.3 amd64 ===== | ||
| - | Первым делом установим сам FreeRADIUS с поддержкой MySQL и USER из портов (с 0.6.7 уже предустановлен и требует только включения в rc.conf): | ||
| - | < | ||
| - | # portsnap fetch extract | ||
| - | # cd / | ||
| - | # make WITH_MYSQL=yes WITH_USER=yes BATCH=yes install clean | ||
| - | </ | ||
| - | |||
| - | После успешного завершения установки добавим в `/ | ||
| - | < | ||
| - | radiusd_enable=" | ||
| - | </ | ||
| - | |||
| - | Далее заменим стандартные конфигурационные файлы нашими заготовками. Никто, кстати, | ||
| - | < | ||
| - | # cd / | ||
| - | # cp -r ./ | ||
| - | </ | ||
| - | |||
| - | По пути заливаем дамп таблиц FreeRADIUS в базу данных. Здесь предполагаем, | ||
| - | < | ||
| - | # mysql -u root -p stg < ./ | ||
| - | </ | ||
| - | |||
| - | Потом приступаем к конфигурированию соединения FreeRADIUS с БД Ubilling, редактируя следующие параметры в **/ | ||
| - | ^ Параметр | ||
| - | | server | ||
| - | | port | Порт сервера базы данных | ||
| - | | login | Пользователь | ||
| - | | password | ||
| - | | radius_db | Имя базы данных | ||
| - | |||
| - | Если все закончили, | ||
| - | < | ||
| - | # radiusd -X | ||
| - | </ | ||
| - | |||
| - | И если вы увидели нечто похожее на код ниже - можно продолжать дальше... | ||
| - | < | ||
| - | ... adding new socket proxy address * port 10049 | ||
| - | Listening on authentication address * port 1812 | ||
| - | Listening on accounting address * port 1813 | ||
| - | Listening on command file / | ||
| - | Listening on authentication address 127.0.0.1 port 18120 as server inner-tunnel | ||
| - | Listening on proxy address * port 1814 | ||
| - | Ready to process requests. | ||
| - | </ | ||
| - | |||
| - | ===== Включение поддержки FreeRADIUS самим Ubilling' | ||
| - | Всего лишь в `config/ | ||
| - | <code ini> | ||
| - | FREERADIUS_ENABLED = 1 | ||
| - | </ | ||
| - | После этого вы сможете: | ||
| - | - Редактировать сети, указывая какие используют RADIUS, а какие нет (по-умолчанию - нет); | ||
| - | - Указывать для каждой сети как //check// так и //reply// атрибуты для всей сети или для каждого пользователя (галочка " | ||
| - | - Указывать для каждого пользователя как //check// так и //reply// атрибуты с помощью " | ||
| - | |||
| - | ===== Настройка атрибутов ===== | ||
| - | Для каждого случая возможны различные наборы атрибутов. Поэтому их настройка будет приводиться для отдельных решений в соответствующих разделах документации. Для добавления/ | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | |||
| - | ===== Авторизация пользователей не по логину ===== | ||
| - | Для некоторых систем, | ||
| - | |||
| - | {{ : | ||
| - | ===== Макросы ===== | ||
| - | ^ Макрос ({*}) ^ Значение | ||
| - | | user[login] | ||
| - | | user[Password] | Пароль пользователя | ||
| - | | user[Tariff] | ||
| - | | user[state] | ||
| - | | nethost[ip] | ||
| - | | nethost[mac] | ||
| - | | network[id] | ||
| - | | network[ip] | ||
| - | | network[cidr] | ||
| - | | network[start] | Начальный IP сети | ||
| - | | network[end] | ||
| - | | network[desc] | ||
| - | | switch[ip] | ||
| - | | switch[port] | ||
| - | | speed[up] | ||
| - | | speed[down] | ||
| - | |||
| - | **Заметка**: | ||
| - | < | ||
| - | mpd-pipe | ||
| - | mpd-pipe | ||
| - | </ | ||
| - | MPD5 породит для пользователя со скоростью 4000/2000 нечто такое: | ||
| - | < | ||
| - | ipfw pipe 10000 config bw 4000Kbyte/s | ||
| - | ipfw pipe 10001 config bw 2000Kbyte/s | ||
| - | </ | ||
| - | |||
| - | ====== Об учёте трафика ====== | ||
| - | Сам сервер FreeRADIUS вести учёт трафика не будет! Трафик должен учитываться при помощи протокола NetFlow: сенсором будет выступать сам RADIUS-клиент, | ||
| - | |||
| - | ====== Как проверить все ли хорошо? | ||
| - | При запущенном в одном окне | ||
| - | # radiusd -X | ||
| - | | ||
| - | делаем в соседнем что-то вроде | ||
| - | |||
| - | # radtest testlogin testpassword 127.0.0.1 0 dec0071981b1 | ||
| - | | ||
| - | Где testlogin и testpassword как несложно догадаться - логин/ | ||
| - | |||
| - | {{: | ||
| - | |||
| - | Что мы должны увидеть в результате? | ||
| - | |||
| - | < | ||
| - | root@test93x64:/ | ||
| - | Sending Access-Request of id 154 to 127.0.0.1 port 1812 | ||
| - | User-Name = " | ||
| - | User-Password = " | ||
| - | NAS-IP-Address = 127.0.0.1 | ||
| - | NAS-Port = 0 | ||
| - | Message-Authenticator = 0x00000000000000000000000000000000 | ||
| - | rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=154, length=32 | ||
| - | Framed-IP-Address = 172.16.0.3 | ||
| - | Framed-IP-Netmask = 255.255.255.255 | ||
| - | |||
| - | </ | ||
| - | |||
| - | В случае если мы увидим что-то вроде | ||
| - | < | ||
| - | root@test93x64:/ | ||
| - | radclient:: Failed to find IP address for test93x64 | ||
| - | radclient: Nothing to send. | ||
| - | </ | ||
| - | |||
| - | стоит обратить внимание как минимум на **/ | ||
| - | < | ||
| - | 127.0.0.1 | ||
| - | </ | ||
| - | |||
| - | |||
| - | ====== Блокирование доступа должникам, | ||
| - | Для запрещения авторизации пользователям, | ||
| - | |||
| - | # cd / | ||
| - | # mysql -u root -p stg < ./ | ||