Предоставление xПредоставление некоммутируемых услуг Internet.
...
При включении сессии выполняется правило указанное в конфигурационном файле (config.pl) $conf{INTERNET_IPOE_START} при завершении $conf{INTERNET_IPOE_STOP}. Система данным командам передаёт следующие атрибуты
| %IP | IP адрес клиента |
|---|---|
| %MASK | Битная маска (/32, /24) |
| %NUM | Номер правила ($conf{INTERNET_IPOE_FIRST_RULE} + (PORT или последняя цифра IP адреса)) |
| %LOGIN | Логин |
| %SPEED_IN | Входящая скорость |
| %SPEED_OUT | Исходящая скорость |
а также переменные окружения
| NAS_IP_ADDRESS | IP адрес сервера доступа |
|---|---|
| NAS_MNG_USER | Пользователь для управления сервером доступа |
| NAS_MNG_IP_PORT | IP:PORT управления сервером доступа |
| NAS_MNG_IP | NAS IP управления |
| NAS_MNG_PORT | порт управления сервером доступа |
| NAS_ID | Номер сервера доступа |
| NAS_TYPE | Тип сервера доступа |
В качестве шейпера удобно использовать /usr/abills/libexec/linkupdown.
...
Управление доступом, шейпером и переинициализация сессий при перезагрузке сервера осуществляется программой/usr/local/etc/rc.d/shaper_start.sh
параметры /etc/rc.conf
| abills_shaper_enable="YES" | Поднятие правил шейпера при перезапуске системы |
|---|---|
| abills_ipn_nas_id="Номер IPN наса" | Номер сервера доступа. Обязательный параметр |
| abills_ipn_if="интерфейс к которому подключаются пользователи" | Интерфейс к которому подключаются клиенты |
| abills_ipn_allow_ip="разрешённые ип адреса" | Разрешённые без авторизации IP адреса. Разделяются запятой |
| abills_nat="xx.xx.xx.xx:10.0.0.0/16:interface" | Если нужно использовать NAT |
При использовании шейпера ipfw система по умолчанию использует правила с номера 20000 по 40000. Для изменения номера начального правила можно воспользоваться опцией $conf{IPN_FW_FIRST_RULE}.
...
abills_shaper_enable="YES" abills_ipn_if="eth0,eth2" abills_nat_enable=":192.168.0.0/24:eth1"
| eth0,eth2 | Интерфейс в локальную сеть, к которому подключены пользователи |
|---|---|
| eth1 | Интерфейс наружу |
| 192.168.0.1 | Локальный IP сервера |
| 192.168.0.0/255.255.255.0 | Локальная сеть |
или альтернативный скрипт
...
При выполнении правил шейпера и фильтра в переменные среды передаются дополнительные параметры:
| Параметр | Описание |
|---|---|
| NAS_IP_ADDRESS | IP адрес сервера доступа |
| NAS_MNG_USER | Пользователь для управления сервером доступа |
| NAS_MNG_IP_PORT | IP:PORT управления сервером доступа |
| NAS_MNG_IP | NAS IP управления |
| NAS_MNG_PORT | порт управления сервером доступа |
| NAS_ID | Номер сервера доступа |
| NAS_TYPE | Тип сервера доступа |
Система автоматически определяет по переменной окрежения NAS_MNG_IP_PORT при старте сесии выполнять данную команду локально или на удалённом сервере.
...
/usr/abills/misc/certs_create.sh ssh abillsacp_kazna_admin39
На удалённом сервере.
- Создать пользователя abillsacp_kazna_admin 39 на удалённом сервере.
- Скопировать созданный публичный ключ abills/Certs/id_rsa.abillsacp_kazna_admin39.pub в /home/abillsacp_kazna_admin39/.ssh/authorized_keys на удалённом сервере.
- Сделать копию биллинга на удалённом сервере.
- Создать правила для выполнения команд с правами суперпользователя на удалённом сервере.
/etc/sudoers (для FreeBSD - /usr/local/etc/sudoers)
#Allow ABillS shapper abillsacp_kazna_admin39 ALL = NOPASSWD: /usr/abills/libexec/linkupdown abillsacp_kazna_admin39 ALL = NOPASSWD: /sbin/ipfw
...
/usr/abills/libexec/periodic monthly MODULES=Internet LOGON_ACTIVE_USERS
Параметры:
| NAS_IDS=1;2 | Идентификаторы серверов доступа. По умолчанию система переинициализирует пользователей на всех серверах доступа с типом 'ipcad' |
|---|---|
| TP_ID=3,6 | Номера тарифных планов для активации. По умолчанию все |
| LOGIN=test,test3 | Логины пользователей. По умолчанию все |
| GID=1 | Группы пользователей |
| DEBUG=… | Дебаг режимы 1-4 Детализация процесса 5 - Отображать команды на выполнение 6 - Отображать команды но не выполнять |
| $conf{INTERNET_IPOE_NAS_TYPES}='nas_type1,nas_type2'; | список типов серверов доступа которые будут работать как IPoE сервера с ручным включением |
Рестарт активных IPoE сессий
...
/usr/abills/libexec/periodic monthly MODULES=Internet SRESTART=1 NO_ADM_REPORT=1 NAS_IDS=1 LOCAL_NAS=1 FN=ipoe_periodic_session_restart
| NAS_IDS=1 | Список серверов доступа для рестарта |
|---|---|
| LOCAL_NAS=1 | работать как с локальным сервером доступа. Указывается номер NAS Опция NAS_IDS игнорируется |
| FN=ipoe_periodic_session_restart | Функция рестарта |
Ротация логов сервиса IPN
...