802.1X是一种认证技术,是对二层交换机接口接入主机进行认证的一种技术;当接口开启了认证功能后,在认证没有通过以前,交换机接口只会有802.1X消息、CDP消息、STP消息传递。

要进行认证,只要输入用户名和密码即可。交换机为802.1X提供的认证数据库可以是本地认证,也可以是远程服务器认证。这需要通过AAA来指定认证数据库的方式,如果AAA指定的是本地认证,则根据交换机本地的用户名和密码来进行认证;如果AAA指定的是远程认证,则需要使用远程服务器来进行认证,AAA为802.1X提供的远程认证服务器只有radius服务器,服务器上运行ACS 3.0以上版本的软件即可!

接口开启了802.1X认证,且连接的主机支持802.X认证时,将会有以下的结果:

1、认证通过,则允许主机访问网络,并将网络放到配置好的VLAN中

2、认证超时,将主机放到guest vlan中(不支持802.1X认证的主机也会被放入到guest vlan中)

3、认证失败,如果定义了失败的vlan,那么将把主机放入定义好的失败的vlan中

4、远程服务器没有响应,如果定义了放行,则放行

如果认证失败,交换机支持重认证(re-authentication)功能,并且还可以配置认证的时间间隔,默认为60S一次,支持2次的重认证。默认交换机的此功能是关闭的,如果要在某接口下开启re-authentication功能,则需要在enable模式下输入dot1x re-authentication interface命令。

在交换机上开启了认证功能以后,接口从down到Up状态后,需要进行重新认证。

dot1x port-control auto接口认证

对于开启了认证功能的接口,接口将分为两种状态:unauthorized  authorized

对于接口的状态,可以手工指定,分为以下三种状态:

force-authorized:强制将接口指定为authorized状态

force-unauthorized:强制将接口指定为unauthorized状态

auto:正常的认证状态,如果认证成功,则为authorized状态;如果认证失败,则为unauthorized状态 ;

当接口从Up转到down状态,或者有主机离开发送Logoff消息时,接口状态都会回复到unauthorized状态。

开启了802.1X状态的接口,还有主机模式,称为host-mode,分为single-mode和multiple-mode;

single-mode:此状态为默认模式,表示只有一台机可以连接进来

multiple-mode:表示可以有多台主机连接进来,并且只要有一台主机通过认证,则所有主机都可以访问网络 ;

当认证超时或主机不支持认证时,接口将被划到guest VLAN ,当认证失败时,将被划失败VLAN,也就是受限制的VLAN(restricted VLAN),guest VLAN和restricted VLAN可以定义为同一个VLAN,并且每接配置的。其实即使划入这个VLAN后,也会告诉客户是认证通过,要不然会得不到DHCP。

801.1X认证只能在access模式的接口下开启

正常工作在802.1X下的接口称为port access entity (PAE)authenticator

在认证超时或者不支持认证主机的情况下,主机将会被划入到guest vlan;在IOS 12.2前,是不会将接口划入到guest-vlan中的,如果要开启这个功能,需要在全局模式下输入dot1x guest-vlan supplicant。

配置802.1X认证

1、配置认证方式(本地数据库或者远程服务器认证)

sw1(config)#aaa new-model

sw1(config)#aaa authentication dot1x default local 或

sw1(config)#aaa authentication dot1x default group radius

sw1(config)#radius-server host 10.1.1.1 auth-port 1645 acc-port 1646 key cisco 

//定义radius服务器的IP地址为10.1.1.1,密码为cisco,认证端口为UDP 的1645,默认为1812,accounting端口为1646,默认为1813

2、开启802.1X认证

sw1(config)#802.1x system-auth-control   //全局开启802.1x认证

sw1(config)#interface f0/0                             //在接口下开启802.1x认证

sw1(config-if)#switchport mode access

sw1(config-if)#802.1x port-control auto

3、定义guest vlan 和 restrict vlan

sw1(config)#vlan 10

sw1(config)#vlan 20

sw1(config)#interface f0/0

sw1(config-if)#dot1x guest-vlan 10

sw1(config-if)#dot1x auth-fail vlan 20     //guest vlan restrict vlan可以定义成一个vlan

4、设置802.1x参数

sw1(config)#interface f0/0

sw1(config-if)#dot1x reauthentication

sw1(config-if)#dot1x max-reauth-req 3               //重认证次数(默认2 次)

sw1(config-if)#dot1x auth-fail max-attempt 2     //在划到限制vlan前,可以尝试几次输入(默认3次)

sw1(config-if)#dot1x host-mode multi-host       //默认为single-host

5、查看配置

sw1# show dot1x interface f0/0

强制将接口处于authorized状态:

sw1(config)#interface f0/1

sw1(config)#sw mode access

sw1(config-if)#dot1x port-control force-authorized  或者

sw1(config-if)#dot1x pae authenticator