Общая схема
Рис. 1.
Quickstart
Установите SoftWLC и сервис-активатор:
- В файле /etc/eltex-wifi-sa/factory-fw.conf скорректируйте версии ПО, чтобы версия подключаемой точки доступа (ТД) соответствовала им. Параметр downgrade переведите в состояние false. В директорию /var/lib/eltex-wifi-sa/firmware/ загрузите файл прошивки ТД и переименуйте его в соответствии с именем файла ПО, указанном в /etc/eltex-wifi-sa/factory-fw.conf.
- В директорию /etc/eltex-wifi-sa/ загрузите корневой сертификат и сертификат сервис-активатора.
- В файле /etc/eltex-wifi-sa/application.conf скорректируйте имена корневого сертификата и сертификата сервис-активатора. Параметр CheckMAC переведите в значение yes. Перезапустите сервис-активатор:
service eltex-wifi-sa restart. - Создайте домен для ESR и поддомен точек доступа ОТТ.
- Создайте правило инициализации для требуемого типа точки доступа. В качестве транспорта SNMP обязательно должен быть указан TCP протокол. (см. Инициализация ТД )
- Сделайте привязку правила инициализации к точке доступа ОТТ. В привязке должен быть установлен флаг "Connected".(см. Инициализация ТД )
- Создайте профиль OTT с параметрами IPsec. В качестве параметра "IPsec password" должен быть указан пароль, прописанный в конфигурации ESR, например "testing123". В NBI – команда CreateOttProfile.(см. ESR OTT)
- Заведите в EMS ESR в домене для точек доступа ОТТ. Во вкладке доступ установите флаг OTT: ServiceProvider и активируйте флаг BRAS. Убедитесь, что ESR доступен с SoftWLC. (см. ESR OTT)
- В таблице NAS (Вкладка Radius - Точки Доступа) скорректируйте пароль для RADIUS ESR, указанный в его конфигурации, например "testing123".
- В конфигурации ESR во вкладке OTT укажите белый IP ESR и выберите профиль OTT. В NBI – команда CreateOttStation. (см. ESR OTT)
- Создайте и привяжите к домену ОТТ SSID. В параметрах SSID обязательно укажите Location, указанный в конфигурации ESR, например "testing2".(см. Инициализация ТД )
- В Личном Кабинете в Настройках во вкладке "Система" активируйте флаг "Настройка шейперов в дереве доменов", выйдете и зайдите снова в Личный Кабинет. (см Настройка шейперов в Личном Кабинете)
- После этого в Настройках во вкладке "Дерево доменов" активируйте шейпер на SSID.(см Настройка шейперов в Личном Кабинете)
Общее описание
Сервис-активатор
Сервис-Активатор – это сервер на базе архитектуры x86, операционной системы Ubuntu 16.04 или 18.04 с установленным специализированным ПО. Его задачей является принятие POST HTTPs запросов от точек доступа, их обработка и обмен информацией с SoftWLC. С программной точки зрения Сервис-Активатор – это WEB-сервер. Для получения запросов от точек доступа Сервис-Активатор должен иметь открытый порт 8043 и белый IP-адрес. Так как точки доступа будут обращаться на Сервис-Активатор по URL, необходимо организовать привязку белого IP-адреса Сервис-Активатора к доменному имени на DNS-серверах. Другим сетевым интерфейсом Сервис-Активатор должен быть связан с модулем EMS, то есть он должен быть помещен в единое адресное пространство модулей SoftWLC. Для обеспечения безопасности трафик между Сервис-Активатором и EMS должен передаваться через сетевой экран (firewall). Для взаимодействия Сервис-Активатора и SoftWLC на firewall должны быть открыт порт 8080 (HTTP), по которому Сервис-Активатор обращается к EMS.
Сервис-Активатор относительно сети Интернет может быть размещен за Прокси-cервером и иметь серый IP-адрес для взаимодействия с точками доступа. Соответственно, Прокси-cервер должен пробрасывать POST-запросы на сервис-активатор с подменой или без подмены TCP-порта. В конфигурационных файлах сервис-активатора возможно настроить номер TCP-порта, который сервер будет прослушивать.
После того, как точка доступа отправляет HTTPs-запрос сервис-активатору со своими данными, сервис-активатор производит проверку сертификата точки доступа. Для этого на сервис-активаторе должен храниться корневой сертификат и подписанный им сертификат сервис-активатора, содержащий Provider-ID. Provider-ID – идентификатор провайдера услуги. Он необходим для того, чтобы только точки доступа, принадлежащие определенному провайдеру, могли подключиться к сервис-активатору только этого провайдера. Опционально сервис-активатор может проверить соответствие MAC-адреса точки доступа, содержащегося в сертификате точки доступа и MAC-адреса самой точки доступа. Это защищает провайдера от кражи сертификата с одной точки доступа и заливке его на другую точку. Если процедура проверки сертификатов, handshake и т.д. прошли успешно, то сервис-активатор приступает к проверке актуальности ПО точки доступа. Сопоставление актуальных версий ПО моделям точек доступа хранится в файле конфигурации /etc/eltex-wifi-sa/factory-fw.conf. Если версия ПО пришедшей на сервис-активатор точки доступа отличается от версии, указанной в этом файле, то сервис-активатор дает точке доступа команду на обновление ПО. То есть на сервис-активаторе заранее должны быть размещены файлы ПО для используемых моделей точек доступа.
Если файл ПО не размещен на сервис-активаторе или версия ПО точки соответствует актуальной версии, указанной на сервис-активаторе, то он переходит к поиску привязки правила инициализации для этой точки в базе данных. В случае, если привязки нет, сервис-активатор помещает точку доступа в "песочницу" до момента появления привязки.
Можно отключить возможность понижения версии (даунгрейда) ПО точек доступа. Тогда обновлению будут подлежать только точки доступа, версия которых ниже версии, указанной на сервис-активаторе. |
Прежде чем осуществить привязку точки доступа необходимо предварительно создать 2 объекта в системе:
Профиль OTT. В данном профиле содержится полный набор настроек IPsec, в соответствии с которыми точка доступа и ESR будут создавать IPsec-туннели. Возможные настройки в профиле ОТТ приведены в
Приложении 1. В NBI за создание данного профиля отвечает команда CreateOttProfile.
Привязка профиля OTT к ESR. Производится привязка белых IP-адресов ESR к профилю ОТТ, созданному ранее. В результате параметры IPsec из профиля OTT сопоставляются с определенным ESR. Далее, когда сервис-активатор, выберет для точки доступа ESR, он отправит ей вместе с его белым IP-адресом параметры IPsec, привязанные к этому ESR. В результате появляется гарантия, что при поднятии туннеля и со стороны точки доступа и со стороны ESR будут использоваться одинаковые параметры IPsec. Дополнительно в конфигурации ESR можно корректировать параметры IPsec, установленные на нем привязкой профиля. За создание привязки профиля OTT к ESR в NBI отвечает команда CreateOttStation.
Для осуществления привязки профиля OTT к ESR и дальнейшего выбора сервис-активатором ESR для точки доступа необходимо, чтобы ESR заранее были заведены в дерево устройств EMS. На них должны быть активированы флаги ОТТ (в режиме Service Provider), которые указывают системе на готовность ESR работать с точками доступа по модели ОТТ. Кроме того, на них должны быть настроены белые IP-адреса. ESR должны быть помещены в те же домены, в которые будут инициализироваться согласно привязкам к правилам инициализации точки доступа OTT. Также точки могут быть проинициализированы в поддомены того домена, в котором будут находиться ESR.
После того, как все объекты созданы, необходимо произвести привязку точки доступа к правилу инициализации по ее MAC. В привязке нужно выставить флаг OTT в режим Connected. В качестве домена узла выбирается домен, в котором находятся ESR OTT или его поддомен более низкого уровня.
После создания привязки к правилу инициализации сервис-активатор производит выбор ESR, на который точка доступа должна будет построить IPsec туннель по следующему алгоритму: сервис-активатор начинает поиск ESR с установленным флагом OTT в домене, где находится точка доступа согласно привязке правила инициализации. Если в текущем домене таких ESR нет, то алгоритм поднимается в дереве доменов на один выше и продолжает подниматься до тех пор, пока не найдет OTT ESR. Если OTT ESR не будет найден, то сервис-активатор вернет точке ошибку с кодом 4022. Среди найденных в домене ОТТ ESR сервис-активатор выбирает тот, на который нагрузка на текущий момент ниже и к которому подключено наименьшее количество точек доступа. После этого сервис-активатор генерирует уникальную пару логина и пароля для X-Auth авторизации и отправляет точке доступа итоговое сообщение, включающее белый IP ESR, параметры IPsec, содержащиеся в конфигурации ESR, пару логин/пароль для X-Auth.
Для того, чтобы между точками доступа работал бесшовный роуминг, точки доступа должны быть подключены к одному ESR. В алгоритме выбора ESR, если точка доступа помещается в домен, в котором уже находятся другие точки, то приоритет отдается тому же ESR, к которому подключены и остальные точки в домене. |
Автоматическая активация услуги по умолчанию.
На сервис-активаторе существует возможность автоматического добавления точки доступа в дефолтный домен. Это необходимо если требуется активировать на точке доступа дефолтную услугу Wi-Fi сразу после ее установки без участия оператора и без привязки точки к правилу инициализации. Для этого в системе создайте домен "ott.root" и привязку к правилу инициализации ключа "ott_default" в домене узла "ott.root". Привяжите SSID к домену. К SSID привяжите портал, который будут видеть все пользователи, подключившиеся к точке доступа, попавшей в дефолтный домен. В домене должны быть установлены ESR с активированными флагами OTT и привязанными профилями OTT.
После проведения этой серии операций алгоритм подключения точки будет следующим:
- Сразу после установки точка доступа отправит POST-запрос на сервис-активатор со своими параметрами.
- Сервис-активатор, не найдя привязки к правилу инициализации по MAC-адресу этой точки добавит ее в дефолтный домен и запустит процедуру поиска оптимального ESR из дефолтного домена для точки.
- На точку доступа будет отправлено сообщение с параметрами, необходимыми для построения IPsec-туннеля.
- Точка доступа построит туннели и подключится к SoftWLC, после чего произойдет процедура инициализации точки доступа и на ней будет активирован SSID, привязанный к дефолтному домену.
В результате на точке доступа автоматически без ручной работы оператора будет активна дефолтная услуга.
При использовании дефолтного домена все точки доступа всех клиентов, для которых отсутствуют привязки к правилам инициализации по MAС, будут попадать в дефолтный домен. При этом, с точки зрения системы, не будет какого-либо идентификатора, указывающего на принадлежность точки доступа определенному клиенту. В результате вся статистика и другая информация о точке и подключившихся пользователях не будет идентифицироваться принадлежностью к какому-либо клиенту и не будет фильтроваться по признаку клиента. Для привязки точки доступа к определенному клиенту необходимо создать привязки правила инициализации точки по MAC в домен клиента, удалить точку из дефолтного домена с последующей переинициализацией. При включении дефолтного домена оператор берет на себя ответственность за контроль точек доступа и услуг в рамках дефолтного домена. |
Диаграмма работы сервис-активатора
Рис. 2.
Конфигурационные файлы
Конфигурационные файлы сервис-активатора располагаются в директории "/etc/eltex-wifi-sa/". Для применения изменений в конфигурационных файлах требуется перезапуск Сервис-Активатора командой: "service eltex-wifi-sa restart".
Описание параметров, содержащихся в конфигурационных файлах:
Конфигурационный файл "application.conf".
В данном файле содержится основная конфигурация Сервис-Активатора.
Имя параметра | Значения | Рекомендуемое значение дл эксплуатации | Описание |
---|
logLevel | debug, info, warn, error | info | Уровень логирования. Логи записываются в файл /var/log/eltex-wifi-sa/main.log. |
requestTimeout | integer | 45 | Mаксимальное время обработки запроса (0 для бесконечного). Если значение параметра превышено, сервер считается перегруженным. |
http { enabled | yes, no | true | Включение приема запросов от точек доступа по протоколу HTTP. |
http { port | integer (0-65535) | 8042 | Номер порта TCP, на котором сервис-активатор будет прослушивать запросы от точек по HTTP. |
https { enabled | yes, no | true | Включение приема запросов от точек доступа по протоколу HTTP. |
https { port | integer (0-65535) | 8043 | Номер порта TCP, на который сервис-активатор будет прослушивать запросы от точек по HTTPs. |
https { keyStore { path
| string | server.p12 | Путь до сертификата сервис-активатора. Если сертификат лежит в той же директории, где и конфигурационный файл, то достаточно указать имя сертификата. |
https { keyStore { password | string | "" | Пароль для сертификата сервис-активатора. В большинстве случаев – пустая строка. |
https { clients { certificate | string | client.crt | Путь до корневого сертификата. Если сертификат лежит в той же директории, где и конфигурационный файл, то достаточно указать имя сертификата. |
https { clients { checkMAC | yes, no | yes | Включение проверки MAC-адреса в сертификате, передаваемом точкой доступа. |
https { clients { fwCheckCrt | yes, no | yes | Включение проверки ProviderID в сертификате, передаваемом точкой доступа. |
ems { host | localhost или IP адрес |
| Адрес EMS-сервера, с которым взаимодействует сервис-активатор. |
ems { port | integer (0-65535) | 8080 | Номер порта, по которому сервис-активатор обращается к EMS. |
ems { parallelLimit | integer | 5 | Максимальное количество параллельных запросов на EMS-сервер |
ipsec-activator { wait-timer | integer | 180 | Время таймаута, в течение которого точка пытается установить IPsec-соединение. По истечению таймаута выполняется перезагрузка точки доступа. |
ipsec-activator { update-time | integer | 600 | Время таймаута, в течение которого точка пытается обновить ПО с сервис-активатора. По истечению таймаута выполняется перезагрузка точки доступа. |
Конфигурационный файл "factory-fw.conf"
В данном файле содержатся настройки по автоматическому обновлению точек доступа на актуальные версии ПО.
Имя параметра | Значения | Рекомендуемое значение дл эксплуатации | Описание |
---|
downgrade | true, false | false | Разрешает\запрещает даунгрейд ПО ТД в случае, если версия ПО не совпадает с версией указанной в конфигурации |
min | string |
| Версия ПО, актуальная для точки доступа |
file | string |
| Имя файла ПО, размещенного в /var/lib/eltex-wifi-sa/firmware/ |
Конфигурационный файл /usr/lib/eltex-radius-nbi/conf/ott/ott.xml
В данном файле содержится информация о максимальном количестве точек доступа ОТТ, которые могут быть подключены к данному типу ESR. Когда на Сервис-Активатор приходит очередная точка доступа, то Сервис-Активатор находит в домене ESR OTT и проверяет, какое количество точек доступа к нему привязано. Если это количество равно или превышает количество точек доступа, указанное в данном файле для этого типа ESR, то Сервис-Активатор считает этот ESR загруженным максимально и начинает искать в этом домене или в доменах выше другой, более свободный ESR.
Имя параметра | Значения | Рекомендуемое значение дл эксплуатации | Описание |
---|
subtype | 100, 200, 1000, 1200, 1500, 1700 |
| Тип ESR (ESR-100, ESR-200, ESR-1000, ESR-1200, ESR-1500, ESR-1700) |
max |
|
| Максимальное количество точек ОТТ для данного ESR |
param name, default, regex, description |
|
| Название, дефолтное значение, регулярное выражение и описание параметров, содержащихся в профиле ОТТ. |
Минимальные требования к серверу сервис-активатора.
- CPU 2 Core
- RAM 8GB
- HDD 100GB (до 5000 ТД)
Установка сервис-активатора
root@vagrant-ubuntu-trusty-64:/home/vagrant# echo "deb [arch=amd64] http://archive.eltex-co.ru/wireless softwlc-1.18-xenial main" >> /etc/apt/sources.list.d/eltex.list
root@vagrant-ubuntu-trusty-64:/home/vagrant# wget -O - http://archive.eltex-co.ru/wireless/repo.gpg.key | sudo apt-key add -
root@vagrant-ubuntu-trusty-64:/home/vagrant# apt-get update
root@vagrant-ubuntu-trusty-64:/home/vagrant# apt-get install openjdk-8-jdk
root@vagrant-ubuntu-trusty-64:/home/vagrant# update-java-alternatives -s java-1.8.0-openjdk-amd64
root@vagrant-ubuntu-trusty-64:/home/vagrant# apt-get install eltex-wifi-sa
В случае, если Сервис-Активатор устанавливается на отдельном сервере, в файле /etc/eltex-wifi-sa/application.conf необходимо прописать параметры доступа к серверу EMS и перезапустить Сервис-Активатор:
ems {
host = "localhost"
port = 8080
ESR
В рамках услуги ОТТ ESR должен иметь 2 шлюза по умолчанию для передачи трафика в сеть Интернет. Через один шлюз, который прописывается в таблице маршрутизации как классический Default Gateway, ESR осуществляет передачу пакетов IPsec. В этой подсети ESR должен иметь интерфейс с белым IP-адресом. На этот IP-адрес точки доступа будут строить туннели IPsec, порты 500 и 4500 должны быть открыты. Через второй шлюз ESR передает в сеть Интернет абонентский трафик, распакованный из туннелей. Для того, чтобы исключить проблему 2 дефолтных шлюзов в одном пространстве маршрутизации, необходимо настроить опцию Next-Hop на Bridge, который является шлюзом для абонентского трафика и через который этот трафик далее маршрутизируется. Опция позволяет маршрутизировать весь абонентский трафик, пришедший на этот Bridge, через шлюз, указанный в опции Next-Hop в обход Default Gateway.
В рамках поднятия сессий IPsec выполняется этап X-Auth авторизации. При этом ESR получает от точки уникальные логин и пароль (которые ранее были сгенерированы сервис-активатором) и производит авторизацию путем отправки RADIUS-запросов на PCRF SoftWLC. PCRF при взаимодействии с базой Mongo DB возвращает ESR информацию о совпадении присланных точкой логина и пароля с логином и паролем в базе.
Резервирование
Резервирование ESR может производится по схеме N+1. В этом случае при аварии на одном из ESR в домене и разрыве IPsec-сессии точки доступа отправляют информацию на сервис-активатор о необходимости получения данных для подключения к новому ESR. Сервис-активатор выдает информацию о других ESR с учетом аварии и загруженности устройств. В результате происходит перебалансировка точек доступа с аварийного ESR на другие. Данная схема резервирования позволяет сократить число ESR в сети.
Когда один из ESR становится аварийным и точки доступа с него приходят на Сервис-Активатор, то Cервис-Активатор начинает поиск нового ESR для этих точек в том же домене, в котором они находятся. Если в этом домене нет ESR или нет свободных ESR, то Сервис-Активатор в дереве доменов поднимается на уровень выше и продолжает поиск там. Если там нет свободных ESR, то поднимается еще на уровень и т.д. Поэтому имеет смысл сделать несколько групп ESR и разместить их по региональному признаку в различных региональных доменах. Точки доступа этих регионов будут подключаться к своим региональным ESR. Таким образом, путь прохождения данных от точки до ESR будет ограничен конкретным регионом. При этом в корень ветки OTT можно разместить еще одну группу резервных ESR. В случае если ВСЕ ESR в регионе по каким-либо причинам выйдут из строя или станут недоступными, то у точек будет возможность переключиться на корневые ESR. Это увеличит путь прохождения пакетов, если корневые ESR стоят в другом регионе относительно точек доступа, однако позволит сохранить услугу. При этом региональные и корневые ESR могут быть привязаны к различным профилям OTT с различными параметрами IPsec, и переключение точек доступа между ними будет происходить корректно, т.к. точка доступа всегда получает с сервис-активатора именно те параметры IPsec, которые настроены на целевом ESR, к которому она подключена.
Рис. 3.
Рассмотрим работу резервирования на примере , изображенном на рис. 3:
- ТД находится в дереве в узле 3.
- Сервис-активатор, при обращении ТД, выбирает для нее один из ближайших по дереву ESR 1 или ESR2 в узле 2, в зависимости от загруженности.
- В случае отказа ESR 1, ТД будет отправляться сервис-активатором на оставшийся доступным ESR 2.
- В случае отказа ESR 1 и ESR 2 - будет найден новый ESR 3, который расположен уровнем выше по дереву в узле 1.
- Каждый раз при подключении ТД к сервис-активатору выполняется проверка, какой ближайший по дереву ESR может быть использован для построения OTT-соединения.
- После возврата в работу ESR 1 или ESR 2, при обращении ТД на сервис-активатор, она будет отправлена обратно на один из этих ESR.
Отказом ESR является его переход в "красный" статус. ESR в "зеленом" и "желтом" статусе считается доступным.
Схема включения ESR
Рис. 4.
- Физически используется один порт.
- Для взаимодействия с сетью Интернет используется интерфейс bridge1. Через него ходит трафик по дефолтному маршруту.
- IPsec прослушивает входящие подключения через bridge 1.
- IPsec подключение от ТД разбирается в bridge 1. GRE-пакеты передаются в bridge 2.
- Из GRE пакеты с VLAN управления ТД передаются в bridge 6.
- Клиентский трафик приходит в bridge 7 и из него согласно опции route-map маршрутизация осуществляется на соседний роутер, через который клиенты будут выходить в Интернет.
Схема резервирования ESR
Рис. 5.
- Роутеры ESR 1, ESR 2 и ESR N, на которых терминируется IPsec, подключены каждый к соответствующим роутерам PE 1, PE 2, PE N.
- ESR 1, ESR 2, ESR N анонсируют подсети управления, клиентов, IPsec-шлюза, используя BGP, на PE 1, PE 2, PE N соответсвенно.
- PE 1, PE 2, PE N анонсируют маршруты по умолчанию, подсети, необходимые для связи с SoftWLC.
- При отказе одного из ESR он становится недоступен. Точки доступа, определив, что IPsec соединение не устанавливается, обращаются к сервис-активатору, который видит аварию одного из ESR и передает параметры подключения ко второму. Точки доступа подключаются к новому ESR.
- На каждом ESR используются разные пулы IP адресов для управления точками доступа и абонентов WiFi.
Схема резервирвоания, когда ESR размещаются на разных уровнях дерева доменов рассмотрена на рис. 3.
Пример конфигурации ESR можно посмотреть в Приложении 3.
Точки доступа
В рамках работы по модели ОТТ точке доступа необходимо подключиться к сервис-активатору, получить параметры IPsec и авторизационные данные перед поднятием IPsec-туннелей. Способ подключения должен быть безопасным, поэтому следует использовать HTTPs, который в свою очередь требует наличия сертификатов, размещенных как на точке доступа, так и на сервис-активаторе. Для этого на точке доступа должен быть прописан URL сервис-активатора, на который она обратится. Это может быть сделано двумя способами:
1) Если провайдер услуги заключил Договор с Элтексом, то на этапе производства точек Элтекс может прошивать в них заранее подготовленный сертификат, который содержит уникальный для данного провайдера параметр "Provider-ID", а также уникальный URL сервис-активатора, на который должна будет обращаться точка доступа. Соответственно, данный URL должен быть заранее согласован между вендором и провайдером. В результате провайдеру отгружаются точки доступа, которые при установке на сети будут автоматически подключаться к сервис-активатору по URL из своего сертификата. Провайдеру услуги будет предоставлен сертификат для сервис-активатора и корневой сертификат. Сертификат сервис-активатора также содержит "Provider-ID", по которому сервис-активатор может проверить, принадлежит ли подключающаяся точка доступа данному провайдеру, и если нет – проигнорировать ее обращение. В данном варианте монтажнику, устанавливающему точку доступа, не требуется ничего настраивать, чтобы услуга заработала.
2) Если точки доступа используют провайдеры, не заключившие договор с Элтекс на производство точек доступа с уникальным Provider-ID, выпускаются точки доступа с дефолтным Provider-ID = "eltex" и незаполненным URL сервис-активатора. Пока URL сервис-активатора не заполнен, точка доступа работает как обычная точка доступа – режим OTT выключен. Для запуска режима ОТТ необходимо прописать URL сервис-активатора через CLI или WEB-интерфейс точки доступа. Точка начнет попытки подключения к сервис-активатору. Провайдеру передаются корневой сертификат и Сертификат сервис-активатора с Provider-ID = "eltex". Все точки с данным Provider-ID смогут подключиться к сервис-активатору, если в них прописать его URL. Однако, если не будет создана привязка к правилу инициализации для точки, то точка доступа просто попадет в "песочницу" и далее в систему не попадет. Благодаря этому ограничению "чужие" точки доступа не смогут получить услугу провайдера.
Все сертификаты точек доступа содержат MAC-адреса этих точек. При обращении точки доступа сервис-активатор опционально может проверить MAC, заложенный в сертификате и реальный MAC точки доступа. Если они будут отличаться, то сервис-активатор выдаст ошибку и не пропустит точку к следующим этапам активации. Эта процедура защищает провайдера от кражи сертификата с одной из точек доступа и установке его на другую точку с другим MAC.
Для работы точек доступа по модели ОТТ требуется наличие на точках загрузчика, адаптированного под данный режим работы. Загрузчик может быть прошит на точку доступа только в рамках производственного процесса Элтекс. Таким образом, модель ОТТ поддерживают только новые точки доступа Элтекс, прошедшие соответствующий этап производства. Провайдер может получить точки доступа, поддерживающие модель ОТТ, по специальному заказу через коммерческий отдел Элтекс. |
Если точка доступа работает по модели ОТТ (URL сервис-активатора прописан на точке), но вместе с получением первичного IP-адреса по DHCP точка доступа получает опцию 43 DHCP, то работа ОТТ на точке отключается. Точка начинает работать по классической схеме. |
При возникновении аварии на ESR точка доступа уйдет в перезагрузку и обратится на сервис-активатор через время:
(GRE_ping_counter x 10) + waite_timer,
где GRE_ping_counter – параметр в профиле ОТТ, waite_timer – параметр в конфигурации сервис-активатора.
По умолчанию это время составляет 3х10 + 180 = 210 секунд.
Пример пользовательского сценария
1) Монтажник устанавливает у клиента точку доступа Eltex с ПО, кастомизированным под провайдера услуги. Данное ПО содержит URL сервис-активатора провайдера по умолчанию. сервис-активатор устанавливается в центре обработки данных провайдера на отдельных серверах и является частью комплекса SoftWLC. Он имеет белый IP-адрес для подключения точек доступа и имеет доменное имя, прописанное на DNS провайдера.
2) Точка доступа получает из локальной сети IP-адрес по DHCP, другие сетевые реквизиты и доступ в Интернет. Если точка доступа получила в DHCP опцию 43, это значит, что точка доступа находится в сети провайдера и построение IPsec не требуется. Точка будет руководствоваться подопциями 43 опции и не запустит механизм ОТТ. Если точка доступа не получила опцию 43, она запускает механизм ОТТ.
3) Точка доступа по HTTPs связывается с сервис-активатором и передает ему:
- Серийный номер
- MAC-адрес
- Версию ПО
- Версию HW
- Provider-ID (в сертификате)
- MAC-адрес (в сертификате)
4) Сервис-активатор, получив запрос от точки, в случае совпадения Provider-ID и MAC точки из сертификата и успешного handshake, связывается по NBI с EMS, передает ему полученные от точки данные и делает запрос на наличие привязок правил инициализации к этой точке.
5) Далее может быть несколько вариантов:
- Если точка доступа по MAC-адресу была заранее привязана к правилу инициализации оператором, и монтажник установил эту точку: процедура инициализации начинается сразу.
- Если точка доступа на момент монтажа не привязана к правилу инициализации и привязка правила инициализации к дефолтному домену OTT отсутствует, EMS поместит точку доступа в свою "песочницу" и она будет отображаться как и все остальные точки доступа. Точка доступа с определенным интервалом будет продолжать подключаться к сервис-активатору, ожидая момента настройки в системе.
- Если точка доступа на момент монтажа не привязана к правилу инициализации и есть привязка правила инициализации к дефолтному домену OTT, точка доступа попадает под привязку к дефолтному домену ОТТ и проходит тот же сценарий подключения, что и точка, для которой существует привязка к правилу инициализации по MAC, но в рамках дефолтного домена OTT без идентификации принадлежности к какому-либо клиенту.
- Точка доступа внесена в черный список, поэтому точка не попадет в "песочницу".
6) Чтобы точка доступа построила IPsec-туннель, необходимо в EMS сделать привязку правила инициализации к ее MAC-адресу. При этом оператору необходимо поставить флаг подключения по ОТТ для точки доступа до ее реальной установки в сеть.
Помимо флага OTT еще одним, определяющим параметром, будет домен точки доступа. EMS отправляет сервис-активатору домен точки и флаг OTT в ответ на очередной запрос. Если в системе включен дефолтный домен ОТТ, то выполнение этого пункта не обязательно.
7) EMS, получив от оператора данные о точке доступа, производит следующие действия:
- Находит в цепочке домена уровень, на котором базируется пул ESR-1000. Соответственно, в EMS должны быть прописаны ESR-1000 в определенном домене и указаны их белые IP-адреса.
- EMS генерирует уникальную пару логин-пароль для поднятия шифрованного IPsec-соединения и помещает ее в базе данных (MongoDB ott.xauth ).
- В ответ на запрос сервис-активатора, EMS высылает параметры: белый IP-адрес выбранного ESR, логин и пароль (x-auth), универсальный пароль (он одинаков для всех точек доступа и ESR-1000 и статично прописывается в системе один раз, так как необходим для поднятия IPsec-сессии), параметры IPsec ESR.
- Сервис-активатор пересылает параметры точке доступа.
8) Получив необходимые данные, точка доступа начинает строить IPsec-туннель до ESR-1000. В рамках установки IPsec-соединения ESR-1000 получает от точки уникальные логин и пароль и производит их проверку на PCRF сервере SoftWLC. PCRF обращается к базе данных ott и проверяет, существует ли в таблице логин и пароль, полученные от точки. Если такие логин и пароль существует, то RADIUS шлет access-accept.
При установке IPsec точка получает второй IP-адрес в рамках установления IPsec-сессии и другие параметры. Этот IP-адрес точка использует для поднятие EoGRE туннелей (Management и Data) до ESR-1000 внутри IPsec туннеля.
Посмотреть таблицу, к которой обращается RADIUS можно следующим образом: root@vagrant-ubuntu-trusty-64:/home/vagrant# mongo > show databases; local 0.078125GB notification-gw 0.203125GB ott 0.203125GB pcrf 0.453125GB wifi-customer-cab 0.203125GB > use ott > show tables system.indexes xauth > db.xauth.find() { "_id" : ObjectId("5a6816b4e14c08c4d9c0854d"), "ipsec_login" : "login1", "ipsec_pass" : "password1" } { "_id" : ObjectId("5a6816b4e14c08c4d9c0854e"), "ipsec_login" : "login2", "ipsec_pass" : "password2" } { "_id" : ObjectId("5a6816b4e14c08c4d9c0854f"), "ipsec_login" : "login3", "ipsec_pass" : "password3" } |
9) Точка доступа связывается с SoftWLC по SNMP внутри Management GRE и проходит инициализацию так же, как и в существующей схеме.
10) Абонентский трафик проходит внутри Data GRE на ESR-1000 и маршрутизируется в сторону NAT.
Диаграмма обмена сообщениями
Рис. 6.
Конфигурирование.
Инициализация ТД
Для инициализации точек доступа, включенных по схеме OTT, создайте домен ott.root в дереве EMS.
В правилах инициализации создайте правило ott (Вкладка Wireless/Менеджер правил инициализации ТД/Правила). Правило инициализации ott должно быть создано для каждого типа вручную. В качестве транспорта для SNMP обязательно укажите TCP.
Рис. 7.
Создайте привязку инициализации с ключом ott_default, правилом инициализации ott и доменом ott.root.
Рис. 8.
Имя ключа ott_default можно посмотреть в подсказке, нажав кнопку
Рис.9.
Список используемых ключей привязок инициализации настраивается в EMS "Администрирование" → "Настройка сервера" → "Системные модули" → "wirelessCommon" в пункте "Ключи привязок инициализации". По умолчанию использование ключа "OTT Default" включено. |
После того, как привязка была создана, ее можно увидеть на вкладке ОТТ Привязки в Wireless/Менеджер правил инициализации ТД.
Рис. 10.
Создайте SSID с привязкой к домену ott.root (Wireless/Менеджер SSID). В поле Bridge, Location укажите location, соответствующий настройкам bridge на ESR.
Рис. 11.
Рис. 12.
ESR OTT
Активация параметра ОТТ: во вкладке Доступ установите значение параметра ServiceProvider и включите режим BRAS, активировав флаг BRAS сервис для ESR, включенных по ОТТ.
Рис. 13.
Задайте параметры IPsec на ESR. Для этого создайте профиль ОТТ и сделайте привязку к ESR.
Для того, чтобы создать профиль ОТТ во вкладке Wireless/Менеджер правил инициализации ТД откройте вкладку OTT profiles. Создайте профиль с необходимыми параметрами, нажав кнопку .
Рис. 14.
После того, как профиль был создан, его можно привязать к ESR. Для этого в дереве EMS выберите ESR и во вкладке Конфигурация перейдите на вкладку ОТТ.
Рис. 15.
Откройте окно редактирования ОТТ, нажав кнопку Редактировать. Выберите профиль ОТТ, созданный ранее и укажите белый IP-адрес ESR. В качестве параметра IPsec remote gateway укажите адрес шлюза, к которому будет обращаться точка доступа. Параметры ОТТ профиля и ОТТ на ESR должны совпадать.
Рис. 16.
Настройка IPsec на точке доступа, если отсутствует сервис-активатор
Зайдите в WEB-интерфейс точки, в меню Manage/OTT Settings
Рис. 17.
В кратком меню достаточно будет указать адрес удаленного роутера с IPsec, XAUTH логин и пароль (при условии, что пароль для XAUTH совпадает с паролем IPsec).
Если в расширенном меню активирован флаг Use XAUTH Password, то XAUTH совпадает с паролем IPsec. В противном случае IPsec Password необходимо задать. |
Открыв Advanced Settings, можно задать расширенные параметры IPsec
Рис. 18.
Если значение параметра Use ISAKMP Mode Config установлено как On, то параметры GRE Over IPsec Mgmt и GRE Over IPsec Data не учитываются. Если значение параметра Use ISAKMP Mode Config установлено как Off, то необходимо задать параметры IKE Gateway и параметры GRE Over IPsec Mgmt и GRE Over IPsec Data.
Рис. 19.
Подробнее о назначение параметров:
- IPsec Remote Gateway – IP-адрес шлюза или доменное имя (xxx.xxx.xxx.xxx / Доменное имя).
IPsec Operational Status – включение IPsec.
- XAUTH User – имя пользователя XAUTH, работает при "Use ISAKMP Mode Config On" (Диапазон: 4-16 символов).
- XAUTH Password – пароль пользователя XAUTH, работает при "Use ISAKMP Mode Config On" (Диапазон: 4-16 символов).
- IKE Authentication Algorithm – алгоритмы хеширования, предназначенные для проверки целостности данных (md5, sha1).
- IKE DH Group – группа алгоритмов Диффи-Хеллмана, чтобы установить общий секрет по незащищенной сети (1,2,5).
- IKE Encryption Algorithm – алгоритм шифрования для фазы 1 подключения IPsec (AES128, DES, 3DES).
- Use ISAKMP Mode Config – если «On» – игнорировать «GRE Over IPsec Mgmt», «GRE Over IPsec Data», «Локальный адрес IPsec», «Удаленная сеть IPsec», «Параметры IPsec Remote Mask».
- IKE Lifetime – IKE SA (жизненный цикл фазы 1) перед повторной аутентификацией. Должен быть идентичен по обе стороны туннеля IKE/IPsec (раздел, диапазон: 180–86400).
- Use NAT-T – установите этот флажок, если клиент за NAT.
- IPsec NAT Keepalive – интервал между пакетами keepalive NAT (Sec, Range: 1-300).
- IPsec Password – пароль с общим доступом для подключения IKE/ISPEC (диапазон: 8-48 символов).
- IPsec Local Address – адрес клиента, который используется как локальная сеть IKE с маской подсети 255.255.255.255 (/ 32). Значение игнорируется, если используется «Использовать режим режима ISAKMP Config On» (xxx.xxx.xxx.xxx).
- IPsec Remote Network – удаленная подсеть IKE. Значение игнорируется, если используется «Использовать режим режима ISAKMP Config On» (xxx.xxx.xxx.xxx).
- IPsec Remote Mask – IKE удаленная маска подсети. Значение игнорируется, если используется «Использовать режим режима ISAKMP Config On» (xxx.xxx.xxx.xxx).
- IPsec Authentication Algorithm – хеширующие алгоритмы, предназначенные для проверки целостности данных (md5, sha1).
- IPsec DH Group – алгоритмы Диффи-Хеллмана создают общий секрет по незащищенной сети. Значение 0 позволяет использовать секретный ключ из соединения IKE (0,1,2,5).
- IPsec Encryption Algorithm – алгоритм шифрования для фазы 1 подключения IPsec (AES128, DES, 3DES).
- IPsec DPD Delay – время через которое ESR будет слать пакеты точке доступа, с целью проверки ее доступности (диапазон: 5-600)
- IPsec Child SA Lifetime – срок службы IPsec VPN SA (жизненный цикл фазы 2) перед повторной аутентификацией. Должно быть одинаковым с обеих сторон туннеля IKE/IPsec. Должен быть меньше, чем IKE Lifetime (Sec, Range: 180-86400).
- Force Establish Tunnel – включить или отключить GRE через IPsec. Поскольку локальный IP-адрес GRE использует локальный адрес IPsec.
- GRE Over IPsec Mgmt – удаленный IP-адрес GRE для туннеля управления (xxx.xxx.xxx.xxx).
- GRE Over IPsec Data – удаленный IP-адрес GRE для туннеля управления данными (xxx.xxx.xxx.xxx).
- GRE MTU Offset – MTU устройства.Расчитывается как стандартное значение MTU - GRE MTU Offset.
GRE Ping Counter – количество пингов к gre-managment-ip, по неответу которых IPsec-соединение будет перезапущено. Пинг посылается каждые 10 сек. Параметр принимает значение от 3 до 60. По умолчанию 3.
Значение параметра IPsec child SA lifetime должно быть меньше значения параметра IKE lifetime. Кроме того они должны быть кратны. По умолчанию значение IKE lifetime установлено 86400 (сутки), а значение IPsec child SA lifetime 3600 (час). Получается за сутки ключ IPsec поменяется 24 раза, в то время как ключ IKE поменятеся один раз. |
Черный список ТД
Управление черным списком точек доступа может осуществляться с помощью GUI EMS.
Откройте Wireless/Менеджер правил инициализации/Черный список ТД
Рис. 20.
Нажмите кнопку и откроется окно для ввода МАС-адреса. Введите MAC-адрес точки доступа для занесения ее в черный список.
Рис. 21.
Ввести можно любое количество байт МАС-адреса. Заблокированы будут все MAC-адреса, которые начинаются с указанной строки.
Например, если в черный список добавлена строка aa:bb:01, то при вводе строки aa:bb:01:02:03:04 будет получен отказ "В черный список уже добавлена блокировка aa:bb:01". Если точка доступа внесена в черный список, то она не попадет в "песочницу".
Удаление OTT link
Условия, при которых происходит удаление OTT link:
- при удалении привязки инициализации ТД в EMS удаляется привязка ОТТ;
- при перемещении ТД в EMS удаляется привязка OTT, позже по необходимости создается заново;
- при удалении ESR из EMS удаляются все привязки ОТТ к нему;
- при редактировании IP ESR в EMS удаляются все привязки ОТТ к нему;
- при удалении ESR из EMS удаляется его ОТТ station;
- при перемещении ESR в другой домен нужно удалить все привязки OTT к нему;
Проверить удаление OTT станци:
$ mongo
> use ott;
> db.station.find({esr_ip: '<ip адрес esr>'}).pretty(); |
Проверить удаление OTT привязок:
$ mongo
> use ott;
> db.xauth.find({esr_ip: '<ip адрес esr>'}).pretty();
> db.xauth.find({mac: '<mac адрес ТД>'}).pretty(); |
NBI для управления OTT
Для работы с OTT был создан ряд команд в NBI.
Актуальная документация по командам содержится в пакете eltex-radius-nbi. К ней можно получить доступ после установки пакета по ссылке http://localhost:8080/eltex-radius-nbi/asciidoc/
WSDL-файл можно получить по ссылке http://localhost:8080/axis2/services/RadiusNbiService?wsdl
(вместо localhost нужно указать IP-адрес сервера с nbi)
Рис. 22.
Приложение 1. Список параметров IPsec в профиле ОТТ
Description IKE authentication algorithm (md5, sha1), md5 by default
Name ipsec.auth-alg
Regex (md5|sha1)
Description IKE DH Group (1, 2, 5), 1 by default
Name ipsec.dh-group
Regex (1|2|5)
Description IPSEC DPD Delay (5..600), 60 by default
Name ipsec.dpd-delay
Regex ([5-9]|[1-9][0-9]|10[0-9]|1[1-9][0-9]|[2-5][0-9][0-9]|600)
Description IKE encryption algorithm (aes, des, 3des), aes by default
Name ipsec.encrypt-alg
Regex (aes|des|3des)
Description Force establish tunnel (UP, DOWN), UP by default
Name ipsec.force-establish
Regex (UP|DOWN)
Description Use GRE mode (UP, DOWN), UP by default
Name ipsec.gre-mode
Regex (UP|DOWN)
Description GRE mtu offset (0..220), 148 by default
Name ipsec.gre-mtu-offset
Regex ([0-9]|[1-9][0-9]|10[0-9]|1[1-9][0-9]|220|2[0-1][0-9])
Description IKE lifetime (180..86400), 86400 by default
Name ipsec.lifetime
Regex (18[0-9]|19[0-9]|[2-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|1000[0-9]|100[1-9][0-9]|10[1-9][0-9][0-9]|1[1-9][0-9][0-9][0-9]|[2-7][0-9][0-9][0-9][0-9]|86400|86[0-3][0-9][0-9]|8[0-5][0-9][0-9][0-9])
Description Use ISAKMP mode config (UP, DOWN), UP by default
Name ipsec.mode-cfg
Regex (UP|DOWN)
Description Use NAT-T (UP, DOWN), UP by default
Name ipsec.nat
Regex (UP|DOWN)
Description IPSEC NAT Keepalive (1..300), 30 by default
Name ipsec.nat-keepalive
Regex ([1-9]|[1-9][0-9]|10[0-9]|1[1-9][0-9]|2[0-9][0-9]|300)
Description IPSEC password (8-48 chars)
Name ipsec.password
Regex ([A-Za-z0-9]{8,48})
Description IPSEC DH Group (0, 1, 2, 5), 0 by default
Name ipsec.pfs-group
Regex (0|1|2|5)
Description IPSEC authentication algorithm (md5, sha1), md5 by default
Name ipsec.sa-auth-alg
Regex (md5|sha1)
Description IPSEC encryption algorithm (aes, des, 3des), aes by default
Name ipsec.sa-encrypt-alg
Regex (aes|des|3des)
Description IPSEC child SA lifetime (180..86400), 3600 by default
Name ipsec.sa-lifetime
Regex (18[0-9]|19[0-9]|[2-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|1000[0-9]|100[1-9][0-9]|10[1-9][0-9][0-9]|1[1-9][0-9][0-9][0-9]|[2-7][0-9][0-9][0-9][0-9]|86400|86[0-3][0-9][0-9]|8[0-5][0-9][0-9][0-9])
Description IPSEC operational status (UP, DOWN), UP by default
Name ipsec.status
Regex (UP|DOWN)
Description Use XAUTH password as IPSEC password (on/off) default off
Name ipsec.use-xauth-passwd
Regex (on|off)
Description XAUTH password (8-48 chars)
Name ipsec.xauth-password
Regex ([A-Za-z0-9]{8,48})
Description XAUTH user (4-16 chars)
Name ipsec.xauth-user
Regex ([A-Za-z0-9]{4,16})
Description IPSEC remote gateway (IP or URL)
Name ipsec.remote-gateway
<ax273:valueRegex xsi:nil="true"/> |
|
Приложение 2. Описание ошибок, возвращаемых точкам доступа сервис-активатором
Message |
|
---|
Connection refused | Сервис-активатор не установлен или порт 8042 блокируется |
"code":4022, "msg":"No init link found" | Отсутствует привязка правила инициализации к точке доступа |
"code":1,"msg":"In request by key 'domain' value is empty or null" | В домене, указанном в привязке правила инициализации, нет ни одного ESR с активированной услугой OTT (флаг OTT во вкладке "Доступ") |
"code":4024, "msg":"No OTT station configured" | Не создано ни одного профиля ESR, в котором профиль OTT привязан к белому IP-адресу ESR с активированной услугой OTT, или недоступен ни один из ESR, имеющий такие настройки. |
"code":4023 | Ошибка взаимодейтсивя с NB |
"code": 4025, "msg": "/ott/upgrade/WOP-12ac-LR-RevB.tar.gz" | Версия ПО точки доступа не актуальна. Требуется обновление |
Приложение 3. Пример конфигурации ESR
Пример конфигураций ESR на тестовом стенде.
Пример 1
Пример приведен для версии 1.6.2, с использованием BGP, для моделей ESR, не имеющих аппартной поддержки EoGRE туннелей. В приведенном примере используется следующая адресация:
1) gi1/0/1.4092: 10.12.20.4/28 - адрес, смотрящий в сеть Интеренет, для терминации IPsec;
2) gi1/0/1.212: 100.64.0.66/30 - стыковый адрес, смотрящий в VRF backbone для связи с SoftWLC, DHCP и DNS серверами;
3) gi1/0/1.213: 100.64.0.70/30 - стыковый адрес, смотрящий в VRF nat для выпуска клиентов в сеть Интернет;
4) bridge 1: 192.168.200.49/28 и 192.168.200.50/28 - адреса терминации EoGRE от ТД, для туннелей управления и клиентского трафика соответсвенно;
5) bridge 3: 192.168.128.0/22 - подсеть адресов управления ТД. Адрес 192.168.128.1 используется в качестве адреса управления ESR со стороны SoftWLC;
6) bridge 10: 198.18.160.0/22 - подсеть клиентов ТД. Шлюз по умолчанию для клиентов - 198.18.160.1, DNS 100.123.0.2;
7) 172.31.252.0/22 - подсеть адресов, выдаваемых ТД по mode config, используюся для поднятия EoGRE со стороны ТД;
8) 100.123.0.0/24 - подсеть управления. 100.123.0.2 - адрес SoftWLC, DHCP, DNS.
Т. к. шлюз по умолчанию смотрит в сторону подключения сети Интернет через gi1/0/1.4092, то для направления трафика клиентов через интерфейс gi1/0/1.213 используется правило PBR, названное в конфигурации ESR "users_map".
#!/usr/bin/clish
#18
hostname esr-ipsec
object-group service dhcp_server
port-range 67
exit
object-group service dhcp_client
port-range 68
exit
object-group service ipsec_ports
port-range 500
port-range 4500
exit
object-group service dns
port-range 53
exit
object-group network SoftWLC
ip prefix 100.123.0.0/24
exit
object-group network ipsec_remote_address
ip prefix 10.100.0.0/16
ip prefix 172.31.252.0/22
exit
object-group network gre_termination
ip prefix 192.168.200.48/28
exit
object-group network AP_mgmt
ip prefix 192.168.128.0/22
ip prefix 198.18.160.0/22
exit
object-group network AP_users
ip prefix 198.18.160.0/22
exit
syslog console none
radius-server timeout 10
radius-server retransmit 5
radius-server host 100.123.0.2
key ascii-text testing123
timeout 11
priority 20
source-address 192.168.128.1
auth-port 31812
acct-port 31813
retransmit 10
dead-interval 10
exit
aaa radius-profile PCRF
radius-server host 100.123.0.2
exit
das-server COA
key ascii-text testing123
port 3799
clients object-group SoftWLC
exit
aaa das-profile COA
das-server COA
exit
tech-support login enable
root login enable
vlan 3
force-up
exit
vlan 10
force-up
exit
security zone trusted
exit
security zone untrusted
exit
security zone ipsec
exit
security zone gre
exit
security zone users
exit
ip access-list extended users_pbr
rule 10
action deny
match protocol udp
match source-port 68
match destination-port 67
enable
exit
rule 11
action deny
match protocol udp
match destination-port 53
enable
exit
rule 20
action permit
enable
exit
exit
route-map out_BGP_AP
rule 10
match ip address object-group AP_mgmt
action permit
exit
exit
route-map out_BGP_NAT
rule 10
match ip address object-group AP_users
action permit
exit
exit
route-map users_map
rule 10
match ip access-group users_pbr
action set ip next-hop verify-availability 100.64.0.69 10
action permit
exit
exit
router bgp 64604
router-id 198.18.156.1
neighbor 100.64.0.65
remote-as 650001
update-source 100.64.0.66
address-family ipv4 unicast
route-map out_BGP_AP out
enable
exit
enable
exit
neighbor 100.64.0.69
remote-as 650001
update-source 100.64.0.70
address-family ipv4 unicast
route-map out_BGP_NAT out
enable
exit
enable
exit
address-family ipv4 unicast
redistribute connected
exit
enable
exit
snmp-server
snmp-server system-shutdown
snmp-server community "private1" rw
snmp-server community "public11" ro
snmp-server host 100.123.0.2
exit
snmp-server enable traps
snmp-server enable traps config
snmp-server enable traps config commit
snmp-server enable traps config confirm
snmp-server enable traps environment
snmp-server enable traps environment fan
snmp-server enable traps environment fan-speed-changed
snmp-server enable traps environment fan-speed-high
snmp-server enable traps environment memory-flash-critical-low
snmp-server enable traps environment memory-flash-low
snmp-server enable traps environment memory-ram-critical-low
snmp-server enable traps environment memory-ram-low
snmp-server enable traps environment cpu-load
snmp-server enable traps environment cpu-critical-temp
snmp-server enable traps environment cpu-overheat-temp
snmp-server enable traps environment cpu-supercooling-temp
snmp-server enable traps environment board-overheat-temp
snmp-server enable traps environment board-supercooling-temp
snmp-server enable traps wifi
snmp-server enable traps wifi wifi-tunnels-number-in-bridge-high
snmp-server enable traps file-operations
snmp-server enable traps file-operations successful
snmp-server enable traps file-operations failed
snmp-server enable traps file-operations canceled
snmp-server enable traps interfaces
snmp-server enable traps interfaces rx-utilization-high
snmp-server enable traps interfaces tx-utilization-high
snmp-server enable traps interfaces number-high
snmp-server enable traps bras
snmp-server enable traps bras sessions-number-high
snmp-server enable traps screen
snmp-server enable traps screen dest-limit
snmp-server enable traps screen source-limit
snmp-server enable traps screen icmp-threshold
snmp-server enable traps screen udp-threshold
snmp-server enable traps screen syn-flood
snmp-server enable traps screen land
snmp-server enable traps screen winnuke
snmp-server enable traps screen icmp-frag
snmp-server enable traps screen udp-frag
snmp-server enable traps screen icmp-large
snmp-server enable traps screen syn-frag
snmp-server enable traps screen unknown-proto
snmp-server enable traps screen ip-frag
snmp-server enable traps screen port-scan
snmp-server enable traps screen ip-sweep
snmp-server enable traps screen syn-fin
snmp-server enable traps screen fin-no-ack
snmp-server enable traps screen no-flag
snmp-server enable traps screen spoofing
snmp-server enable traps screen reserved
snmp-server enable traps screen quench
snmp-server enable traps screen echo-request
snmp-server enable traps screen time-exceeded
snmp-server enable traps screen unreachable
snmp-server enable traps screen tcp-all-flags
snmp-server enable traps entity
snmp-server enable traps entity config-change
snmp-server enable traps entity-sensor
snmp-server enable traps entity-sensor threshold
snmp-server enable traps envmon
snmp-server enable traps envmon fan
snmp-server enable traps envmon shutdown
snmp-server enable traps envmon temperature
snmp-server enable traps flash
snmp-server enable traps flash insertion
snmp-server enable traps flash removal
snmp-server enable traps snmp
snmp-server enable traps snmp authentication
snmp-server enable traps snmp coldstart
snmp-server enable traps snmp linkdown
snmp-server enable traps snmp linkup
snmp-server enable traps syslog
bridge 1
description "gre_termination"
vlan 1
security-zone gre
ip address 192.168.200.49/28
ip address 192.168.200.50/28
enable
exit
bridge 3
description "AP_mgmt"
vlan 3
security-zone trusted
ip address 192.168.128.1/22
ip helper-address 100.123.0.2
ip tcp adjust-mss 1312
enable
exit
bridge 10
description "Users"
vlan 10
security-zone users
ip address 198.18.160.1/22
ip helper-address 100.123.0.2
ip policy route-map users_map
ip tcp adjust-mss 1312
location data10
enable
exit
interface gigabitethernet 1/0/1
description "UpLink"
exit
interface gigabitethernet 1/0/1.212
description "VRF_backbone"
security-zone trusted
ip address 100.64.0.66/30
ip tcp adjust-mss 1312
exit
interface gigabitethernet 1/0/1.213
description "VRF_nat"
security-zone untrusted
ip address 100.64.0.70/30
ip tcp adjust-mss 1312
exit
interface gigabitethernet 1/0/1.4092
description "IPsec"
security-zone ipsec
ip address 10.12.20.4/28
exit
tunnel softgre 1
description "mgmt"
mode management
local address 192.168.200.49
default-profile
enable
exit
tunnel softgre 1.1
bridge-group 3
enable
exit
tunnel softgre 2
description "data"
mode data
local address 192.168.200.50
default-profile
enable
exit
security zone-pair trusted self
rule 10
action permit
enable
exit
exit
security zone-pair users self
rule 10
action permit
match protocol udp
match source-port dhcp_client
match destination-port dhcp_server
enable
exit
exit
security zone-pair users untrusted
rule 10
action permit
enable
exit
exit
security zone-pair users trusted
rule 10
action permit
match protocol udp
match source-port dhcp_client
match destination-port dhcp_server
enable
exit
rule 20
action permit
match protocol udp
match destination-port dns
enable
exit
exit
security zone-pair ipsec self
rule 1
action permit
match protocol udp
match destination-port ipsec_ports
enable
exit
rule 2
action permit
match protocol esp
enable
exit
rule 3
action permit
match protocol gre
match source-address ipsec_remote_address
match destination-address gre_termination
enable
exit
rule 4
action permit
match protocol icmp
enable
exit
exit
security zone-pair trusted trusted
rule 10
action permit
enable
exit
exit
address-assignment pool ipsec_xauth_pool
ip prefix 172.31.252.0/22
data-tunnel address 192.168.200.50
management-tunnel address 192.168.200.49
exit
security ike proposal dh1_md5_aes128
authentication algorithm md5
encryption algorithm aes128
exit
security ike policy psk_xauth
lifetime seconds 86400
pre-shared-key ascii-text testing123
authentication method xauth-psk-key
authentication mode radius
proposal dh1_md5_aes128
exit
security ike gateway xauth_gw
ike-policy psk_xauth
local address 10.12.20.4
local network 192.168.200.48/28
remote address any
remote network dynamic pool ipsec_xauth_pool
mode policy-based
dead-peer-detection action clear
dead-peer-detection interval 60
dead-peer-detection timeout 180
exit
security ipsec proposal md5_aes128_esp
authentication algorithm md5
encryption algorithm aes128
exit
security ipsec policy ipsec_pol
proposal md5_aes128_esp
exit
security ipsec vpn xauth_ipsec
mode ike
ike establish-tunnel by-request
ike gateway xauth_gw
ike ipsec-policy ipsec_pol
enable
exit
security passwords history 0
ip dhcp-relay
ip route 0.0.0.0/0 10.12.20.2
wireless-controller
nas-ip-address 192.168.128.1
resp-time 3
failure-count 3
data-tunnel configuration radius
aaa das-profile COA
aaa radius-profile PCRF
enable
exit
ip telnet server
ip ssh server
clock timezone gmt +7
ntp enable
ntp server 100.123.0.2
exit
|
|
Пример 2
Пример приведен для версии 1.4.0, со статичной маршрутизацией, для моделей ESR, не имеющих аппартной поддержки EoGRE туннелей. В приведенном примере используется следующая адресация:
1) bridge 1: 192.168.171/24 - адрес, смотрящий в сеть Интеренет, для терминации IPsec;
2) bridge 2: 192.168.110.0.37/24 - административная подсеть, адрес используется для доступа администратором;
2) bridge 3: 101.0.0.171/24 - стыковый адрес для связи с SoftWLC, DHCP и DNS серверами. Используется в качестве адреса управления со стороны SoftWLC. Адрес SoftWLC 101.0.0.24;
3) bridge 5: 192.168.7.1/30 и 192.168.7.2.30 - адреса терминации EoGRE от ТД, для туннелей управления и клиентского трафика соответсвенно;
4) bridge 6: 172.31.239.1/26 - подсеть адресов управления ТД;
5) bridge 7: 172.31.239.65/26 - подсеть клиентов ТД;
6) bridge 94: 10.12.12.1/30 - стыковый адрес для выпуска клиентов в сеть Интернет;
7) 172.31.250.0/24 - подсеть адресов, выдаваемых ТД по mode config, используюся для поднятия EoGRE со стороны ТД.
Т. к. шлюз по умолчанию смотрит в сторону подключения сети Интернет через bridge 1, то для направления трафика клиентов через интерфейс bridge 94 используется правило PBR, названное в конфигурации ESR "clients_br7".
hostname esr-ipsec
tech-support login enable
root login enable
syslog max-files 3
syslog file-size 512
object-group service telnet
port-range 23
exit
object-group service ssh
port-range 22
exit
object-group service dhcp_server
port-range 67
exit
object-group service dhcp_client
port-range 68
exit
object-group service ntp
port-range 123
exit
object-group service ipsec_ports
port-range 500
port-range 4500
exit
object-group service snmp
port-range 161-162
exit
object-group service COA
port-range 3799
port-range 31812-31813
port-range 1812-1813
exit
object-group service redirect
port-range 3128
port-range 3129
exit
object-group network SoftWLC
ip address-range 101.0.0.24
exit
object-group network ipsec_remote_address
ip prefix 172.31.250.0/24
exit
object-group network gre_termination
ip prefix 192.168.7.0/30
exit
object-group url defaultserv
url http://eltex-co.ru
exit
#Настраиваем взаимодействие с радиус-сервером, для динамического управления data-тунелями точек доступа.
radius-server timeout 10
radius-server retransmit 5
radius-server host 101.0.0.24
key ascii-text testing123
timeout 11
priority 20
source-address 101.0.0.171
auth-port 31812
acct-port 31813
retransmit 10
dead-interval 10
exit
aaa radius-profile PCRF
radius-server host 101.0.0.24
exit
#Настраиваем ESR, что бы с ним мог взаимодействовать радиус-сервер.
das-server COA
key ascii-text testing123
port 3799
clients object-group SoftWLC
exit
aaa das-profile COA
das-server COA
exit
vlan 2
force-up
exit
vlan 7
name "mgmt"
force-up
exit
vlan 100
name "user"
force-up
exit
vlan 808
name "GRE"
force-up
exit
vlan 1001
name "from_SoftWLC"
force-up
exit
vlan 1108
force-up
exit
vlan 4094
force-up
exit
security zone trusted
exit
security zone user
exit
security zone mgmt
exit
security zone gre
exit
security zone ipsec
exit
security zone clients_inet
exit
#Настраиваем подсеть адресов клиентов, которые будем передавать на другой маршрутизатор, используя policy-based routing.
ip access-list extended users_filter
rule 1
action permit
match protocol any
match source-address 172.31.239.64 255.255.255.192
match destination-address any
enable
exit
exit
#DHCP-request для продления адреса от клиентов надо будет передавать на DHCP-сервер, он находится на том же ip, что и SotfWLC.
ip access-list extended clients_dhcp
rule 1
action permit
match protocol udp
match source-address 172.31.239.64 255.255.255.192
match destination-address 101.0.0.24 255.255.255.255
match source-port 68
match destination-port 67
enable
exit
exit
#Настраиваем route-map, указываем маршрутизаторы, на которые будет передаваться клиентский трафик.
route-map clients_br7
rule 1 #DHCP-request от клиентов передаем на DHCP сервер.
match ip access-group clients_dhcp
action set ip next-hop verify-availability 101.0.0.24 10
action permit
exit
rule 2 #Остальной трафик клиентов передаем на другой роутер, через который у них организован доступ в Интернет.
match ip access-group users_filter
action set ip next-hop verify-availability 10.12.12.2 10
action permit
exit
exit
snmp-server
snmp-server system-shutdown #разрешаем перезагрузку ESR по SNMP-команде от EMS.
snmp-server community "private1" rw
snmp-server community "public11" ro
snmp-server host 101.0.0.24
exit
#Интерфейс, который смотрит в Интернет, терминирует IPSec подключения точек доступа.
bridge 1
vlan 1108
security-zone ipsec
ip address 192.168.108.171/24
enable
exit
#Интерфейс административной подсети управления, необязателен.
bridge 2
vlan 2
security-zone trusted
ip address 192.168.110.37/24
enable
exit
#Интерфейс для взаимодействия с SoftWLC.
bridge 3
description "SoftWLC"
vlan 1001
security-zone mgmt
ip address 101.0.0.171/24
enable
exit
#Интерфейс терминации GRE подключений точек доступа.
bridge 5
vlan 808
security-zone gre
ip address 192.168.7.1/30
ip address 192.168.7.2/30
enable
exit
#Интерфейс управления точками доступа.
bridge 6
vlan 7
security-zone mgmt
ip address 172.31.239.1/26
ip helper-address 101.0.0.24
ip tcp adjust-mss 1312
protected-ports
protected-ports exclude vlan
enable
exit
#Интерфейс, клиентов точек доступа.
bridge 7
vlan 100
security-zone user
ip address 172.31.239.65/26
ip helper-address 101.0.0.24
ip policy route-map clients_br7 #Включаем policy-based routing на интерфейсе.
ip tcp adjust-mss 1312
location testing2
protected-ports
protected-ports exclude vlan
enable
exit
#Интерфейс, через который доступен роутер, на который будет отправляться трафик клиентов точек доступа.
bridge 94
vlan 4094
security-zone clients_inet
ip address 10.12.12.1/30
ip tcp adjust-mss 1312
enable
exit
interface port-channel 1
switchport forbidden default-vlan
switchport general acceptable-frame-type tagged-only
switchport general allowed vlan add 2,1001,1108,4094 tagged
exit
interface gigabitethernet 1/0/1
channel-group 1 mode auto
exit
interface gigabitethernet 1/0/2
channel-group 1 mode auto
exit
interface gigabitethernet 1/0/3
shutdown
security-zone trusted
ip firewall disable
exit
interface gigabitethernet 1/0/4
shutdown
security-zone trusted
ip firewall disable
exit
interface tengigabitethernet 1/0/1
shutdown
ip firewall disable
switchport forbidden default-vlan
exit
interface tengigabitethernet 1/0/2
shutdown
ip firewall disable
switchport forbidden default-vlan
exit
exit
tunnel softgre 1
description "mgmt"
mode management
local address 192.168.7.1
default-profile
enable
exit
tunnel softgre 1.1
bridge-group 6
enable
exit
tunnel softgre 2
description "data"
mode data
local address 192.168.7.2
default-profile
enable
exit
security zone-pair trusted self
rule 1
action permit
match protocol tcp
match source-address any
match destination-address any
match source-port any
match destination-port ssh
enable
exit
rule 2
action permit
match protocol tcp
match source-address any
match destination-address any
match source-port any
match destination-port telnet
enable
exit
rule 3
action permit
match protocol icmp
match source-address SoftWLC
match destination-address any
enable
exit
exit
security zone-pair user self
rule 10
action permit
match protocol udp
match source-address any
match destination-address any
match source-port dhcp_client
match destination-port dhcp_server
enable
exit
rule 20
action permit
match protocol tcp
match source-address any
match destination-address any
match source-port any
match destination-port redirect
enable
exit
exit
security zone-pair clients_inet self
rule 10
action permit
match protocol any
match source-address any
match destination-address any
exit
exit
security zone-pair user clients_inet
rule 1
action permit
match protocol any
match source-address any
match destination-address any
enable
exit
exit
security zone-pair ipsec self
rule 1
action permit
match protocol udp
match source-address any
match destination-address any
match source-port ipsec_ports
match destination-port ipsec_ports
enable
exit
rule 2
action permit
match protocol esp
match source-address any
match destination-address any
enable
exit
rule 3 #Т.к. трафик GRE появится из IPSec пакетов, то он будет считаться пришедшим из тоже зоны, что и родительский пакет.
action permit
match protocol gre
match source-address ipsec_remote_address
match destination-address gre_termination
enable
exit
rule 4
action permit
match protocol icmp
match source-address ipsec_remote_address
match destination-address gre_termination
enable
exit
exit
security zone-pair mgmt self
rule 1
action permit
match protocol tcp
match source-address any
match destination-address any
match source-port any
match destination-port ssh
enable
exit
rule 2
action permit
match protocol tcp
match source-address any
match destination-address any
match source-port any
match destination-port telnet
enable
exit
rule 3
action permit
match protocol icmp
match source-address SoftWLC
match destination-address any
enable
exit
rule 4
action permit
match protocol udp
match source-address SoftWLC
match destination-address any
match source-port any
match destination-port snmp
enable
exit
rule 5
action permit
match protocol udp
match source-address SoftWLC
match destination-address any
match source-port any
match destination-port COA
enable
exit
rule 6
action permit
match protocol tcp
match source-address SoftWLC
match destination-address any
match source-port any
match destination-port COA
enable
exit
rule 7
action permit
match protocol icmp
match source-address any
match destination-address any
enable
exit
rule 10
action permit
match protocol udp
match source-address any
match destination-address any
match source-port dhcp_client
match destination-port dhcp_server
enable
exit
rule 11
action permit
match protocol udp
match source-address any
match destination-address any
match source-port dhcp_server
match destination-port dhcp_server
enable
exit
exit
security zone-pair mgmt mgmt
rule 1
action permit
match protocol icmp
match source-address any
match destination-address any
enable
exit
rule 10
action permit
match protocol udp
match source-address any
match destination-address any
match source-port dhcp_client
match destination-port dhcp_server
enable
exit
rule 20
action permit
match protocol udp
match source-address SoftWLC
match destination-address any
match source-port any
match destination-port snmp
enable
exit
rule 21
action permit
match protocol udp
match source-address any
match destination-address SoftWLC
match source-port any
match destination-port snmp
enable
exit
rule 22
action permit
match protocol tcp
match source-address SoftWLC
match destination-address any
match source-port any
match destination-port snmp
enable
exit
rule 23
action permit
match protocol tcp
match source-address any
match destination-address SoftWLC
match source-port any
match destination-port snmp
exit
rule 30
action permit
match protocol tcp
match source-address any
match destination-address any
match source-port any
match destination-port telnet
enable
exit
rule 31
action permit
match protocol tcp
match source-address any
match destination-address any
match source-port any
match destination-port ssh
enable
exit
rule 49
action permit
match protocol udp
match source-address any
match destination-address SoftWLC
match source-port any
match destination-port ntp
enable
exit
rule 50
action permit
match protocol udp
match source-address any
match destination-address SoftWLC
match source-port any
match destination-port COA
enable
exit
exit
security zone-pair mgmt user
rule 10
action permit
match protocol udp
match source-address SoftWLC
match destination-address any
match source-port dhcp_server
match destination-port dhcp_server
enable
exit
exit
security zone-pair gre ipsec
rule 1
action permit
match protocol any
match source-address gre_termination
match destination-address ipsec_remote_address
enable
exit
exit
#Настраиваем пул адресов, которые будут выдаваться ТД используя mode config.
address-assignment pool ipsec_pool_1
ip prefix 172.31.250.0/24 #Пул адресов, которые будут выдаваться точкам доступа
#и использоваться как локальный ip (tunnel ip) для GRE тунелей.
#Адреса не должны пересекаться с другими tunnel ip в EMS.
data-tunnel address 192.168.7.2 #Адрес, на который точка доступа будет строить GRE data тунель.
management-tunnel address 192.168.7.1 #Адрес, на который точка доступа будет строить GRE тунель управления.
exit
#Настраиваем IKE предложение: алгоритм хэширования MD5, группа Диффи-Хэллмана DH1, алгоритм шифрования aes128.
security ike proposal dh1_md5_aes128
authentication algorithm md5
encryption algorithm aes128
exit
#Настраиваем политику IKE.
security ike policy psk_xauth1
lifetime seconds 86400 #Время жизни основного соединения (по истечению будет произведена повторная авторизация).
pre-shared-key ascii-text testing123 #Пароль
authentication method xauth-psk-key #Включаем использование расширеной авторизации XAUTH.
authentication mode radius #Используем радиус-сервер для расширеной авторизации.
proposal dh1_md5_aes128 #Используем настроенное выше предложение.
exit
#Настраиваем шлюзы, используемые подсети.
security ike gateway ike1_from_inet
ike-policy psk_xauth1 #Используем настроенную выше политику IKE.
local address 192.168.108.171 #Адрес, на котором ждем IPSec клиентов.
local network 192.168.7.0/30 #Локальная подсеть, трафик из которой будет заворачиваться в IPSec пакеты.
remote address any #Адрес удаленных клиентов IPSec - разрешаем подключения с любых адресов.
remote network dynamic pool ipsec_pool_1 #Для назначения клиенту параметров используем настроенный выше пул.
mode policy-based #Используем режим policy-based
dead-peer-detection action clear #В случае обнаружения недоступного клиента IPSec убираем его подключение.
dead-peer-detection interval 60 #Интервал отправки dead-peer-detection пакетов.
dead-peer-detection interval 180 #Время, по истечению которого, удаленный клиент IPSec считается недоступным,
#если от него не приходят ответы на DPD пакеты.
exit
#Настраиваем предложение IPSec: алгоритм хэширования MD5, алгоритм шифрования AES128, протокол инкапсуляции пакетов ESP.
security ipsec proposal md5_aes128_esp
authentication algorithm md5
encryption algorithm aes128
exit
#Настраиваем политику IPSec.
security ipsec policy vpn1_pol1
lifetime seconds 3600 #Время жизни IPSec сhaild SA (по истечению будет произведена повторная авторизация).
proposal md5_aes128_esp #Используемое предложение IPSec, настроенное выше.
exit
#Настраиваем IPSec VPN, к которому будут подсключаться точки доступа.
security ipsec vpn for_INET_1
mode ike #Используем IKE.
ike establish-tunnel by-request #Соединение IPSec устанавливается по запросу удаленной стороны.
ike gateway ike1_from_inet #Используем настройки шлюза, подсетей, настроенных в IKE.
ike ipsec-policy vpn1_pol1 #используем политику IPSec, настоенную выше.
enable
exit
ip dhcp-relay
ip route 0.0.0.0/0 192.168.108.1 200
wireless-controller
nas-ip-address 101.0.0.171
data-tunnel configuration radius #Используем динамическое поднятие data-тунелей
aaa das-profile COA
aaa radius-profile PCRF
enable
exit
ip telnet server
ip ssh server
clock timezone gmt +7
ntp enable
ntp server 101.0.0.24
prefer
exit |
|
Если используются модели ESR 1200/1500/1700 с версией ПО 1.4.1 и выше - то потребуется настроить схему с петлёй через физические интерфейсы, для корректной работы аппаратных EoGRE. Подробное описание доступно по адресу: Настройка ESR OTT в схеме с петлёй через физические порты.
Troubleshooting
Логи работы Сервис-Активатора
Все логи работы Сервис-Активатора хранятся в файле /var/log/eltex-wifi-sa/wifi-sa-server.log. Для просмотра расширенных логов в конфигурационном файле application.conf нужно выставить значение параметра LogLevel = debug
Просмотр информации об ОТТ на точках доступа
В CLI точки доступа выполнить команды:
Просмотр параметров клиентской части Сервис-Активатора на точке доступа:
WEP-12ac_rev_C# get ipsec-activator
Просмотр параметров IPsec, полученных точкой от Сервис-Активатора:
WEP-12ac_rev_C# get ipsec-dynamic
Просмотр URL Сервис-Активатора, зашитого в точку доступа:
WEP-12ac_rev_C# sh
/mnt/root # cd /etc/cert/
/etc/cert # cat sa-host.txt
https://126.0.10.4:8043
Просмотр provider-id и MAC точки в сертификате:
WEP-12ac_rev_C# sh
/etc/cert # openssl x509 -in /etc/cert/cert.pem -text -noout
WARNING: can't open config file: /etc/pki/tls/openssl.cnf
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
e0:d9:e3:70:1d:00:bc:2a:aa:28:54:ee:9f:27:5a:77
Signature Algorithm: sha256WithRSAEncryption
Issuer: CN=OTT Certification Root (Test), O=Eltex Enterprise Ltd., OU=Wi-Fi, C=RU, L=Novosibirsk
Validity
Not Before: Jan 1 00:00:00 1999 GMT
Not After : Jan 1 00:00:00 2100 GMT
Subject: CN=E0:D9:E3:70:1D:00, O=provider_eltex
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
........
где e0:d9:e3:70:1d:00 - MAC точки,
provider_eltex - Provider-ID
Ручной запуск на точке доступа клиентской части Сервис-Активатора с включенным дебагом
service-activator https://<URL Сервис-Активатора>:8043 --msg-type register --timeout 300 -C /etc/cert/cert.pem -K /etc/cert/key.pem -A /etc/cert/ca.pem -d 15
Используется для отладки взаимодействия точки с Сервис-Активатором со стороны Точки Доступа.