基于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


相关文章
|
3月前
|
存储 安全 JavaScript
【分布式技术专题】「授权认证体系」深度解析OAuth2.0协议的原理和流程框架实现指南(授权流程和模式)
在传统的客户端-服务器身份验证模式中,客户端请求服务器上访问受限的资源(受保护的资源)时,需要使用资源所有者的凭据在服务器上进行身份验证。资源所有者为了给第三方应用提供受限资源的访问权限,需要与第三方共享它的凭据。这就导致一些问题和局限:
373 2
【分布式技术专题】「授权认证体系」深度解析OAuth2.0协议的原理和流程框架实现指南(授权流程和模式)
接口规范 9. 推流认证相关接口
9 推流认证相关接口 9.1.开启推流认证 用途针对某个应用,开启推流认证。开启推流认证后,所有向该应用下的推送直播流的请求都需要做合法性认证,只有认证通过的请求才会允许推送。认证的方法包括token认证和第三方认证。
1170 0
|
3天前
|
XML JSON API
api接口的使用原理是什么?
总之,API接口的使用原理基于协议、规范和约定,允许不同的应用程序或系统之间进行通信和交互。这种通信方式使得开发人员能够轻松地利用外部服务或资源,从而实现更丰富的功能和服务。
13 0
|
5月前
|
JSON 测试技术 API
API接口:原理、实现及应用
API接口:原理、实现及应用
|
8月前
|
搜索推荐 数据安全/隐私保护
直播程序源码OAuth协议:开放授权的重要性
在直播程序源码平台,需要OAuth协议这样的协议,OAuth协议保证了用户在使用直播程源码平台结合第三方应用程序的技术功能时的安全性与方便性,也为直播程序源码平台的用户提供了许多互动功能,是让直播程源码平台成为更高质量、更好的平台。
直播程序源码OAuth协议:开放授权的重要性
|
8月前
|
消息中间件 存储 小程序
直播小程序源码有用的协议知识:MQTT协议
MQTT协议能够帮助直播小程序源码平台进行可靠高效的消息传输、实时数据统计分析、实时推送订阅消息与辅助弹幕和实时评论,让直播小程序源码平台向着高质量平台方向迈进,是重要的协议之一。
直播小程序源码有用的协议知识:MQTT协议
EMQ
|
9月前
|
存储 安全 算法
MQTT 5.0 中的安全认证机制:增强认证介绍
增强认证是 MQTT 5.0 新引入的认证机制,它允许我们套用各种比密码认证更加安全的身份验证方法,进一步增强系统的安全性。
EMQ
150 0
MQTT 5.0 中的安全认证机制:增强认证介绍
|
11月前
|
存储 安全 API
短信验证码工作原理
当我们在注册各大网站或APP时,通常需要输入验证码来确认身份。验证码是这些平台采用的一种机制,旨在确保用户的安全。那么问题来了:短信验证码在网络上的运作过程是怎样的呢?
短信验证码工作原理
|
11月前
|
前端开发 JavaScript Go
【博客开发】前后端联调,接入 grpc 登录接口
【博客开发】前后端联调,接入 grpc 登录接口
199 0
|
负载均衡 监控 网络安全
使用 SLB 部署 HTTPS 业务(单向认证)|学习笔记
快速学习使用 SLB 部署 HTTPS 业务(单向认证)
402 0
使用 SLB 部署 HTTPS 业务(单向认证)|学习笔记

热门文章

最新文章