Описание
Модуль Eltex-APB предназначен для обмена информацией между точками доступа. Обеспечивает:
- Роуминг пользователей, подключившихся при помощи авторизации на WEB-портале,
- Настройку и передачу списков белых адресов при портальной авторизации,
Установка выполняется с помощью пакета eltex-apb.
Управление сервисом
| Действие | Команда | Ответ |
|---|---|---|
| Проверка состояния | service eltex-apb status | Сервис работает eltex-apb is running with pid <pid> Сервис не работает eltex-apb is not running |
| Запуск сервиса | service eltex-apb start | Сервис запустился Starting eltex-apb ... eltex-apb started Сервис уже работает eltex-apb is already running |
| Остановка сервиса | service eltex-apb stop | Сервис успешно остановлен Stopping eltex-apb ... eltex-apb stopped Сервис не остановлен, т.к. не был запущен eltex-apb is not running rm: cannot remove '/var/run/eltex-apb.pid': No such file or directory |
| Перезапуск сервиса | service eltex-apb restart | Сервис успешно перезапущен Stopping eltex-apb ... eltex-apb stopped Starting eltex-apb ... eltex-apb started |
Конфигурация
/etc/default/eltex-apb
- содержит основные настройки сервиса:
- Слушаемый порт:
PORT=8090
- Длина очереди запросов. При заполнении очереди, новые запросы будут игнорироваться сервером, пока старые запросы не будут обработаны (по дефолту очередь не будет накапливаться):
ACCEPT_QUEUE_SIZE=0
Максимальный размер буфера сообщения, в байтах:
MAX_TEXT_MESSAGE_BUFFER_SIZE=262144
Настройка памяти, выделяемой на работу сервиса (память выделяется на сам процесс, а не на кэш, прописанный в /etc/eltex-apb/ehcache.xml):
JAVA_INIT_HEAP=128m JAVA_MAX_HEAP=2048m
/etc/eltex-apb/apb.properties
- файл содержит настройки для подключения к сервису Mercury,
mercury.host=localhost mercury.port=6565 mercury.pool.size=100
расположения необходимых файлов
# Config filePath to cache cache.config=/etc/eltex-apb/ehcache.xml # list of permitted files to hosts.file=/etc/eltex-apb/hosts.json
А так же время ожидания запроса подписки после подключения точки доступа к серверу, в секундах
subscribe.idle.timeout=60
Максимальное количество исходящих сообщений для очереди на каждый сеанс
session.outgoingQueue=100
/etc/eltex-apb/ehcache.xml
- системные настройки хранения данных о Wi-Fi пользователей, подключенных на портале. При необходимости название и расположение файла может быть изменено в /etc/eltex-apb/apb.properties.
- Количество оперативной памяти, выделяемое для хранения таблицы авторизованных пользователей настраивается в:
<cache name="users" maxBytesLocalHeap="200M" eternal="false" timeToLiveSeconds="43200" memoryStoreEvictionPolicy="LRU">
параметр
maxBytesLocalHeap="200M"- Количество оперативной памяти, выделяемое для хранения таблицы с белыми списками в разделе:
<cache name="hosts" maxBytesLocalHeap="128M" eternal="true"> <persistence strategy="none"/> </cache>
параметр
maxBytesLocalHeap="128M"/etc/eltex-apb/hosts.json
- файл в формате json, содержащий набор списков белых адресов. В данном конфигурационном файле выполняется настройка списков разрешенных IP-адресов для перехода до авторизации на портале. При необходимости название и расположение файла может быть изменено в /etc/eltex-apb/apb.properties. При установке пакета eltex-apb по дефолту будет добавлен список белых адресов, достаточный для подключения пользователей к yandex кассе.
Содержание файла hosts.json:
[
{
"mobility-domain-list": [
{
"mobility-domain": "nsk.ru",
"radius-domain": "root",
"ssid": "Eltex-Local"
}
],
"permitted-ip-list": [
"eltex.nsk.ru",
"eltex.org"
]
},
{
"mobility-domain-list": [
{
"mobility-domain": "spb.ru"
},
{
"mobility-domain": "msk.ru",
"radius-domain": "root"
}
],
"permitted-ip-list": [
"rostelecom.ru"
]
},
{
"permitted-ip-list": [
"213.222.201.16",
"213.222.198.16",
"213.180.193.51",
"192.225.158.3",
"180.97.33.83",
"178.162.216.178" ........
]
}
]
По умолчанию в конфигурационном файле добавлен список разрешенных IP-адресов, которые необходимы для авторизации через Яндекс-кассы. Данный список применяется для всех пользователей.
При необходимости его можно расширить, используя следующие примеры:
- Белый список (список IP-адресов, доступ до которых разрешен клиенту до авторизации), общий для всех подключенных точек задается в формате:
[{
"permitted-ip-list": [
"esia-portal1.test.gosuslugi.ru",
"esia.gosuslugi.ru",
]
}]
- Для того, чтобы список белых адресов назначался на точки с определенным SSID и доменом. используется следующий формат:
[{
"mobility-domain-list": [
{
"mobility-domain": "nsk.ru",
"radius-domain": "root",
"ssid": "Eltex-Local"
}
],
"permitted-ip-list": [
"eltex.nsk.ru",
"eltex.org"
]
}]
Запись в приведенном выше конфигурационном файле говорит о том, что если на сервис поступит информация о пользователе, чьим mobility domain является nsk.ru, radius-domain является root, а ssid – Eltex-Local, данному пльзователю в список разрешенныхIP-адресов для перехода до авторизации на портале помимо дефолтных добавятся адреса eltex.nsk.ru и eltex.org. То есть адреса, находящиеся в «permitted-ip-list», применятся для пользователя в случае полного совпадения всех ключей, описанных в рамках одного «mobility-domain-list».
Если параметры пользователя удовлетворяют критериям нескольких правил, ему будут разрешены для доступа IP-адреса из всех таких правил.
Из конфигурации SSID на точках доступа с версии 1.10 удален параметр mobility-domain, вместо него используется ap-location, который полностью ему соответствует, но теперь находится в разделе сетевых настроек.
Настройка подключения точек доступа к сервису APB
Подключение к сервису APB на точке доступа можно настроить через GUI EMS.
Для настройки роуминга пользователей при портальной авторизации необходимо перейти в раздел Конфигурация → Captive Portal.Global, указать адрес Roaming Service URL =
ws://<IP адрес APB>:8090/apb/broadcast
где <IP адрес APB> - адрес APB, доступный из сети управления точками доступа.
Также настройте «Roaming no action timeout» (время, через которое ТД удалит устаревшие/неактивные записи о клиентах в роуминге). Параметр «Roaming no action timeout» должен быть не меньше максимальной длительности тарифного плана
Затем во вкладке «Виртуальные точки доступа» необходимо открыть настраиваемый SSID и в блоке настроек Captive Portal указать «User Mobility Domain» (должен быть одинаковым для всех точек доступа, которые будут участвовать в роуминге).

