Router(config)# aaa new-model
! 启用 aaa
aaa authentication dot1x default group radius
! dot1x使用radius做认证
aaa authorization network default group radius
! 使用802.1x协议去动态分配vlan的话,上边的这句命令一定要有
dot1x system-auth-control
! 允许802.1x port-based 认证
dot1x guest-vlan supplicant
! 允许交换机在端口802.1x认证失败后,指定vlan到guest-vlan
radius-server host 192.168.1.1 auth-port 1812 acct-port 1813 key Password
! 设置radius server的ip地址和端口,以及认证的password
radius-server retransmit 3
!在发送的radius请求没有相应的情况下的重新传递次数
radius-server vsa send authentication
!vsa是Vendor-Specific attributes的缩写,如果需要通过802.1x来指定端口的vlan,需要这条配置命令。
!下边的是需要重点配置的,由于dot1x默认的几个超时和重试都比较高。如果遇到没有验证的主机的话,切换到guest-vlan的时间就会比较晚,造成主机显示无法连接,影响了用户的体验。其实在局域网环境中,超时值可以设置的相对低一些。
interface FastEthernet0/3
switchport mode access
!dot1x指定vlan, switchport mode必须为access
dot1x port-control auto
!开启dot1x端口认证
dot1x timeout quiet-period 10
!switch在与client认证失败后的静默时间。默认是60s,我设置为10
dot1x timeout tx-period 4
dot1x timeout supp-timeout 4
!switch和client之间认证等待的时间
dot1x timeout server-timeout 4
!switch 到radius server的 timeout时间
dot1x max-req 2
!switch和client之间认证重试的次数,默认是2次
dot1x guest-vlan 80
!设定尝试失败后所设置的guest-vlan
dot1x host-mode multi-host
!host-mode是针对在端口下通过hub有多台机器上网的问题设置的。默认的single-host只允许一台机器能够使用该端口;如果是 multi-host,那么只要第一台能够认证通过,那么其他接到这个hub的机器就都能使用,但是如果第一台认证的机器没有通过认证,那么这个hub上 的任何机器就都fail掉。