Статей по внедрению аутентификации компьютеров на различных RADIUS серверах написано много и на разных языках, в том числе и сценарии, когда компьютер подключен к сети через встроенный коммутатор в телефоне, однако в этих статьях упоминаются умные IP телефоны, поддерживающих CDP или LLDP и умеющие работать с Voice Vlan.
К сожалению, мне пришлось работать с тем, что есть, а именно IP телефон Panasonic KX-NT321, работающий по проприетарному протоколу, не умеет ни LLDP, ни тем более CDP и даже загрузки конфигурации по TFTP. Но можно с самого телефона настроить тегирование на каждом из порту коммутатора.
Итак, что мы имеем: RADIUS на базе Microsoft NPS, коммутаторы Cisco 2960, IP телефоны Panasonic и компьютеры.
Я не буду рассматривать базовую настройку RADIUS и коммутаторов, будем считать, что коммутаторы у нас уже являются клиентами.
Т.к. телефоны не понимают пакеты EAPoL, мы будем применять к ним технологию MAB (MAC Authentication Bypass). Вкратце, коммутатор берет mac адрес телефона и посылает его в как логин/пароль на RADIUS для аутентификации, подробнее описано на cisco.com
А для компьютеров будем использовать 802.1x, примем за факт, что на компьютере у нас все настроено должным образом.
Соответственно на порту коммутатора у нас должно быть включено и 802.1x и MAB, для этого нам подойдет только режим MDA (Multidomain Authentication Mode) подробнее о режимах тут и таким образом конфиг порта будет следующий:
interface FastEthernet0/2
switchport access vlan 99
switchport mode access
switchport voice vlan 2
authentication host-mode multi-domain
authentication order mab dot1x
authentication port-control auto
authentication periodic
mab
dot1x pae authenticator
dot1x timeout tx-period 3
spanning-tree portfast
Команда mab обязательна, т.к. без нее коммутатор посылает пакеты используя EAP-MD5 аутентификацию, но MS NPS не принимает данный режим, поэтому нужно использовать PAP.
Собираем mac адреса наших телефонов и добавляем их в ActiveDirectory в отдельную OU и группу безопасности (назовем их Phone) как обычных пользователей с логином и паролем как мас адрес наших телефонов.
В NPS создаем правило для телефонов:
Параметр device-traffic-class=voice говорит коммутатору, что данный девайс пойдет в voice vlan.
Параметр Tunnel-Pvt-Group-ID сообщает коммутатору, в какой Vlan попадет устройство, однако в нашем случае — это работать не будет, т.к. мы руками на телефоне настраиваем vlan'ы.
Создаем аналогичное правило для компьютеров:
Так же необходимо создать политику запросов на подключение, с разрешением использовать PAP.
В коммутаторе можно вручную задать пароль для MAB запросов, т.е. посылая запрос аутентифицкации в строке логин будет mac адрес, а в строке пароль, то что мы зададим вручную на коммутаторе:
(config)#mab request format attribute 2 yourpassword
Тогда в AD все учетки телефонов должны быть с этим паролем.
Использованные материалы:
IEEE 802.1X Port-Based Authentication
MAC Authentication Bypass Deployment Guide
Автор: RazorBlade