基于802.1x协议的接入认证简单实现

简介:



      今天来谈谈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服务器日志记录

 

 

 

 

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



本文转自 chenming421  51CTO博客,原文链接:http://blog.51cto.com/wnqcmq/1163989


相关文章
freeradius部署及挑战模式配置
freeradius部署及挑战模式配置
6321 1
freeradius部署及挑战模式配置
|
11月前
|
缓存 安全 Linux
通过层级内隔离提升软件的安全性|龙蜥大讲堂第112期
本次分享的主题是通过层级内隔离提升软件的安全性,由中科院计算所的武成岗分享。主要分为以下两个部分: 1. 计算系统的安全关乎着整个“数字化”世界的安全 2. 目标:同时获取微内核的安全性和宏内核的高性能 3. 层级内隔离手段 4. 总结
339 12
|
存储 分布式计算 资源调度
Hadoop集群的扩展性与容错能力
【8月更文第28天】Hadoop 是一种用于处理和存储大规模数据集的开源软件框架。它由两个核心组件构成:Hadoop 分布式文件系统 (HDFS) 和 MapReduce 计算框架。Hadoop 的设计考虑了可扩展性和容错性,使其成为大规模数据处理的理想选择。
447 0
|
安全 网络安全 数据安全/隐私保护
|
XML 存储 编解码
GB/T28181-2022图像抓拍规范解读及技术实现
源设备向目标设备发送图像抓拍配置命令,携带传输路径、会话ID等信息。目标设备完成图像传输后,发送图像抓拍传输完成通知命令,采用IETF RFC 3428中的MESSAGE方法实现,命令流程见9.14.2。图像文件命名规则宜采用“设备编码(20位)、图像编码(2位)、时间编码(17位)、序列码(2位)”的形式,抓拍图像文件命名规则应符合表4的要求。图像格式宜使用JPEG,图像分辨率宜采用与主码流相同的分辨率。
880 0
|
关系型数据库 MySQL 程序员
程序员性能之道,从使用perf开始!
程序员性能之道,从使用perf开始!
|
存储 JavaScript 安全
如何在 Node.js 中生成和使用 SSL 证书
如何在 Node.js 中生成和使用 SSL 证书
1704 0
|
安全 算法 Linux
为什么haveged不适合在虚拟机上使用
为什么haveged不适合在虚拟机上使用
773 0
|
网络协议 Linux
MSS调整
前期一个项目与外部厂商联调时,由于外部某几个网络环节存在超时或不通的情况,排查到可能需要修改部分网络环节的MSS参数信息,以下对相关操作进行记录,留待后续参考。
478 0
|
域名解析 XML 网络协议
freeswitch conf/sip_profiles/internal.xml 说明(上)
conf/sip_profiles/internal.xml说明 internal.xml
1433 0

热门文章

最新文章