Прежде чем настраивать коммутатор для работы с рассматриваемыми технологиями, вначале нужно установить и настроить сервер аутентификации, в нашем случае это будет freeradius. В простейшем случае после установки сервиса freeradius достаточно добавить пользователей в файл /etc/freeradius/3.0/users. Учетная запись 'nag' будет использоваться для 802.1X-метода аутентификации, а учетная запись 'b8-27-eb-ea-05-e1', которая является MAC-адресом сетевого принтера, для метода MAB. Обе они будут иметь VLAN_ID 20.
nag Cleartext-Password := "nag" Tunnel-Type = 13, Tunnel-Medium-Type = 6, Tunnel-Private-Group-ID = "20" b8-27-eb-ea-05-e1 Cleartext-Password := "b8-27-eb-ea-05-e1" Tunnel-Type = 13, Tunnel-Medium-Type = 6, Tunnel-Private-Group-ID = "20" |
где:
Подробнее о всех возможных значениях вы можете прочитать пройдя по ссылке. Перезапустим сервис freeradius и начнем настройку коммутатора.
Стандарт IEEE 802.1X определяет клиент-серверный контроль доступа и протокол аутентификации, который препятствует подключению к сети неавторизованных пользователей. Сервер аутентификации проверяет подлинность каждого клиента, подключенного к коммутатору до того, как сервисы предоставляемые коммутатором или локальной сетью станут доступны ему.
И коммутатор и клиент могут инициировать аутентификацию. Коммутатор делает это, когда состояние порта меняется с DOWN на UP или периодически, пока клиент за портом не аутентифицирован. Для этих задач коммутатор использует протоколы EAPOL (extensible authentication protocol over LAN) и RADIUS (remote authentication in dial-in user service). Рассмотрим, что происходит, когда новое сетевое устройство с поддержкой 802.1X подключается к порту коммутатора.
Рассмотрен базовый пример. В случае использования таких протоколов шифрования, как MD5 и MSCHAPv2 в процесс аутентификации добавятся кадры протокола TLS. |
Сервер RADIUS имеет IP-адрес 192.168.1.3 и открытый ключ шифрования 'testing123':
(config)#radius-server authentication host 192.168.1.3 key testing123 (config)#aaa enable |
Создадим необходимые VLAN:
(config)#vlan 20;100 |
Включим 802.1X глобально и на порте:
(config)#dot1x enable (config)#int e1/0/2 (config-if-ethernet1/0/2)#dot1x enable |
Зададим port-based метод аутентификации и гостевую VLAN для тех, кто не прошел ее:
(config-if-ethernet1/0/2)#dot1x port-method portbased (config-if-ethernet1/0/2)#dot1x guest-vlan 100 |
Подключим устройство , использующее учетную запись 'nag', и проверим результат:
#sh dot1x interface e1/0/2 802.1X is enabled on port Ethernet1/0/2 Authentication Method:Port based Configured Access Vlan 1, Guest Vlan 100, Current Vlan 20 Status Authorized Port-control Auto Supplicant f0-de-f1-19-d5-eb VLAN id 20 Authenticator State Machine State Authenticated Backend State Machine State Idle Reauthentication State Machine State Stop |
Как видно, устройство успешно авторизовалось, передав свои логин/пароль, заданные в настройках подключения.
Многие сетевые устройства не имеют специального ПО для работы с 802.1X, в таких случаях можно использовать технологию MAB (mac authentication bypass), которая использует MAC-адрес устройства, как логин/пароль для аутентификации через RADIUS. При таком способе используются только два RADIUS-пакета:
Access-Success, отправляемый сервером аутентификации, если клиент идентифицирован.
MAB поддерживает в качестве сервера аутентификации только RADIUS. |
Важно отметить, что для использования функционала guest-vlan в случае с MAB необходимо использовать hybrid-порт. Включим поддержку MAB глобально:
(config)#mac-authentication-bypass enable |
Для коммутаторов серии S2995, дополнительно, в режиме глобальной конфигурации требуется применить команду "mac-address-learning cpu-control" |
Затем на порте:
(config)#int e1/0/3 (config-if-ethernet1/0/3)#mac-authentication-bypass enable |
Ограничим максимальное количество MAC-адресов на порте до одного (три по умолчанию):
(config-if-ethernet1/0/3)#mac-authentication-bypass binding-limit 1 |
Настроим порт в режиме hybrid и укажем используемые VLAN:
(config-if-ethernet1/0/3)#switchport mode hybrid (config-if-ethernet1/0/3)#switchport hybrid allowed vlan 20;100 untag (config-if-ethernet1/0/3)#switchport hybrid native vlan 100 |
Зададим гостевую VLAN:
(config-if-ethernet1/0/3)#mac-authentication-bypass guest-vlan 100 |
Проверим результат:
#sh mac-authentication-bypass interface e1/0/3 Interface Ethernet1/0/3 user config: MAB enable: Enable Binding info: 1 -------------------------------------------------------- MAB Binding built at Sun Jan 1 02:24:02 2006 VID 20, Port: Ethernet1/0/2 Client MAC: b8-27-eb-ea-05-e1 Binding State: MAB_AUTHENTICATED Binding State Lease: 169 seconds left |
На одном порте возможно одновременно использовать MAB и 802.1X аутентификации, но без использования guest-vlan для последней. В нашем примере с hybrid-портом неаутентифицированный 802.1X-пользователь все равно окажется в VLAN 100, т.к. он native.
(config-if-ethernet1/0/3)#dot1x enable (config-if-ethernet1/0/3)#dot1x port-method portbased |
Теперь подключим к порту 1/0/3 устройство с 802.1X аутентификацией и проверим результат:
#sh dot1x interface ethernet 1/0/3 802.1X is enabled on port Ethernet1/0/3 Authentication Method:Port based Configured Native Vlan 100, Guest Vlan 100, Current Vlan 20 Status Authorized Port-control Auto Supplicant f0-de-f1-19-d5-eb VLAN id 20 Authenticator State Machine State Authenticated Backend State Machine State Idle Reauthentication State Machine State Stop |
Подключим к порту e1/0/3 устройство с неверными учетными 802.1X данными и проверим результат:
#sh dot1x interface e1/0/3 802.1X is enabled on port Ethernet1/0/3 Authentication Method:Port based Configured Native Vlan 100, Guest Vlan 0, Current Vlan 100 Status Unauthorized Port-control Auto Supplicant f0-de-f1-19-d5-eb VLAN id 100 Authenticator State Machine State Held Backend State Machine State Idle Reauthentication State Machine State Stop |