通信百科

802.1X环境搭建及IP电话机配置使用说明

时间:2019-05-25 10:24 作者: 世讯电科融合通信系统
802.1X协议起源于802.11协议,后者是IEEE的无线局域网协议,制订802.1X协议的初衷是为了解决无线局域网用户的接入认证问题。802.1x是根据用户ID或设备,对网络客户端(或端口)进行鉴权的标准。该流程被称为“端口级别的鉴权”。它采用RADIUS(远程认证拨号用户服务)方法,并将其划分为三个不同小组:请求方、认证方和授权服务器。
802.1X认证的体系结构
802.1x 标准应用于试图连接到端口或其它设备(如Cisco Catalyst交换机或Cisco Aironet系列接入点)(认证方)的终端设备和用户(请求方)。认证和授权都通过鉴权服务器(如Cisco Secure ACS)后端通信实现。IEEE 802.1x提供自动用户身份识别,集中进行鉴权、密钥管理和LAN连接配置。 整个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用户认证服务器回应计费开始请求报文。用户上线完毕。\
服务器配置
1.安装FreeRadius   软件下载路径:\\172.16.1.9\share\Testing department\software   安装FreeRADIUS-server-2.2.0-x86.rar(此版本就是将linux的 freeRadius 编译成windows版本了),或是去官网下载。这里以FreeRADIUS-server-2.2.0-x86.rar为例。解压FreeRADIUS-server-2.2.0-x86.rar,双击FreeRADIUS-server-2.2.0-x86.exe,安装程序,这里按默认路径安装,
3.2 修改配置文件
1.安装完成后,进入C:\FreeRADIUS\etc\raddb目录,修改 clients.conf:
client_server localhost {
        ipaddr = 127.0.0.1                     #127.0.0.1 是服务器保留测试地址
        port = 1812                                   #服务器默认的认证端口
        type = "auth"                                  #认证类型为auth
        secret = "testing123"                            #共享秘钥
        response_window = 20                          #响应端口
        max_outstanding = 65536                        # 
        require_message_authenticator = yes               #是否进行消息认证
        zombie_period = 40                           #
        status_check = "status-server"                    #服务器状态检查
        ping_interval = 30                             #
        check_interval = 30                            #检查时间间隔
        num_answers_to_alive = 3                       #
        num_pings_to_alive = 3                         #
        revive_interval = 120                           #恢复时间间隔
        status_check_timeout = 4                        #状态检查超时时间
  coa {
        irt = 2                                        #初始重传时间
        mrt = 16                                      #最大重传时间
        mrc = 5                                       #最大重传次数
        mrd = 30                                      #最大重传持续时间
  }
 }
# 这里的client 是指交换机
client 10.1.1.2/8 {                #服务器地址/子网掩码为255.0.0.0
require_message_authenticator = yes  #是否认证信息
secret = qq             # NAS与radius间的通信密码key
shortname = ruijie          # 域名,可以随便写,这里的ruijie是我们要认证交换机的型号
}
2.进入C:\FreeRADIUS\etc\raddb目录,打开users,在里面设置用户名、密码(也可以使用默认的),如图:
设置用户名密码
所以设备的802.1x 认证的用户名:qq,密码是:qq。相应的服务器端也要配置为此用户名及密码。
注:如果话机认证不能通过,将testing Cleartext-Password := “testing”加在第一行,用此用户名密码进行认证.
3.运行服务器,看是否正常,正常会显示如下信息
正常信息
交换机配置(以深圳锐捷交换机RG-S2312-P为例)
1. 认证服务器必须能与pc互通,目前没有找到修改交换机IP的方法,所以只能修改自己pc 网段和交换机IP在同一网段即可。交换机IP地址:10.1.1.1./8
2. 进入交换机web配置界面(http://10.1.1.1),配置802.1x认证。也可以使用命令来配置 (具体参考交换机的命令配置文档)。
3. 配置交换机802.1x功能,注意交换机与认证服务器通信密钥,认证用户名/密码必须配置正确。通信秘钥、认证名、密码等在本文3.2中已作说明。
4. 认证服务器连接在绿色标示对应的对口,认证客户端连接在红线标识的端口即可。
认证客户端连接
注:认证服务器端抓包过滤EAP看到服务器与认证交换机之间的数据往来,所以要使用借助hub来抓取设备认证过程的数据包。
3.4 802.1x的三种认证配置
1. EAP-MD5认证
打开C:\FreeRADIUS\etc\raddb\eap.conf
确认eap {
            default_eap_type = md5
(一般默认为md5)
2. EAP-TLS认证
将default_eap_type = md5改为default_eap_type = tls
3. PEAP-mschapv2认证
将default_eap_type = md5改为default_eap_type = peap
3.5 证书制作
参考openvpn文档,将openvpn制作的4个证书做成802.1x的认证证书:
1. client.pem:将client.key中的全部内容copy到client.crt文件的最后
2. RootCA.pem:将ca.crt改名为RootCA.pem
3. server.pem:将server.crt改名为server.pem
4. server-key.pem:将server.key改名为server-key.pem
制作的4个证书放在FreeRADIUS\etc\raddb\certs下
EAP-MD5认证
EAP-MD5认证设置
EAP-TLS认证
EAP-TLS认证
PEAP-mschapv2认证
 PEAP-mschapv2认证
注意:认证需要上传的两个证书,请按照如下所示格式来命名证书文件。
证书文件格式
注:1. PEAP-mschapv2认证只需要上传RootCA.pem(RootCA.pem-DOT1X_CA-)这一个证书即可,tls认证需要同时上传RootCA.pem-DOT1X_CA-和client.pem-DOT1X_CLIENT-这2个证书。
    2. 测802.1x时,话机ip为静态,需要用到证书的,话机时间要确保在证书使用范围内,时间最好设置为20140801.(date -s "2014-08-01 16:18"))
服务器端抓包
服务器端抓包
可以看到user-name(1): qq字段。
 
设备端抓包
1. EAP-MD5认证
2. EAP-TLS认证
3. PEAP-mschapv2认证
 
可能遇到的问题解决方法
找到对应目录下的clients.conf文件,将下面几行屏蔽
屏蔽字段
找到对应目录下的radiusd.conf文件,将下面几行屏蔽
 
版权所有:统一通信系统集成:http://www.alloll.com 转载请注明出处