Для корректной работы системы WNAM 2 необходимо настроить значительное число компонентов, а именно:
- устройства сетевого доступа NAS (контроллеры БЛВС для гостевого и/или корпоративного подключения, коммутаторы ЛВС, шлюзы VPN и т.п.);
- сетевую инфраструктуру, обеспечивающую подключение физических или виртуальных серверов WNAM 2;
- физические или виртуальные машины с ОС Linux для установки системы WNAM 2, СУБД;
- средства мониторинга;
- средства резервного копирования.
Настоятельно рекомендуется обращаться для этой цели к системным интеграторам, имеющим опыт работы с системой. Особенно, если вам требуется построение сложной, нагруженной и распределенной инсталляции системы WNAM 2. Получить рекомендации по выбору системного интегратора можно, отправив запрос на info@netams.com. Компания-разработчик системы WNAM 2 не может рекомендовать "идеальный" дизайн сопутствующих систем: сетевой инфраструктуры, средств виртуализации, средств обеспечения информационной безопасности, резервного копирования, доменной структуры Windows и т.п.
Приведенные ниже сценарии использования системы WNAM 2 описывают типовые задачи, которые встречаются у наших заказчиков. Настоятельно рекомендуется придерживаться одного из следующих примеров при проектировании и развертывании системы WNAM 2.
В работе системы вы можете одновременно использовать оба сценария. А также для использования в крупной сети настоятельно рекомендуется организовать два не связанных между собой кластера систем, работающих в разных информационных контурах: один только для гостевой, другой только для корпоративной авторизации.
Определившись со сценарием работы, необходимо оценить число серверов, требуемых системой WNAM 2 для работы, и разнесение функций системы между этими серверами. Такая оценка опирается на следующие параметры:
- число одновременно идущих процедур авторизации и число одновременно работающих в сети гостей / эндпоинтов;
- физические характеристики имеющихся серверов;
- требования по отказоустойчивости и географическому разнесению узлов системы.
В конечном счете, устойчивая работа системы WNAM 2 определяется нагрузкой на неё, которая напрямую связана с числом Web-, API-, TACACS+ и RADIUS-запросов, попадающих на систему. Рекомендуется проектировать объемы ресурсов таким образом, чтобы:
- нагрузка на процессор сервера не превышала 50% (т.е. величина LA сервера была вдвое меньше числа установленных процессорных ядер);
- задержка RADIUS-ответа в среднем не превышала 20 миллисекунд.
1.Типовой сценарий малой нагрузки
Если в сети находится менее 200 точек доступа (т.е. менее 1000 одновременно работающих гостевых клиентов) или корпоративная авторизация требует менее чем 200 эндпоинтов, подойдет дизайн, в котором все компоненты системы авторизации работают на одном физическом или виртуальном сервере.
Типовые характеристики такого сервера:
- количество виртуальных процессоров: 2-4 vCPU;
- оперативная память: 8 Gb vRAM;
- объем жесткого диска: 32 Gb HDD (любого типа).
2. Сценарий средней нагрузки без отказоустойчивости
Если в сети находится менее 500 точек доступа (т.е. менее 5000 одновременно работающих гостевых клиентов) или корпоративная авторизация требует менее чем 500 эндпоинтов, рекомендовано вынести на отдельный сервер базу данных PostgreSQL.
В данном случае понадобится два одинаковых сервера с характеристиками:
- количество виртуальных процессоров: 2-4 vCPU;
- оперативная память: 8-16 Gb vRAM;
- объем жесткого диска: 32 Gb HDD (любого типа).
Дополнительно для сервера PostgreSQL необходимо:
- объем жесткого диска: 32 Gb HDD (типа SSD, SAS или NVMe).
3. Сценарий высокой нагрузки с локальной отказоустойчивостью
Если в сети находится менее 1000 точек доступа (т.е. менее 10000 одновременно работающих гостевых клиентов) или корпоративная авторизация требует менее чем 1000 эндпоинтов, рекомендовано создать отказоустойчивый кластер PostgreSQL. Такой кластер требует двух или трёх узлов (primary, secondary), причем только два из них несут копию базы, а третий участвует в кворуме. Также желательно вынесение прокси-сервера на отдельный узел для того, чтобы перенести нагрузку обработки SSL-трафика с сервера приложения.
В случае аварии основного сервера PostgreSQL (на схеме справа) система WNAM 2 автоматически переключит запись/чтение на резервный сервер СУБД (на схеме слева).
В таком случае понадобится три одинаковых сервера с характеристиками:
- количество виртуальных процессоров: 4-8 vCPU;
- оперативная память: 16 Gb vRAM;
- объем жесткого диска: 50 Gb HDD (любого типа) системные диски.
Дополнительно для двух серверов PostgreSQL (primary, secondary) необходимо:
- объем жесткого диска: 50 Gb HDD (типа SSD) - для СУБД;
- объем жесткого диска: 500 Gb HDD (типа SATA) - для дампов СУБД.
4. Сценарий средней нагрузки с распределенной отказоустойчивостью
Если сеть соответствует характеристикам сценариев 2 или 3, но при этом требуется получить полную отказоустойчивость системы, при которой её работоспособность сохраняется при выходе из строя одного из серверов системы WNAM 2, можно использовать сценарий средней нагрузки с распределенной отказоустойчивостью.
При таком сценарии (4.1) репликация данных производится не средствами кластера СУБД PostgreSQL, а путем пересылки информационных сообщений между двумя разрозненными автономными инстансами (экземплярами) PostgreSQL, каждый из которых взаимодействует только с локальным экземпляром системы WNAM 2.
В таком режиме понадобится наcтроить репликацию данных средствами Kafka.
Для административного доступа в веб-интерфейс, а также для редиректа HTTP-запросов клиентов от оборудования хотспота понадобится настроить кластерный IP-адрес серверов. Кластерный IP-адрес серверов (.1 на схеме) необходимо указать в качестве единственного адреса RADIUS-сервера на оборудовании.
Если не требуется использовать гостевой доступ, можно настроить любой из двух серверов системы WNAM 2 через веб-интерфейс, и в качестве RADUIS-сервера на используемом оборудовании указать оба IP-адреса (.2 и .3 на схеме).В случае аварии любого из серверов система продолжит выполнять свои функции. Преимуществом этого сценария является отсутствие необходимости иметь общий (кластерный) IP-адрес, что возможно лишь при нахождении обоих серверов в одном сетевом сегменте. Таким образом, можно настроить два сервера авторизации системы WNAM 2, находящихся в разных сетях (разных дата-центрах или даже разных городах), сценарий 4.2:
При настройке данного сценария понадобится два одинаковых сервера с характеристиками:
- количество виртуальных процессоров: 4-8 vCPU;
- оперативная память: 16 Gb vRAM;
- объем жесткого диска: 50 Gb HDD (любого типа) системные диски;
- объем жесткого диска: 50 Gb HDD (типа SSD) - для СУБД;
- объем жесткого диска: 500 Gb HDD (типа SATA) - для дампов СУБД.
5. Сценарий высокой нагрузки с распределенной отказоустойчивостью
Если нагрузка превышает характеристики сценария 3, и требуется обеспечить полную отказоустойчивость системы, возможно разнесение ролей системы авторизации на отдельные сервера и виртуальные машины в каждом экземпляре кластера. При этом в пределах узла кластера обеспечивается локальная отказоустойчивость и распределение нагрузки, а между узлами кластера - репликация конфигурационных и статистических данных.
В данном сценарии понадобится создать два или три (по числу имеющихся площадок ЦОД) одинаковых кластера системы WNAM 2 в составе трех серверов, каждый из которых должен иметь такие характеристики:
- количество виртуальных процессоров: 8 vCPU;
- оперативная память: 32 Gb vRAM;
- объем жесткого диска: 50 Gb HDD (любого типа) системный диск;
- объем жесткого диска: 50 Gb HDD (типа SSD) - для СУБД (для серверов 1 и 3);
- объем жесткого диска: 500 Gb HDD (типа SATA) - для дампов СУБД (для сервера 2).
6. Сценарий высокой нагрузки с распределенной отказоустойчивостью и поддержкой изолированной работы
Если имеется множество (сотни) удалённых площадок (сайтов), с которыми невозможно гарантировать постоянное наличие сетевой связи как минимум с одним из ЦОД, в котором работает экземпляр системы WNAM 2, необходимо сформировать сетевую конфигурацию, при которой даже при отсутствии сетевой связности будет обеспечиваться работоспособность корпоративной авторизации. При этом допустима деградация услуги (например, увеличение длительности процесса авторизации, невозможность изменения настроек и/или просмотра статистики, невозможность обеспечить подключение новых устройств и т.п.). В таком случае, на каждой такой площадке необходимо установить специализированного агента авторизации (RADIUS-прокси/кэширующий сервер). В обычном режиме работы он прозрачно пропускает через себя запросы авторизации, маршрутизируя их в сторону доступных ЦОД с работающей системой WNAM 2. Результат авторизации сохраняется. При разрыве сетевой связности этот сервер проводит авторизацию устройств самостоятельно, пользуясь накопленными ранее данными.
При этом в каждом филиале потребуется развернуть виртуальную машину или Docker-контейнер с ПО, имеющим следующие требования:
- количество виртуальных процессоров: 1-2 vCPU;
- оперативная память: 2 Gb vRAM;
- объем жесткого диска: 16 Gb HDD (любого типа).
Взаимодействие компонентов
В состав системы WNAM 2 входит значительное число системного и прикладного ПО, которое взаимодействует друг с другом в пределах одного сервера (виртуальной машины), а также между серверами. В дополнение к этому, система взаимодействует с внешним миром (сервера доступа, пользовательские устройства, администраторы) по различным протоколам стэка TPC/IP. Описание такого обмена приведено в соответствующем разделе.
Резервное копирование
Настоятельно рекомендуется настроить резервное копирование системы WNAM 2 одновременно по обоим направлениям:
- для серверов, на которых работает PostgreSQL: через cron (демона-постановщика задач систем Unix) по расписанию, раз в сутки ночью, дамп базы данных в файлы, на другой (относительно основного) физический диск, с удалением старых резервных копий;
- резервное копирование виртуальной машины целиком, используя средства резервного копирования используемой платформы виртуализации.
При использовании кластерного варианта PostgreSQL можно не копировать разделы, содержащие файлы БД (в любом случае восстановить из "горячего бэкапа" кластерную БД не получится). Резервное копирование виртуальных машин должно включать в себя копии дампов БД, которые должны формироваться до того, как проводится процедура бэкап.