细说802.1X协议(一)

最近花了一周的时间学习了802.1X协议,在这里做个学习总结。

802.1X是基于Client/Server的访问控制协议,简称dot1x。通俗的讲,它是一种认证技术,怎么认证的?交换机上的一个端口连接到PC,开启交换机端口的802.1X功能,PC需要输入正确的用户名和密码通过服务器认证,才能访问网络。那么,我们所熟悉的PPPoE也是类似于这种方式的,他们有什么区别呢?先不说,我们接着讲802.1X协议。这里我们将PC称为客户端,交换机称为设备端。

有协议就有报文,802.1X对应的数据包是EAP(Extensible Authentication Protocol)和EAPOL(Extensible Authentication Protocol over LAN),EAPOL是对EAP的封装(报文可以看出来)使其能够在局域网中以广播包或组播包的形式传输。通过EAP数据包再与远端的RADIUS(用户远程拨号接入服务系统)服务器进行认证,设备端与认证服务器之间交互信息采用的是radius数据包。

环境拓扑图

《细说802.1X协议(一)》 图1

搭建环境

1、装有802.1X客户端的PC(H3C 802.1X客户端)

2、一台支持802.1X功能的交换机(H3C5120)

3、实验网

4、一台装有Radius服务器的PC(这里我采用的Radius服务器为tekradius,安装和使用步骤不去详述,可以百度《TekRadius安装及使用总结》)

安装完成tekradius后,在users菜单添加账户h3c密码h3c,在clients菜单中添加NAS(网络接入服务器)182.16.218.44,secret为h3c,此密钥为设备与radius服务器交互信息所有使用的密钥,在交换机上创建radius模板的时候要用到该密钥。vendor为ietf(也可选择相对应的厂商比如我这边为华3交换机我可以选择H3C),Enabled为yes。

《细说802.1X协议(一)》 图2
《细说802.1X协议(一)》 图3

配置H3C5120交换机

配置交换机前,我们先来了解一下AAA。AAA是认证、授权、计费,802.1X是AAA的一种技术,它包含于AAA。所以我们在配置交换机的802.1X功能时,也可以是说在配置交换机的AAA。

1、使交换机可以ping通radius服务器

[H3C]interface Vlan-interface 1

[H3C-Vlan-interface1]ip address dhcp-alloc

[H3C-Vlan-interface1]quit

[H3C]ping 182.16.91.91

PING 182.16.91.91: 56  data bytes, press CTRL_C to break

Reply from 182.16.91.91: bytes=56 Sequence=1 ttl=127 time=4 ms

Reply from 182.16.91.91: bytes=56 Sequence=2 ttl=127 time=4 ms

Reply from 182.16.91.91: bytes=56 Sequence=3 ttl=127 time=5 ms

2、创建radius相关参数模板

[H3C]radius scheme cxd

New Radius scheme

[H3C-radius-cxd]primary authentication 182.16.218.44       #主认证服务器为182.16.218.44

[H3C-radius-cxd]primary accounting 182.16.218.44            #主计费服务器为182.16.218.44

[H3C-radius-cxd]key authentication h3c                             #与radius认证通信共享key为h3c

[H3C-radius-cxd]key accounting h3c                                  #与radius计费通信共享key为h3c

[H3C-radius-cxd]timer realtime-accounting 15                    #系统向RADIUS服务器重发报文的时间间隔

[H3C-radius-cxd]timer response-timeout 5                        #系统向RADIUS服务器重发报文次数

[H3C-radius-cxd]user-name-format without-domain         #交换机发送用户名到radius服务器时,去除相关域名称

[H3C-radius-cxd]retry 5

3、创建域?这个不好理解。AAA是基于域来管理用户的,所以交换机也是基于域来进行管理用户的。一个域可以使用一个radius模板,不同的域可以使用不同的域模板。那么通过将用户划分到不同的域就可以实现用户的分类。

[H3C]domain h3c

New Domain added.

[H3C-isp-h3c]authentication default radius-scheme cxd        #认证所采用的模板为cxd

[H3C-isp-h3c]authorization default radius-scheme cxd          #授权所采用的模板为cxd

[H3C-isp-h3c]accounting default radius-scheme cxd             #计费所采用的模板为cxd

[H3C-isp-h3c]access-limit enable 1000                                  #接入用户限制1000个

[H3C]domain default enable h3c                                            #默认域使能为h3c

4、全局和端口开启dot1x功能(dot1x即802.1X的简称)

[H3C]dot1x

802.1x is enabled globally.

[H3C]interface GigabitEthernet 1/0/1

[H3C-GigabitEthernet1/0/1]dot1x

802.1x is enabled on port GigabitEthernet1/0/1.

验证结果

《细说802.1X协议(一)》 图4

《细说802.1X协议(一)》 图5

总结

1、AAA是基于域来管理用户的

2、创建一个用户域,将其使能为默认域。

3、802.1X是AAA的一种实现技术

802.1X本地认证

《细说802.1X协议(一)》

既然是本地认证,就不需要借助于远端的radius服务器了,所以认证过程相对简单。

1、创建本地认证账户Local-user帐号,用于本地认证。

2、创建认dot1x认证域,并在域中引用local账户

3、开启全局802.1x功能和需要认证端口的802.1x功能

创建本地认证账户

[H3C]local-user h3c

New local user added.

[H3C-luser-h3c]password simple h3c

[H3C-luser-h3c]service-type lan-access

创建域

H3C]domain h3c

New Domain added.

[H3C-isp-h3c]display domain h3c

Domain = h3c

State = Active

Access-limit = Disabled

Accounting method = Required

Default authentication scheme      : local

Default authorization scheme      : local

Default accounting scheme          : local

Domain User Template:

Idle-cut = Disabled

Self-service = Disabled

[H3C-isp-h3c]quit

[H3C]domain default enable h3c

全局和端口开启dot1x功能(dot1x即802.1X的简称)

[H3C]dot1x

802.1x is enabled globally.

[H3C]interface GigabitEthernet 1/0/1

[H3C-GigabitEthernet1/0/1]dot1x

802.1x is enabled on port GigabitEthernet1/0/1.

802.1X本地认证和远端认证配合使用

使用场景:当设备无法连接到远端的radius服务器时启用本地认证。

修改domain配置命令(首先配置正确的radius模板和local账户)

[H3C-isp-h3c]authentication default radius-scheme cxd local

[H3C-isp-h3c]authorization default radius-scheme cxd local       

[H3C-isp-h3c]accounting default radius-scheme cxd local

此时,将radius服务器stop,点击802.1X客户端进行连接。会发现,再尝试了提交request报文给radius服务器没回应后,立即采取本地认证通过。

    原文作者:软件测试之二叉树
    原文地址: https://www.jianshu.com/p/cb968d7d36e5
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞