我想在某些 Cisco SG300(小型企业)交换机上实施简单的基于 MAC 的身份验证。客户端不要求进行身份验证,但我只是希望对客户端的 MAC 地址进行身份验证,例如对打印机进行身份验证。
这些交换机可以执行 802.1x 以及基于 MAC 的身份验证。然而,他们对后者的定义/实现似乎很有趣。提前阅读。
首先,在基于 MAC 的身份验证的情况下,像往常一样,交换机承担请求者的角色。然而,这些仍然在 RADIUS 请求中发送 EAP 数据包,而不是普通的 RADIUS 请求,到身份验证/RADIUS 服务器。手册给出了这个提示:
基于 MAC 的身份验证是 802.1X 身份验证的替代方法,它允许对不具有 802.1X 请求方功能的设备(例如打印机和 IP 电话)进行网络访问。基于 MAC 的身份验证使用连接设备的 MAC 地址来授予或拒绝网络访问。
在这种情况下,交换机支持 EAP MD5 功能,用户名和密码等于客户端 MAC 地址
现在,当您想使用基于 MAC 的普通身份验证时,我们拥有的所有其他设备都不会这样做。甚至 Cisco 自己也不会在他们的 IOS 设备上这样做(该功能称为“MAC-auth bypass”)。
其次,这些交换机(SG 系列)可以进行动态 VLAN 分配,这意味着您返回某个内嵌 VLAN 的 RADIUS 属性,然后交换机会在可能的情况下将该 VLAN 应用到端口上。
现在在这种情况下,如果在 EAP“信封”中没有很好地提供该属性,则该属性将被默默忽略。在这里,一切都汇集在一起并打破了我们当前的设置(或者需要对其进行修改。)
我当然可以尝试配置 RADIUS 服务器(这里是 freeradius)来处理这两种情况(EAP 以及普通 RADIUS),但我主要想从已经经历过这一切的人那里知道的是:是“MAC 身份验证” " 仍然生成 EAP 数据包的有效方法?
现在我想做的是:确定思科的支持并告诉他们该设备应该做
- 请求 802.1x 时的 EAP
- 请求 MAC 身份验证时的普通 RADUIS(但不是某种 EAP)
但是我需要一些强有力的理由:)
我知道这不是一些“我已经尝试过这个和那个,我最终如何让它工作”的问题,而是“为什么它会这样工作?他们以这种方式实现它是否正确?如果是的,为什么;如果不是,为什么不呢?” (也许你有一些 RFC 或类似的想法。)希望没问题。