Рассматриваем особенности динамического VLAN и аутентификации на коммутаторах Zyxel
Следуя рекомендациям «best practice», различные по назначению сетевые устройства, такие как IoT, рабочие компьютеры, смартфоны, гостевые устройства, должны всегда находиться в разных подсетях, и в идеале – терминироваться через общий шлюз безопасности, однако в некоторых случаях, например, когда шлюз не справляется с потоком трафика, распределение по подсетям можно возложить на сетевой коммутатор, чтобы разделять разные устройства по VLAN-ам, разделяя таким образом доступ к разным сетям уже на надёжном и быстром L2 уровне. Здесь возникает вопрос, каким образом справиться с большим парком устройств, чтобы не прописывать правила для каждого индивидуально, и отказаться от небезопасной авторизации по MAC-адресу?
Для решения такой нетривиальной задачи используется аутентификация через внешние сервисы, в частности, RADIUS сервер. У Zyxel в коммутаторах начиная с серии 1920 поддерживается аутентификация через 802.1x, равно как и MAC-аутентификация, а начиная с серии 2220 и XS1930/XMG1930 с лицензией L3 Access, оба этих режима могут использоваться как по отдельности, так и совместно (так называемый режим Compound Auth).
Настройка через RADIUS
Встроенный RADIUS сервер конфигурируется в меню коммутатора во вкладке Advanced Application – AAA – RADIUS Server Setup. Здесь вам достаточно указать его IP-адрес и токен аутентификации коммутатора на сервере. После этого переходим во вкладку Port Autentification - 802.1x и выбираем порты, для которых будет требоваться аутентификация. Здесь мы выбираем только те порты, к которым будут подключаться клиентские устройства, требующие аутентификации, и чтобы всё работало правильно, не надо выбирать порты, через которые идёт трафик на сетевой шлюз, на сам RADIUS сервер или на Private-Server.
После этого, осталось добавить необходимые настройки в конфигурационный файл RADIUS сервера, который обычно находится по пути /etc/freeradius/clients.conf. Вот пример простого конфига:
client 192.168.1.8 {
secret = hwp-test-zyxel-1234
shortname = switch
nastype = other
}
Следующим этапом на RADIUS сервере настраиваем профили пользователей, которые будут аутентифицироватся в нашей сети.
user-A Cleartext-Password := «password12345»
Service-Type = Administrative-User
user-B Cleartext-Password := «password123»
Service-Type = Administrative-User
И перегружаем RADIUS сервер чтобы применить изменения.
Теперь осталось настроить учётные записи пользователей на клиентских машинах. Под Windows нам нужно из командной строки запустить services.msc и в свойствах службы Wired AutoConfig проставить галочку Enable IEEE 802.1X Authentication, после чего в дополнительных свойствах указать режим идентификации User Authentification. В случае, если на RADIUS-сервере не используются сертификаты, нужно будет в Windows в дополнительных свойствах аутентификации отключить их проверку.
Подключившись к заданному порту коммутатора с клиентского компьютера, нам будет предложено ввести логин-пароль пользователя в соответствии с настройками RADIUS сервера. На этом, можно сказать, процесс аутентификации завершён, но нам нужно теперь направить неавторизованных пользователей в гостевой VLAN, и делается это следующим образом.
Настройка гостевого VLAN для неавторизованных пользователей
В большинстве случаев, для пользователей, не прошедших аутентификацию, достаточно лишь отключить доступ к корпоративным ресурсам на L2 уровне, оставив возможность выхода в интернет.
В коммутаторе, во вкладке Port Authentification переходим на вкладку Guest VLAN. Выбираем порты, для которых была настроена авторизация выше, и прописываем VLAN для неавторизованных (гостевых пользователей).
Теперь потребуется внести дополнительные настройки для VLAN, указав для 100-го ID фиксированные нетегированные порты ресурсов, которые будут доступны гостям, например, порт вышестоящего шлюза для доступа в интернет. То есть, на шлюз должны приходить VLAN-ы как авторизованных, так и гостевых пользователей, а гостевому VLAN-у должны быть запрещены порты, к которым подключены серверы корпоративных ресурсов.
После чего добавляем в конфиг RADIUS сервера следующую запись для гостей:
client 192.168.1.8 {
secret = password123
shortname = switch
nastype = other
}
И в файл /etc/freeradius/users вносим запись пользователя:
user Cleartext-Password := «password54321»
Service-Type = Administrative-User
После чего перегружаем RADIUS сервер. Аналогично производим настойки на стороне Windows-клиента, но только теперь при подключении к порту с авторизацией во всплывающем окне Windows не вводим пару логин-пароль, которую мы задавали для user-A и user-B, а вводим Guest в качестве имени пользователя и любой рандомный пароль. Клиент соединится с гостевой сетью и получит доступ только к интернет-ресурсам через шлюз.
Настройка аутентификации по MAC-адресу
Авторизация по MAC-адресу настраивается схожим образом. На первом этапе, вам нужно в разделе «безопасность» включить MAC-аутентификацию для определённых портов и задать общий пароль. Обратите внимание, что порты, к которым подключаются интернет-шлюз, RADIUS-сервер или ресурсы корпоративной сети, не стоит включать в список аутентификации.
Теперь в файле конфигурации RADIUS сервера /etc/freeradius/users указываем MAC-адреса юзеров таким образом:
Access01-00-0C-29-AA-AA-AA Cleartext-Password := «zyxel»
Access01-00-0C-29-BB-BB-BB Cleartext-Password := «zyxel»
После чего перегружаем RADIUS сервер для применения настроек.
Если в организации нет возможности установить Radius сервер, вы можете воспользоваться тем, что доступен в сервис Zyxel Nebula, правда на данный момент он работает только для аутентификации через MAC-адреса. Один или два адреса можно добавить вручную, а для массового добавления пользователей вы можете использовать импорт файлов.
Выводы
Как вы можете видеть, процесс конфигурации аутентификации по MAC-адресу и через RADIUS сервер на коммутаторах Zyxel сводится к простому выбору параметров через Web-интерфейс и не требует погружения в синтаксис командной строки. Эту операцию может произвести и начинающий сетевой администратор с минимальными знаниями Linux и сетевого оборудования.
Михаил Дегтярёв (aka LIKE OFF)
01/05.2024