Cisco+FreeRADIUS – авторизация по MAC-адресу.
Казалось бы, все просто – нужно взять значение атрибута с МАС-адресом и сверить его с МАС-ом в БД пользователей. Но вся сложность в том, что Cisco, в отличие, например от MPD или MikroTik, присылает MAC-адрес не в отдельном атрибуте, а в Cisco-AVPair формате:
Cisco-AVPair = "client-mac-address=0000.0000.0000"
С таким форматом очень неудобно работать, поэтому выполним следующую настройку FreeRADIUS, благодаря которой мы получим MAC-адрес отдельным атрибутом.
В словарь FreeRADIUS (raddb/dictionary) добавляем следующую строку:
ATTRIBUTE Client-MAC-Address 3100 string
Число 3100 может быть и другим. Это просто числовой идентификатор атрибута. Главное чтобы не было других атрибутов с таким же id. Для пользовательских атрибутов выделен диапазон от 3000 до 4000.
Затем в основном конфигурационном файле FreeRADIUS (raddb/radiusd.conf) в модуле preprocess прописываем следующее:
with_cisco_vsa_hack = yes
После рестарта в пакеты приходящие с Cisco FreeRADIUS будет дописывать атрибут Client-MAC-Address в таком формате:
Client-MAC-Address = "0000.0000.0000"
(#) cutter:
Hi,Спасибо, это помогло с вытаскиванием isakmp-initator-ip из Cisco-AVPair.