Общая схема
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 14.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 в домен клиента, удалить точку из дефолтного домена с последующей переинициализацией. При включении дефолтного домена оператор берет на себя ответственность за контроль точек доступа и услуг в рамках дефолтного домена.
Диаграмма работы сервис-активатора
Конфигурационные файлы
Конфигурационные файлы сервис-активатора располагаются в директории "/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, 1700 | Тип ESR (ESR-100, ESR-200, ESR-1000, ESR-1200, 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 http://archive.eltex.org/ems 3.13 main" >> /etc/apt/sources.list.d/eltex.list
root@vagrant-ubuntu-trusty-64:/home/vagrant# add-apt-repository -y ppa:webupd8team/java
root@vagrant-ubuntu-trusty-64:/home/vagrant# apt-key adv --keyserver keyserver.ubuntu.com --recv F558A287
root@vagrant-ubuntu-trusty-64:/home/vagrant# apt-get update
root@vagrant-ubuntu-trusty-64:/home/vagrant# apt-get -y install oracle-java8-installer
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, к которому она подключена.
Схема включения ESR
- Физически используется один порт.
- Для взаимодействия с сетью Интернет используется интерфейс bridge1. Через него ходит трафик по дефолтному маршруту.
- IPsec прослушивает входящие подключения через bridge 1.
- IPsec подключение от ТД разбирается в bridge 1. GRE-пакеты передаются в bridge 2.
- Из GRE пакеты с VLAN управления ТД передаются в bridge 6.
- Клиентский трафик приходит в bridge 7 и из него согласно опции route-map маршрутизация осуществляется на соседний роутер, через который клиенты будут выходить в Интернет.
Схема резервирования ESR
- Роутеры ESR 1 и ESR 2, на которых терминируется IPsec, подключены каждый к соответствующим роутерам PE 1, PE 2.
- ESR 1, ESR 2 анонсируют подсети управления, клиентов, IPsec-шлюза, используя BGP, на PE 1 и PE 2 соответсвенно.
- PE 1, PE 2 анонсируют маршруты по умолчанию, подсети, необходимые для связи с SoftWLC.
- При отказе одного из ESR он становится недоступен. Точки доступа, определив, что IPsec соединение не устанавливается, обращаются к сервис-активатору, который видит аварию одного из ESR и передает параметры подключения ко второму. Точки доступа подключаются к новому ESR.
- На каждом ESR используются разные пулы IP адресов для управления точками доступа и абонентов WiFi.
Пример конфигурации 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-1000 точка доступа уйдет в перезагрузку и обратится на сервис-активатор через время:
(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.
Диаграмма обмена сообщениями
Конфигурирование.
Инициализация ТД
Для инициализации точек доступа, включенных по схеме OTT, создайте домен ott.root в дереве EMS.
В правилах инициализации создайте правило ott (Вкладка Wireless/Менеджер правил инициализации ТД/Правила). Правило инициализации ott должно быть создано для каждого типа вручную. В качестве транспорта для SNMP обязательно укажите TCP.
Создайте привязку инициализации с ключом ott_default, правилом инициализации ott и доменом ott.root.
Имя ключа ott_default можно посмотреть в подсказке, нажав кнопку
После того, как привязка была создана, ее можно увидеть на вкладке ОТТ Привязки в Wireless/Менеджер правил инициализации ТД.
Создайте SSID с привязкой к домену ott.root (Wireless/Менеджер SSID). В поле Bridge, Location укажите location, соответствующий настройкам bridge на ESR.
ESR OTT
Активация параметра ОТТ: во вкладке Доступ установите значение параметра ServiceProvider и включите режим BRAS, активировав флаг BRAS сервис для ESR, включенных по ОТТ.
Задайте параметры IPsec на ESR. Для этого создайте профиль ОТТ и сделайте привязку к ESR.
Для того, чтобы создать профиль ОТТ во вкладке Wireless/Менеджер правил инициализации ТД откройте вкладку OTT profiles. Создайте профиль с необходимыми параметрами, нажав кнопку .
После того, как профиль был создан, его можно привязать к ESR. Для этого в дереве EMS выберите ESR и во вкладке Конфигурация перейдите на вкладку ОТТ.
Откройте окно редактирования ОТТ, нажав кнопку Редактировать. Выберите профиль ОТТ, созданный ранее и укажите белый IP-адрес ESR. В качестве параметра IPsec remote gateway укажите адрес шлюза, к которому будет обращаться точка доступа. Параметры ОТТ профиля и ОТТ на ESR должны совпадать.
Настройка IPsec на точке доступа, если отсутствует сервис-активатор
Зайдите в WEB-интерфейс точки, в меню Manage/OTT Settings
В кратком меню достаточно будет указать адрес удаленного роутера с IPsec, XAUTH логин и пароль (при условии, что пароль для XAUTH совпадает с паролем IPsec).
Если в расширенном меню активирован флаг Use XAUTH Password, то XAUTH совпадает с паролем IPsec. В противном случае IPsec Password необходимо задать.
Открыв Advanced Settings, можно задать расширенные параметры IPsec
Если значение параметра 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.
Подробнее о назначение параметров:
- 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/Менеджер правил инициализации/Черный список ТД
Нажмите кнопку и откроется окно для ввода МАС-адреса. Введите MAC-адрес точки доступа для занесения ее в черный список.
Ввести можно любое количество байт МАС-адреса. Заблокированы будут все 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();
Настройка шейперов в Личном Кабинете
В Личном Кабинете в Настройках во вкладке "Система" активируйте флаг "Настройка шейперов в дереве доменов", выйдете и зайдите снова в Личный Кабинет.
После этого в Настройках во вкладке "Дерево доменов" активируйте шейпер на SSID.
Кликните на кнопку в колонке "Суммарный шейпер" и в открывшемся окне задайте параметры шейпера на SSID.
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)
Приложение 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.110.123.0/24 - подсеть управления. 100.123.0.2 - адрес SoftWLC, DHCP, DNS.
Т. к. шлюз по умолчанию смотрит в сторону подключения сети Интернет через gi1/0/1.4092, то для направления трафика клиентов через интерфейс gi1/0/1.213 используется правило PBR, названное в конфигурации ESR "users_map".
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 encrypted 88B11079B9014FAAF7B9 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 encrypted 88B11079B9014FAAF7B9 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 address-family ipv4 router-id 198.18.156.1 redistribute connected neighbor 100.64.0.65 remote-as 12389 route-map out_BGP_AP out update-source 100.64.0.66 enable exit neighbor 100.64.0.69 remote-as 12389 route-map out_BGP_NAT out update-source 100.64.0.70 enable exit enable exit 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.1000 description "adm_net" security-zone trusted ip address 100.110.0.133/23 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/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
Используется для отладки взаимодействия точки с Сервис-Активатором со стороны Точки Доступа.