今天来谈谈802.1X协议,以及如何来使用该协议实现用户接入控制

802.1x协议是一种基于端口的网络接入控制(Port Based Network Access Control)协议。“基于端口的网络接入控制”是指在局域网接入控制设备的端口这一级对所接入的设备进行认证和控制。连接在端口上的用户设备如果能通过认证,就可以访问局域网中的资源;如果不能通过认证,则无法访问局域网中的资源——相当于连接被物理断开。

一、802.1x的体系结构

使用 802.1x 的系统为典型的 Client/Server 体系结构,包括三个实体:Supplicant System(客户端)、Authenticator System(设备端)以及 Authentication Server System(认证服务器),如下图所示。

1.客户端是位于局域网段一端的一个实体,由连接到该链接另一端的设备端对其进行认证。客户端一般为一个用户终端设备,用户通过启动客户端软件发起802.1x认证。客户端软件必须支持EAPOL EAP over LANs,局域网上的EAP)协议。

2.设备端是位于局域网段一端的一个实体,用于对连接到该链接另一端的实体进行认证。设备端通常为支持802.1x协议的网络设备它为客户端提供接入局域网的端口,该端口可以是物理端口,也可以是逻辑端口。

3.认证服务器是为设备端提供认证服务的实体。认证服务器用于实现用户的认证、授权和计费,通常为 RADIUS 服务器。该服务器可以存储用户的相关信息,例如用户的账号、密码以及用户所属的 VLAN、优先级、用户的访问控制列表等。

二、802.1x的工作机制

IEEE 802.1x认证系统利用 EAPExtensible Authentication Protocol,可扩展认证协议)协议,作为在客户端和认证服务器之间交换认证信息的手段。

1.     在客户端 PAE与设备端 PAE之间,EAP协议报文使用 EAPOL封装格式,直接承载于 LAN环境中。

2.     在设备端 PAE RADIUS服务器之间,EAP协议报文可以使用 EAPOR封装格式(EAP over RADIUS),承载于 RADIUS协议中;也可以由设备端 PAE进行终结,而在设备端 PAE RADIUS 服务器之间传送 PAP 协议报文或CHAP协议报文。

3.     当用户通过认证后,认证服务器会把用户的相关信息传递给设备端,设备端PAE 根据 RADIUS 服务器的指示(Accept Reject)决定受控端口的授权/非授权状态。

在配置过程中涉及到的命令

理论部分就普及到这里,下面讲实现,下面是我的实现拓扑图,主要实现了本地用户登陆认证,远程登陆设备也使用radius认证

NAS我使用的是华为二层交换机,GATEWAY使用的是h3c的防火墙,核心代码:

NAS

      domain default enable zzu //将我自己创建的域设置为默认域

      dot1x //开启802.1x

   dot1x authentication-method pap //设置认证模式

 

建立模式

   radius scheme radius     

     server-type standard

     primary authentication 192.168.30.2 //指向radius服务器

     key authentication 123456

     user-name-format without-domain

 

自定义域

      domain zzu

     scheme radius-scheme radius   radius模式设为zzu域使用的模式

     access-limit enable 10        //这个必须配,否则默认不允许登陆

     accounting optional

 

配置管理地址

interface Vlan-interface1

     ip address 192.168.1.1 255.255.255.0

      ip route-static 0.0.0.0 0.0.0.0 192.168.1.254 preference 60 配置默认网关

管理登陆设备也使用radius

user-interface vty 0 4

 authentication-mode scheme

 

      接口相关配置

vlan 1

#

vlan 10

 description student

#

vlan 20

 description teacher

#

vlan 30

 description server

#

interface Vlan-interface1

 ip address 192.168.1.1 255.255.255.0

#

interface Aux1/0/0

#

interface Ethernet1/0/1

 port access vlan 10

 dot1x

#

interface Ethernet1/0/2

 port access vlan 10                     

 dot1x

#

interface Ethernet1/0/3

 port access vlan 10

 dot1x

#

interface Ethernet1/0/4

 port access vlan 10

 dot1x

#

interface Ethernet1/0/5

 port access vlan 10

 dot1x

#

interface Ethernet1/0/6

 port access vlan 10

 dot1x

#

interface Ethernet1/0/7

 port access vlan 10

 dot1x

#

interface Ethernet1/0/8

 port access vlan 10                     

 dot1x

#

interface Ethernet1/0/9

 port access vlan 10

 dot1x

#

interface Ethernet1/0/10

 port access vlan 10

 dot1x

#

interface Ethernet1/0/11

 port access vlan 20

 dot1x

#

interface Ethernet1/0/12

 port access vlan 20

 dot1x

#

interface Ethernet1/0/13

 port access vlan 20

 dot1x

#

interface Ethernet1/0/14

 port access vlan 20                     

 dot1x

#

interface Ethernet1/0/15

 port access vlan 20

 dot1x

#

interface Ethernet1/0/16

 port access vlan 20

 dot1x

#

interface Ethernet1/0/17

 port access vlan 20

 dot1x

#

interface Ethernet1/0/18

 port access vlan 20

 dot1x

#

interface Ethernet1/0/19

 port access vlan 20

 dot1x

#

interface Ethernet1/0/20

 port access vlan 20                     

 dot1x

#

interface Ethernet1/0/21

 port access vlan 30

#

interface Ethernet1/0/22

#

interface Ethernet1/0/23

#

interface Ethernet1/0/24

 port link-type trunk

 port trunk permit vlan all

 

 

 

 

 

 

 

 

GATEWAY核心代码

配置自定义radius模式

radius scheme zzu

 server-type standard

 primary authentication 192.168.30.2 //指明radius服务器

 key authentication 123456

 user-name-format without-domain

配置自定义域

domain zzu

 scheme radius-scheme zzu                

 access-limit enable 10

 accounting optional

 

 

 

部分接口配置

 

undo insulate  //取消端口隔离,不然子接口之间无法通信

 

 

interface Ethernet0/0

 ip address 192.168.1.254 255.255.255.0

 dhcp select relay

#

interface Ethernet0/0.10      //配置子接口,使用单臂路由实现

 ip address 192.168.10.254 255.255.255.0

 ip relay address 192.168.30.1

 dhcp select relay      //允许dhcp中继

 vlan-type dot1q vid 10

#

interface Ethernet0/0.20

 ip address 192.168.20.254 255.255.255.0 

 ip relay address 192.168.30.1

 dhcp select relay

 vlan-type dot1q vid 20

#

interface Ethernet0/0.30

 ip address 192.168.30.254 255.255.255.0

 dhcp select relay

 vlan-type dot1q vid 30

 

 

 

 

加入信任区域  //不加的话无法通信

firewall zone trust

 add interface Ethernet0/0

 add interface Ethernet0/0.10

 add interface Ethernet0/0.20

 add interface Ethernet0/0.30 

 

 

 

dhcp服务器的配置

 

 

 

radius配置

 

下面就是测试工作

 

wlan10 的主机登陆

获取的ip地址

 

 

 

 

VLAN 20的主机登陆

 

 

 

 

 

 

 

登陆NAS

 

 

登陆GATEWAY

 

 

 

 

Radius服务器日志记录

 

 

 

 

到此实验结束,希望你能成功啊