Данный документ описывает функционал поддержки VPN-доступа через RADIUS-сервер, полностью доступный в NETAMS с версии сборки 4.0.1360 (15 февраля 2012 г.)
Услуга VPN-доступа предоставляется путем терминации на вашем сервере псевдо-dialup соединений, устанавливаемых абонентами поверх существующих сетевых подключений. В качестве серверов доступа проверены и протестированы pptpd, accel-ppp (pptp), openvpn (Debian Linux).
Для предоставления подобных услуг вы должны последовательно настроить:
- сервер доступа (ppp, pptp, openvpn-службы)
- авторизацию сервера доступа через библиотеку RADIUS (radiusclient или встроенные решения)
- RADIUS-сервер из комплекта поставки NETAMS 4.0
- зарегистрировать сервер доступа (NAS)
- настроить RADIUS-источник данных в административном веб-интерфейсе
- создать тарифный план на основе обработчика XPrepaidByDaysVPN1
- создать абонента, назначить ему тарифный план, и протестировать работу
Схема взаимодействия всех компонентов приведена ниже:
Настройка сервера доступа
Опишем процедуры настройки на примере pptpd из комплекта Debian Linux 6.0.3
Опустим детали, в результате настройки должны получиться конфигурационные файлы такого вида:
root@debian:~# cat /etc/pptpd.confoption /etc/ppp/pptpd-options
debug
logwtmp
localip 172.16.130.1
remoteip 172.16.130.2-254
connections 252
и
root@debian:~# cat /etc/ppp/pptpd-options
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 8.8.8.8
proxyarp
defaultroute
debug
dump
lock
nobsdcomp
# внимание! очень важно:
plugin radius.so
plugin radattr.so
Настройка RADIUS-клиента
На примере libradiusclient1. Эта библиотека служит для связи сервера доступа (pptp/ppp) и RADIUS-сервера, т.е. для передачи запросов на авторизацию и учета состояния подключения (аккаунтинга). Конфигурационные файлы этой бибилиотеки хранятся в каталоге /etc/radiusclient/
Необходимо:
из дистрибутива /usr/local/netams4/radius/misc переписать файл dictionary.microsoft в каталог /etc/radiusclient/. Этот файл содержит в себе описание специфичных атрибутов, требуемых для авторизации по протоколу MS-CHAP V2, а также для передачи ключей шифрования MPPE.
из дистрибутива /usr/local/netams4/radius/misc переписать скрипт bwlimit в каталог /etc/ppp/ip-up.d/. Этот скрипт запускается в момент установления соединения и позволяет настраивать ограниения скорости для абонента путем настройки правил шайпера tc.
в конец конфигурационного файла /etc/radiusclient/dictionary дописать следующие строки:
ATTRIBUTE PPPD-Upstream-Speed-Limit 230 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit 231 integer
ATTRIBUTE Acct-Interim-Interval 85 integer
INCLUDE /etc/radiusclient/dictionary.microsoft
в файле /etc/radiusclient/radiusclient.conf указать IP-адреса нашего RADIUS-сервера (из поставки NETAMS 4.0):
authserver 127.0.0.1:1812
acctserver 127.0.0.1:1813
в файле /etc/radiusclient/servers указать пароль (shared secret) нашего RADIUS-сервера:
127.0.0.1 testing
Настройка RADIUS-сервера
Сервер поставляется в дистрибутиве и расположен в каталоге /usr/local/netams4/radius/
По умолчанию, запуск его в стартап-скрипта (startup.sh) закомментирован. Запустить RADIUS-сервер можно так:
cd radius && /bin/sh radius-startup.sh && cd ..
Других настроек сервер не имеет. Параметры подключения к ядру биллинга (jserver) берутся из общего файла netams4.properties, список NAS-серверов с паролями - при старте у jserver. Изменение списка серверов доступа требует рестарта процесса java, отвечающего на RADIUS-сервер.
Настройка серверов доступа
Процедура подробно описана в разделе: Сервера доступа
Настройка источника данных
Процедура подробно описана в разделе: RADIUS
Настройка тарифного плана
Процедура подробно описана в разделе: XPrepaidByDaysVPN1
Создание абонента и проверка
Эти процедуры подробно описаны в соответствующих разделах, например Работа с абонентом