802.1x全称:“基于端口的网络接入控制”。
802.1x认证的最终目的就是确定一个端口是否可用。对于一个端口,如果认证成功那么就“打开”这个端口,允许所有的报文通过;如果认证不成功就使这个端口保持“关闭”,此时只允许802.1x的认证报文EAPOL(Extensible Authentication Protocol over LAN)通过。
802.1X采用Client/Server结构,包括:客户端(终端设备)、接入设备(交换机)和认证服务器(Radius服务器)。
802.1x认证过程
(1) 客户端向接入设备发送一个EAPoL-Start报文,开始802.1x认证接入;
(2) 接入设备向客户端发送EAP-Request/Identity报文,要求客户端将用户名送上来;
(3) 客户端回应一个EAP-Response/Identity给接入设备的请求,其中包括用户名;
(4) 接入设备将EAP-Response/Identity报文封装到RADIUS Access-Request报文中,发送给认证服务器;
(5) 认证服务器产生一个Challenge,通过接入设备将RADIUS Access-Challenge报文发送给客户端,其中包含有EAP-Request/MD5-Challenge;
(6) 接入设备通过EAP-Request/MD5-Challenge发送给客户端,要求客户端进行认证
(7) 客户端收到EAP-Request/MD5-Challenge报文后,将密码和Challenge做MD5算法后的Challenged-Pass-word,在EAP-Response/MD5-Challenge回应给接入设备
(8) 接入设备将Challenge,Challenged Password和用户名一起送到RADIUS服务器,由RADIUS服务器进行认证
(9)RADIUS服务器根据用户信息,做MD5算法,判断用户是否合法,然后回应认证成功/失败报文到接入设备。如果成功,携带协商参数,以及用户的相关业务属性给用户授权。如果认证失败,则流程到此结束;
(10) 如果认证通过,用户通过标准的DHCP协议 (可以是DHCP Relay) ,通过接入设备获取规划的IP地址;
(11) 如果认证通过,接入设备发起计费开始请求给RADIUS用户认证服务器;
(12)RADIUS用户认证服务器回应计费开始请求报文。用户上线完毕。
网友评论