Коротко — нужно оставить 802.1X как основной метод, но на порту включить MAB как автоматический «фоллбэк», настроить таймауты/режимы порта и зарегистрировать MAC‑адреса принтеров в RADIUS/списке авторизации. Ниже — понятный план и пример конфигурации (на примере Cisco Catalyst IOS), а также важные замечания и проверка.
1) Идея
- Порт пытается пройти 802.1X (EAPOL). Если клиент не отвечает (принтеры часто не поддерживают 802.1X), после таймаута происходит MAB — switch отправляет RADIUS-запрос с MAC в роли имени/идентификатора. RADIUS возвращает Access-Accept (обычно с указанием VLAN/ACL) — порт открывается для принтера.
2) Пример настройки интерфейса (Cisco IOS/Catalyst)
(на интерфейсе, где принтеры будут или на шаблоне порт‑channel/Range)
interface GigabitEthernet1/0/1
switchport mode access
switchport access vlan 10 ! (по умолчанию или отполучаемый по RADIUS)
switchport nonegotiate
spanning-tree portfast
authentication host-mode single-host ! один узел на порту (если несколько — multi-auth)
dot1x pae authenticator
authentication port-control auto
authentication order dot1x mab ! сначала dot1x, затем mab
authentication priority dot1x mab ! опционально, повышает приоритет dot1x
mab ! включает MAB на порту
! при необходимости настроить таймауты dot1x (глобально или интерфейсно)
! (например) dot1x timeout tx-period 10
! (например) dot1x timeout quiet-period 5
Объяснение ключевых команд:
- dot1x pae authenticator — включить 802.1X режим аутентификатора.
- authentication port-control auto — порт в состоянии контролируемой аутентификацией.
- authentication order dot1x mab — если dot1x не прошёл, пробуем MAB.
- mab — разрешить MAC Authentication Bypass на порту.
- authentication host-mode single-host — если только одно устройство будет на порту; для нескольких — multi-auth.
3) Что должно быть настроено на RADIUS/ISE/ACS/FreeRADIUS
- В базе RADIUS должны быть записи (endpoints/users) с именем/учётными данными, равными MAC‑адресу устройства в том формате, в котором его присылает коммутатор (чаще: AABBCCDDEEFF или AA-BB-CC-DD-EE-FF). Уточните формат в логах RADIUS (Calling‑Station‑ID).
- RADIUS должен вернуть Access-Accept и (опционально) атрибуты: Tunnel/Filter/VLAN (например, Tunnel-Private-Group-ID / VLAN ID / cisco-av-pair / Filter-Id), чтобы назначить нужную VLAN/политику принтеру.
- При использовании ISE: добавьте Endpoint с MAC и назначьте нужную Authorization Policy (в том числе «Authenticate as MAB»).
- При использовании FreeRADIUS: в users можно добавить строку с MAC в Calling‑Station‑Id и выдать Framed‑VLAN или Reply‑Items.
4) Таймауты и UX
- Dot1x временные параметры влияют на время ожидания, прежде чем начнётся MAB. Если таймаут слишком большой — порт долго будет в блокированном состоянии. Настройте dot1x timeout tx-period/quiet-period/reauth‑period по необходимости.
- Обычно делают небольшой quiet-period (5–10s) чтобы MAB сработал быстрее.
5) Проверка и отладка (Cisco)
- show authentication sessions interface Gi1/0/1 detail
- show dot1x all
- show mab
- debug dot1x all / debug radius authentication (только на тестовом периоде)
- На RADIUS смотрите логи запросов — Calling‑Station‑ID покажет, как коммутатор передаёт MAC; это поможет корректно записать MAC в RADIUS.
6) Важные замечания по безопасности и совместимости
- MAB — слабая мера безопасности (MAC легко спуфить). Для критичных сетей используйте профилирование/ISE, сертификаты или безопасный onboarding.
- Убедитесь, что на порту нет конфликтов с port‑security (если есть — разрешите место для MAC принтера или исключение).
- Если вы используете Dynamic ARP Inspection/ DHCP Snooping/other L2 security, добавьте принтеры в белый список/правила или позаботьтесь, чтобы их IP/MAC были разрешены.
- Если на одной физической порту будет несколько устройств (киоски, принтер + ПК через хаб) — используйте multi-auth и настройте соответствующие ограничения.
7) Пример действий для FreeRADIUS (очень упрощённо)
- В users:
DEFAULT Calling-Station-Id == "aa-bb-cc-dd-ee-ff"
Tunnel-Type = VLAN,
Tunnel-Medium-Type = IEEE-802,
Tunnel-Private-Group-Id = "20"
(форматы и синтаксис зависят от версии и вашей архитектуры.)
8) Резюме
- На коммутаторе: включить dot1x; поставить authentication order dot1x mab; включить mab на интерфейсе; подобрать корректные таймауты и host-mode.
- На RADIUS/ISE: добавить MAC‑записи и настроить выдачу VLAN/ACL при успешной MAB авторизации.
- Протестировать и отладить через show/debug и логи RADIUS.
Если хотите — пришлите модель коммутатора (точная IOS/IOS‑XE версия или другой вендор) и пример формата MAC‑адреса из логов RADIUS (Calling‑Station‑ID). Я подготовлю точную командную последовательность и пример записи для вашего RADIUS/ISE.