Оркестрация VPN от Zyxel: настраиваем любые сценарии туннелей, даже не зная адреса шлюзов
До сих пор для многих сетевых администраторов, VPN-тоннели представляют собой трудности, особенно когда ты одновременно реализуешь и клиентский доступ к узлу, и связь между офисами. Достаточно непросто держать в голове топологию сетей, и уж тем более - выяснять, почему у кого-то что-то не работает. Именно в таких случаях неоценима централизованная система управления, которая берёт на себя большую часть рутины по вводу логинов/паролей/адресов и всего, что с этим связано.
Сегодня мы рассмотрим процесс развёртывания VPN туннелей в небольшой организации:
- для связи филиалов между собой,
- для связи с общим ЦОД-ом,
- создания VPN шлюза от точки доступа до штаб-квартиры,
- подключения пользователей на удалёнке.
Итак, для реализации сценария нам понадобятся:
- Шлюз Zyxel USGFlex100W
- Шлюз Zyxel USGFlex 200
- Точка доступа Zyxel WAC500H
- Смартфоны, компьютеры и интернет
Перво-наперво добавляем наши устройства в Nebula Control Center и переходим в раздел "организация-топология VPN". Нам надо настроить связь между офисами, и это не проблема, если тех всего 2 или 3, и можно их свалить в общую кучу. Но если офисов десятки, то для упорядочивания разделяем их по областям.
Шаг 1- создаём области VPN
В «область VPN» мы объединим шлюзы, которые будем настраивать. Например, если у нас есть центральный офис в Москве и филиалы в Ногинске и Подольске, создадим «Московскую VPN область». Области нужно использовать для логически и географически разделённых объектов. Во-первых, согласитесь, что намного проще оперировать понятиями «Московская VPN область», «Ленинградская VPN область», чем названиями моделей шлюзов и IP-адресами.
Ещё один плюс области в том, что включённые в неё шлюзы доступа устанавливают все подключения между собой автоматически, вам даже не нужно настраивать их IP-адреса. Особенно это важно, когда вы в сеть из десятков устройств добавляете ещё один-два шлюза: вы просто забудьте о настройке соединений и маршрутизации между подсетями - всё будет делаться автоматически.
Более того, в автоматическом режиме все шлюзы всегда используют все свои WAN-соединения для установки линков, а в дальнейшем балансируют трафик между интернет-каналами. Обратите внимание: если мы хотим добавить в нашу сеть программные или аппаратные VPN-шлюзы других производителей, то это делается именно здесь, в настройках маршрутизатора площадки. Оно и понятно - этому, чужому устройству надо к чему-то подключаться, а о существовании VPN-оркестратора Nebula оно и не знает.
Каждый шлюз, участвующий в VPN-сети, определяет, какие локальные сети будут доступны для VPN-подключений. Поскольку процесс настройки сведён к минимуму, то подразумевается, что все локальные сети, которые вы добавили в VPN, будут доступны всем маршрутизаторам, входящим в созданную область.
Политиками безопасности вы можете настроить правило, чтобы например сеть 10.1.1.0/24 на шлюзе A была доступна только для клиентов сети 10.2.2.0/24 на шлюзе Б, а политиками маршрутизации заворачивать весь трафик в определённый тоннель. . И ещё один важный момент: если так получилось, что ваш шлюз Zyxel стоит за NAT, то для корректной работы VPN вам нужно указать его IP-адрес в поле "обход NAT". Обычно, параметра "Авто", устанавливающего 127.0.0.1, бывает достаточно.
Шаг 2а - создаём подключения «офис-офис» по типу Mesh-сети
Если вы хотите объединить множество площадок общей сетью через VPN, то вам лучше иных подойдёт одноранговая Mesh-сеть, в которой все шлюзы соединены со всеми, а оптимальная маршрутизация постоянно перестраивается в соответствии с состоянием линии, выпадением отдельных шлюзов и их загрузкой.
В отличии от беспроводных Mesh-сетей, здесь нет главных и второстепенных шлюзов, так как управление производится через облако Nebula, а соединение между узлами устанавливается всегда по принципу «каждый с каждым», и из-за этой особенности в сети создаёте большое количество ненужных каналов.
Это надо учитывать в развитых сетях с отказоустойчивыми WAN-интерфейсами, поскольку на младших моделях маршрутизаторов вы можете исчерпать все доступные лимиты VPN-подключений.
Шаг 2б - выбор топологии «концентратор»
Если перед вами стоит задача соединить филиалы с центральным ЦОД-ом компании, то выбирайте топологию «концентратор». Настройка здесь такая же простая: перед нами открывается список шлюзов, принадлежащий нашей «Московской VPN области», здесь мы выбираем корневой шлюз, и нажимая соответствующую кнопку, присваиваем ему роль «концентратор». Теперь осталось только переключить флажок «активация VPN» на всех роутерах, которые будут формировать нашу сеть, и дело сделано: устройства автоматически установят соединение между собой и настроят маршрутизацию.
Интересный момент, на который нужно обратить внимание: между клиентами, подключенными к концентратору, может проходить трафик, что позволяет создавать топологии типа «замкнутая звезда» и «треугольник». Так же совершенно легально вы можете создавать несколько хабов в одной VPN-области типа «концентратор» для повышения отказоустойчивости.
Так же имейте ввиду, что при использовании multi-WAN, на главный хаб ложится большая нагрузка, чем на те, которые к нему подключаются, поэтому на его роль следует отводить самую мощную модель.
Вы не ограничены одним концентратором на область: можете установить несколько для повышения отказоустойчивости, или снижения нагрузки. В этом случае все хабы в одной VPN-области будут устанавливать связь не только со всеми площадками, но и между собой.
Шаг 3 - объединение областей
И в одноранговой Mesh-сети, и Hub-звезде вы можете выбрать, какие шлюзы будут иметь выделенный канал для связи с другими VPN-областями, причём ни количество шлюзов, ни топология не важны: здесь используется простой принцип «все со всеми», и например вы можете связать «Московскую VPN область», имеющую вид Mesh с «Ленинградской VPN областью», имеющей вид «звезда» через 3 шлюза: 1 в Москве, и 2 в Санкт-петербурге. Причём, устанавливать связь между областями в схеме «концентратор» может не только корневой, но и клиентский шлюз.
При соединении трёх и более VPN-областей, шлюзы, объединяющие области, создадут между собой такую же одноранговую Mesh-сеть, устойчивую к обрыву связи на междугородних каналах.
Как видите, процесс объединения площадок сводится к переключению мышкой флажков в меню облачного контроллера. Добавление новых устройств, замена и удаление старых не потребуют от вас лишних движений с ручным обновлением конфигурации всей сети: сверху донизу маршрутизацию пропишет сама Nebula, за исключением сторонних устройств.
Мониторинг установленных соединений - на любителя. Нельзя вывести на экран одновременно все данные о всех VPN подключениях, а можно либо смотреть статистику по площадке, либо кликнув на соединение на карте, получить информацию по нему.
Обратите внмание, в статистике учитывается и трафик на несовместимые с Nebula шлюзы, а так же трафик клиентских подключений, к которым мы плавно переходим.
Шаг 4 - создаём VPN для Wi-Fi клиентов (Secure Wi-Fi)
Разобравшись с использованием VPN для связи внутрикорпоративных сетей, перейдём к работе с пользователями. Сегодня хорошим тоном для служб информационной безопасности является заворачивание любого интернет-трафика сотрудника через корпоративный шлюз безопасности. Отчасти этот подход обеспечивает возможность работы сотрудников с собственными ноутбуками и смартфонами (принцип Bring Your Own Device, или BYOD), и реализуется через изолирование каждого клиента в собственном VLAN и подключении через собственный VPN тоннель. Но далеко не на всех устройствах можно настроить и то и другое: на всякие умные розетки не установишь софт для VPN, а ОС ноутбука легко может быть скомпрометирована / взломана, что приведёт к утечке пароля подключения. Проблем может быть масса, но Zyxel реализовал технологию Secure Wi-Fi, заключающейся в установке VPN канала между беспроводной точкой доступа и шлюзом безопасности.
Да, вы не ошиблись: весь трафик от ТД до офиса компании защищён шифрованием, и пользователи Wi-Fi вообще не замечают наличия VPN, ведь NVGRE туннель позволяет центральным и удалённым площадкам использовать одну и ту же подсеть, так что широковещательный и Multicast-трафик может проходить через туннель. Что интересно, на одной и той же точке доступа могут быть как обычные незашифрованные SSID в количестве до 2 штук, так и туннельные, коих может быть 4. Одна точка доступа всегда использует один тоннель для связи со шлюзом, даже если используются все 4 VPN SSID.
Теперь о неприятном: технология Secure Wi-Fi работает только на новейших шлюзах и точках доступа Zyxel серии ATP, располагаемых на одной площадке в облачном контроллере Nebula, но это не значит, что вам придётся тратиться на флагманские модели. Конечно, мы уже тестировали Secure Wi-Fi на лучшей из точек доступа Zyxel, модели WAX650S, но так же она будет работать и на простых комнатных ТД, таких как WAC500H. Для активации Secure Wi-Fi требуется приобрести и активировать лицензию на шлюзе, и учтите, что количество туннелей Secure Wi-Fi у шлюзов ещё более ограничено, чем число обычных VPN соединений.
Ограничения |
USG Flex 100(w) | USG Flex 200 |
USG Flex 500 | USG Flex 700 |
Максимум IPSec туннелей |
40 | 100 |
300 | 500 |
Максимум точек с VPN |
6 | 10 |
18 | 66 |
Ограничения |
ATP 100(w) |
ATP 200 |
ATP 500 |
ATP 700 |
ATP 800 |
Максимум IPSec туннелей |
40 |
100 |
300 |
500 |
1000 |
Максимум точек с VPN |
6 |
10 |
18 |
66 |
130 |
Перед включением туннелированной беспроводной сети, мы просто создаём обычную беспроводную сеть со всеми теми же параметрами, как это делаем обычно. Вы можете выбрать WPA3, сделать эту сеть гостевой - не имеет значения, туннелирование доступно в любом случае.
После заходим в раздел «точки доступа - мониторинг - точки доступа», отмечаем флажок той ТД, от которой нужно настроить туннель и кликаем кнопку "VPN/AP Role". Здесь мы можем включить туннелирование для любого из 4-х SSID и указать, к какому LAN-порту шлюза будет производиться подключение. Как вы можете видеть, колонки выбора маршрутизатора тут нет, поскольку у Nebula на одной площадке может быть только один шлюз, и раз уж они с точкой доступа находятся в одной локальной подсети, то и выбирать тут нечего.
Теперь в нашей тестовой конфигурации получилось, что точка доступа установлена в Подольске, а при подключении к ней клиент выходит в интернет с московского IP-адреса, и вообще принадлежит подсети московского шлюза. Представьте себе, какой это плюс для международных организаций, которые могут давать доступ в интернет для своих сотрудников с корпоративного IP, без ограничений "суверенных интернетов". А одним нажатием мышки мы можем изменить привязку точки доступа с Москвы на Подольск, и будем работать с Secure Wi-Fi как с обычной беспроводной сети, перестраивать что-то не нужно. Был бы у нас ещё офис в Японии или Новой Зеландии - смена шлюза для выхода в интернет была бы такой же простой, секундной задачей.
Шаг 5 - включаем VPN для обычных клиентов
Напоследок осталось настроить самый обычный VPN для пользователей на удалёнке, работающих со смартфонов, компьютеров и ноутбуков. Казалось бы, это вполне тривиальная задача, но не совсем: учитывая, что вы можете активно использовать несколько WAN-каналов, правильно было бы использовать внешний балансировщик, выбирающий к какому из них подключаются пользователи. Nebula берёт на себя эту роль, предоставляя для ваших подключений случайно сгенерированное доменное имя третьего уровня.
Для подключения клиентов доступны IPSec и L2TP over IPSec. Среди базовых настроек вам предлагается выбрать только подсеть, в которую будут добавляться клиенты, а среди расширенных, конечно, доступны и выбор типа шифрования, и версия IKE, и группа Диффи-Хилмана. Настройки созданной VPN сети можно отправить на E-Mail в виде bat-ника под Windows и конфига под iOS. Запустив этот файл, мы автоматически создадим новое подключение под Windows.
Но, конечно, настоящим прорывом в области безопасности является поддержка облачной аутентификации, которая добавляет ещё несколько слоёв защиты поверх VPN, и делает бесполезными попытки похитить ключ L2TP. Давайте посмотрим, как это настраивается:
Шаг 6 - Добавление пользователей в систему
Так как управление аккаунтами клиентов берёт на себя облачный контроллер Nebula Control Center, их список распространяется на всю организацию со всеми филиалами, но в случае надобности вы можете ограничить аутентификацию пользователя только выбранными площадками, например только Подольском. Список можно подготовить и импортировать через текстовый файл, а отдельных пользователей - добавлять вручную.
Для клиента в качестве средства авторизации может выступать его E-Mail и/или просто имя, и следует иметь ввиду, что один и тот же список в Nebula используется и для авторизации к Wi-Fi, и для доступа к VPN. Да, ранее в обзоре точки доступа WAX650S мы показывали, как настроить доступ к Wi-FI с использованием аутентификации Google, и поскольку этот метод набирает всю большую популярность, его можно задействовать и для доступа к VPN. Здесь всё предельно просто: после того, как вы включили VPN серверы для клиентов на шлюзе, мы переходим по ссылкам "аутентификация - облачная авторизация" и создаем пользователя, разрешая ему подключаться к VPN.
После создания пользователя, ему на электронную почту приходят логин, пароль и ссылка для управления аккаунтом и привязки к Google Authentificator. Всё, на этом настройка пользователей закончена, и сюда больше не возвращаемся.
Теперь при подключении, пользователь указывает логин, пароль и временный токен из программы аутентификации, и это - в дополнении к ключу VPN-сети. Использование Google Authentificator на смартфоне удобно ещё и тем, что эту программу можно зашифровать, разрешив к ней доступ по отпечатку пальцев. В таком случае даже кража ноутбука или смартфона не даст злоумышленнику доступ к VPN сети.
Заключение
Технологии VPN достигли того уровня, когда тот же IPsec предоставляет достаточный уровень защищённости, чтобы не задумываться о том, какие его параметры используются у Zyxel под капотом. С ростом масштабируемости сетей, на первое место выходит простота настройки и обслуживания, и здесь Zyxel Nebula проявляет себя во всей красе. Я не могу сказать, что всё идеально, нет: меня не устраивает отсутствие тонких настроек маршрутизации, невнятная обратная связь, когда я просто не вижу в чём проблема, если что-то не соединилась, но справедливости ради стоит сказать, что каждый раз, когда я натыкался на ошибку - это была моя ошибка. С настройками по умолчанию всё работало, и лезть в логи не было никакого смысла.
Да, VPN в представлении Zyxel ушёл от модели "чего-то что настраивается", к модели "чего-то что включается там, где вам нужно", и это существенно облегчит управление крупными сетями. Ведь всегда удобно держать перед глазами карту, кликнув на которую, можно видеть трафик между шлюзами.
Михаил Дегтярёв (aka LIKE OFF)
20/12.2021