Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Общая схема

Quickstart

  1. Установите SoftWLC и сервис-активатор:

  2. В файле /etc/eltex-wifi-sa/factory-fw.conf скорректируйте версии ПО, чтобы версия подключаемой точки доступа (ТД) соответствовала им. Параметр downgrade переведите в состояние false. В директорию /var/lib/eltex-wifi-sa/firmware/ загрузите файл прошивки ТД и переименуйте его в соответствии с именем файла ПО, указанном в /etc/eltex-wifi-sa/factory-fw.conf. 
  3. В директорию /etc/eltex-wifi-sa/ загрузите корневой сертификат и сертификат сервис-активатора.
  4. В файле /etc/eltex-wifi-sa/application.conf скорректируйте имена корневого сертификата и сертификата сервис-активатора. Параметр CheckMAC переведите в значение yes. Перезапустите сервис-активатор:
    service eltex-wifi-sa restart.
  5. Создайте домен для ESR и поддомен точек доступа ОТТ.
  6. Создайте правило инициализации для требуемого типа точки доступа. В качестве транспорта SNMP обязательно должен быть указан TCP протокол. (см. Инициализация ТД )
  7. Сделайте привязку правила инициализации к точке доступа ОТТ. В привязке должен быть установлен флаг "Connected".(см. Инициализация ТД )
  8. Создайте профиль OTT с параметрами IPsec. В качестве параметра "IPsec password" должен быть указан пароль, прописанный в конфигурации ESR, например "testing123". В NBI – команда CreateOttProfile.(см. ESR OTT)
  9. Заведите в EMS ESR в домене для точек доступа ОТТ. Во вкладке доступ установите флаг OTT: ServiceProvider и активируйте флаг BRAS. Убедитесь, что ESR доступен с SoftWLC. (см. ESR OTT)
  10. В таблице NAS (Вкладка Radius - Точки Доступа) скорректируйте пароль для RADIUS ESR, указанный в его конфигурации, например "testing123".
  11. В конфигурации ESR во вкладке OTT укажите белый IP ESR и выберите профиль OTT. В NBI – команда CreateOttStation. (см. ESR OTT)
  12. Создайте и привяжите к домену ОТТ SSID. В параметрах SSID обязательно укажите Location, указанный в конфигурации ESR, например "testing2".(см. Инициализация ТД )
  13. В Личном Кабинете в Настройках во вкладке "Система" активируйте флаг "Настройка шейперов в дереве доменов", выйдете и зайдите снова в Личный Кабинет. (см Настройка шейперов в Личном Кабинете)
  14. После этого в Настройках во вкладке "Дерево доменов" активируйте шейпер на 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 объекта в системе:

  1. Профиль OTT. В данном профиле содержится полный набор настроек IPsec, в соответствии с которыми точка доступа и ESR будут создавать IPsec-туннели. Возможные настройки в профиле ОТТ приведены в
    Приложении 1. В NBI за создание данного профиля отвечает команда CreateOttProfile.

  2. Привязка профиля 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".

В данном файле содержится основная конфигурация Сервис-Активатора.

Имя параметраЗначенияРекомендуемое значение дл эксплуатацииОписание
logLeveldebug, info, warn, errorinfoУровень логирования. Логи записываются в файл /var/log/eltex-wifi-sa/main.log.
requestTimeoutinteger45

Mаксимальное время обработки запроса (0 для бесконечного).

Если значение параметра превышено, сервер считается перегруженным.

http { enabled

yes, notrueВключение приема запросов от точек доступа по протоколу HTTP.
http { portinteger
(0-65535)
8042Номер порта TCP, на котором сервис-активатор будет прослушивать запросы от точек по HTTP.

https { enabled

yes, notrueВключение приема запросов от точек доступа по протоколу HTTP.
https { portinteger
(0-65535)
8043Номер порта TCP, на который сервис-активатор будет прослушивать запросы от точек по HTTPs.
https { keyStore { path

stringserver.p12Путь до сертификата сервис-активатора. Если сертификат лежит в той же директории, где и конфигурационный файл, то достаточно указать имя сертификата.
https { keyStore { passwordstring""Пароль для сертификата сервис-активатора. В большинстве случаев – пустая строка.
https { clients { certificatestringclient.crtПуть до корневого сертификата. Если сертификат лежит в той же директории, где и конфигурационный файл, то достаточно указать имя сертификата.
https { clients { checkMACyes, noyesВключение проверки MAC-адреса в сертификате, передаваемом точкой доступа.
https { clients { fwCheckCrtyes, noyesВключение проверки ProviderID в сертификате, передаваемом точкой доступа.
ems { hostlocalhost или IP адрес
Адрес EMS-сервера, с которым взаимодействует сервис-активатор.
ems { portinteger
(0-65535)
8080Номер порта, по которому сервис-активатор обращается к EMS.
ems { parallelLimitinteger5Максимальное количество параллельных запросов на EMS-сервер
ipsec-activator { wait-timerinteger180Время таймаута, в течение которого точка пытается установить IPsec-соединение. По истечению таймаута выполняется перезагрузка точки доступа.
ipsec-activator { update-timeinteger600Время таймаута, в течение которого точка пытается обновить ПО с сервис-активатора. По истечению таймаута выполняется перезагрузка точки доступа.

Конфигурационный файл "factory-fw.conf"

В данном файле содержатся настройки по автоматическому обновлению точек доступа на актуальные версии ПО.

Имя параметраЗначенияРекомендуемое значение дл эксплуатацииОписание
downgradetrue, falsefalseРазрешает\запрещает даунгрейд ПО ТД в случае, если версия ПО не совпадает с версией указанной в конфигурации
minstring
Версия ПО, актуальная для точки доступа
filestring
Имя файла ПО, размещенного в /var/lib/eltex-wifi-sa/firmware/

Конфигурационный файл /usr/lib/eltex-radius-nbi/conf/ott/ott.xml

В данном файле содержится информация о максимальном количестве точек доступа ОТТ, которые могут быть подключены к данному типу ESR. Когда на Сервис-Активатор приходит очередная точка доступа, то Сервис-Активатор находит в домене ESR OTT и проверяет, какое количество точек доступа к нему привязано. Если это количество равно или превышает количество точек доступа, указанное в данном файле для этого типа ESR, то Сервис-Активатор считает этот ESR загруженным максимально и начинает искать в этом домене или в доменах выше другой, более свободный ESR.

Имя параметраЗначенияРекомендуемое значение дл эксплуатацииОписание
subtype100, 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

  1. Физически используется один порт.
  2. Для взаимодействия с сетью Интернет используется интерфейс bridge1. Через него ходит трафик по дефолтному маршруту.
  3. IPsec прослушивает входящие подключения через bridge 1.
  4. IPsec подключение от ТД разбирается в bridge 1. GRE-пакеты передаются в bridge 2.
  5. Из GRE пакеты с VLAN управления ТД передаются в bridge 6.
  6. Клиентский трафик приходит в bridge 7 и из него согласно опции route-map маршрутизация осуществляется на соседний роутер, через который клиенты будут выходить в Интернет.

Схема резервирования ESR


  1. Роутеры ESR 1 и ESR 2, на которых терминируется IPsec, подключены каждый к соответствующим роутерам PE 1, PE 2.
  2. ESR 1, ESR 2 анонсируют подсети управления, клиентов, IPsec-шлюза, используя BGP, на PE 1 и PE 2 соответсвенно.
  3. PE 1, PE 2 анонсируют маршруты по умолчанию, подсети, необходимые для связи с SoftWLC.
  4. При отказе одного из ESR он становится недоступен. Точки доступа, определив, что IPsec соединение не устанавливается, обращаются к сервис-активатору, который видит аварию одного из ESR и передает параметры подключения ко второму. Точки доступа подключаются к новому ESR.
  5. На каждом 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:

  • при удалении привязки инициализации ТД в 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 65001
      route-map out_BGP_AP out
      update-source 100.64.0.66
      enable
    exit
    neighbor 100.64.0.69
      remote-as 65001
      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

Используется для отладки взаимодействия точки с Сервис-Активатором со стороны Точки Доступа.


  • Нет меток