Skip to content

开发者指导 锐捷认证原理

HustLion edited this page Jun 12, 2015 · 2 revisions

#锐捷的认证过程 分为三个部分:

  • 交换机发现
  • 用户名和密码认证
  • 心跳维持

#交换机发现 交换机发现,就是通过发送特定的数据包,找到网络上负责执行锐捷认证的那台交换机的网卡地址。

交换机发现所发送的包,是一个广播包。其广播地址在不同的版本里是不一样的。在v2版本里,广播地址是标准的以太网广播包,也就是目的MAC地址全0的。在其他版本里,有需要一个特定的一个MAC地址作为广播包的目的地址。

除了地址,广播包还带有额外的数据。在v2版本里,这个数据由一个 “固定的数据部分”+一个随机数据构成。而在v3里,这部分数据需要从官方的客户端里进行提取。

在发送完一个广播包后,客户端等待锐捷交换机的响应,锐捷交换机会发回响应包,这样客户端就知道了锐捷交换机的 MAC 地址了 (从以太网包的发送方地址里获取)。

除了返回的响应包,一并返回的还有接下来挑战认证协议里需要用到的一个随机数种子。

#挑战认证协议 锐捷使用的认证协议非常类似HTTP所使用的挑战认证协议。由服务器端发回一个随机数种子,然后客户端将用户名密码和随机数种子加到一起,执行md5校验,并将此md5校验结果发给锐捷。这么做的原因是,如果有人监听数据包截取了md5校验过的密码,也不能用这个md5的结果来替代你登录服务器。因为每次的随机数种子是不一样的,只有真正知道密码的才能构造出合适的md5串来。

当然,第一部分 “服务器端发现” 的时候在广播包后面附带的数据,同样要附带在这里。这部分附加数据,是所有客户端发送的数据包都必须携带的。

锐捷检验过md5数值后,就会返回一个成功的数据包了,接下来就进入了心跳协议了

#心跳协议 锐捷检验过md5数值后,就会返回一个成功的数据包了,这个成功的数据包里,包含又一个随机数种子。这个随机数种子还经过了一定的混淆算法。需要首先反向解密。

解密后,每次发送心跳包前,都将这个数字+1。并将加1后的数字再次加密。加密后,再附带锐捷那一套冗长的数据,合并后的数据即可发送了。

心跳包发送频率可以控制在每分钟一个即可。

#备注

##关于交换机发现的讨论 在交换机发现这一条目中,客户端发送广播包到锐捷用于接收认证信息的交换机上,该锐捷交换机一般处于网络层次的最底层接入层,直接和用户相连,当然了用户为了扩展端口也可以在自己宿舍里增加以太网交换机。 为什么用户自己增加以太网交换机是没问题的呢?因为用户自己购买的小型交换机所有接口都属于VLAN 1,而VLAN 1属于默认VLAN,默认VLAN转发二层数据包时不会携带VLAN标签,当然了,在access口上都不会打VLAN标签,打VLAN标签只会在trunk口上,trunk口还可以定义本帧VLAN用于不打标签。所以用户PC上的信息经过用户自己购买的小型交换机到锐捷接入认证信息的交换机是,用户的数据在数据链路层是原封不动给了锐捷接入认证交换机,而锐捷接入交换机则为每个端口都划分了VLAN基本上不会是VLAN 1,锐捷交换机返回给客户PC的Mac地址是锐捷交换机的管理VLAN地址同时也是锐捷交换机背板Mac地址,这是锐捷交换机和Cisco交换机的不同之处,Cisco为他的交换机每台都分了一批Mac地址,而像锐捷、H3C、华为都是一台交换机一个Mac地址,多个三层接口共用。锐捷接入认证交换机会把用户信息接收,再通过锐捷接入认证交换机预先配置的radius服务器地址发给锐捷认证服务器Sam服务器…

##疑问点 锐捷认证是基于802.1x协议的。在挑战认证协议之前还有一步EAP-RESPONSE-Identity吧?

  1. 开发者资料
  2. [锐捷认证原理](开发者指导 锐捷认证原理)
  3. 详尽版配置参数说明
  4. 编译指南
  5. 用户手册
  6. 安装说明
  7. 简易版配置参数说明
  8. 常见的问题
Clone this wiki locally