


802.1X协议是一种基于端口的网络接入控制协议(Port based networkaccess control protocol)。“基于端口的网络接入控制”是指在局域网接入设备的端口这一级验证用户身份并控制其访问权限。
二层协议:802.1x为2层协议,不需要到达三层,对接入设备的整体性能要求不高,即可以使用二层交换机作为接入设备,有效降低建网成本。
安全性:认证报文和数据报文通过裸机接口分离,提高安全性。
C/S架构:包含三个实体,客户端、接入设备、认证服务器。

客户端是位于局域网段一端的一个实体,由该链路另一端的设备端对其进行认证。客户端一般为一个用户终端设备,用户可以通过启动客户端软件发起802.1X认证。客户端必须支持局域网上的可扩展认证协议EAPOL(Extensible Authentication Protocol over LAN)。
设备端是位于局域网段一端的另一个实体,对所连接的客户端进行认证。设备端通常为支持802.1X协议的网络设备,它为客户端提供接入局域网的端口,该端口可以是物理端口,也可以是逻辑端口。
认证服务器是为设备端提供认证服务的实体。认证服务器用于实现对用户进行认证、授权和计费,通常为RADIUS服务器。
基于EAP:802.1x使用EAP(扩展认证协议)作为其核心,实现客户端、设备端、认证服务器之间的信息交互。不是直接使用radius协议。
EAP和radius相比:
适配性高:可以基于各种底层,包括数据链路层、UDP层、TCP层。而radius只能基于UDP。
免IP:不需要IP地址。而radius必然要求IP地址啊。
客户端和接入设备之间:EAP使用EAPoL(EAP over LAN)封装格式
接入设备和服务器之间:根据实际情况可以选用EAP终结方式或中继方式。42
802.1X认证安全性较高,但是却需要客户终端安装802.1X客户端,网络部署不灵活。
MAC认证方式不需要安装客户端,但是需要在认证服务器上登记MAC地址,管理复杂
Portal认证方式同样不需要客户端并且部署灵活,但是安全性不高。
所以,802.1X认证一般适用于新建网络、用户集中并且信息安全要求严格的场景。
802.1x系统为典型的C/S结构,包括三个实体:客户端,认证服务器,设备端

常用。
华为私有。EAP终结方式与EAP中继方式的认证流程相比,不同之处在于步骤(4)中用来对用户密码信息进行加密处理的MD5 challenge由设备端生成,之后设备端会把用户名、MD5 challenge和客户端加密后的密码信息一起送给RADIUS服务器,进行相关的认证处理。
EAP中继方式的优点是设备端处理更简单,支持更多的认证方法,缺点则是认证服务器必须支持EAP,且处理能力要足够强。对于常用的EAP-TLS、EAP-TTLS、EAP-PEAP三种认证方式,EAP-TLS需要在客户端和服务器上加载证书,安全性最高,EAP-TTLS、EAP-PEAP需要在服务器上加载证书,但不需要在客户端加载证书,部署相对灵活,安全性较EAP-TLS低。
EAP终结方式的优点是现有的RADIUS服务器基本均支持PAP和CHAP认证,无需升级服务器,但设备端的工作比较繁重,因为在这种认证方式中,设备端不仅要从来自客户端的EAP报文中提取客户端认证信息,还要通过标准的RADIUS协议对这些信息进行封装,且不能支持除MD5-Challenge之外的其它EAP认证方法。PAP与CHAP的主要区别是CHAP密码通过密文方式传输,而PAP密码通过明文的方式传输。因而PAP方式认证的安全性较低,实际应用通常采用CHAP方式认证。

dot1x-access-profile name profile1 #创建802.1X接入模板并进入802.1X接入模板视图。 缺省情况下,设备自带1个名称为dot1x_access_profile的802.1X接入模板。
dot1x authentication-method { chap | pap | eap } #配置802.1X用户的认证方式。
#缺省情况下,802.1X用户认证方式为eap,即采用可扩展的认证协议EAP中继认证方式。
采用AAA本地认证时,802.1X用户的认证方式只能配置为EAP终结方式。
只有采用RADIUS认证时,才可以配置为EAP中继方式。
如果RADIUS服务器的处理能力比较强,能够解析大量用户的EAP报文后再进行认证,可以采用EAP中继方式;
如果RADIUS服务器处理能力不强,不能同时解析大量EAP报文并完成认证,建议采用EAP终结方式,由设备帮助RADIUS服务器完成前期的EAP解析工作。
NAC能够实现对用户进行接入控制,为便于管理员配置NAC的相关功能,设备使用认证模板统一管理NAC的配置信息。通过配置认证模板下的参数(例如:配置认证模板下绑定的接入模板,确定认证模板的认证方式;之后应用该认证模板的接口或VAP模板采用以上认证方式对用户做认证),实现对不同的用户进行不同的接入控制。
authentication-profile name profile1
#创建认证模板并进入认证模板视图。
配置认证模板
dot1x-access-profile profile1 # 配置认证模板绑定的802.1X接入模板。
# 缺省情况下,认证模板没有绑定802.1X接入模板。
认证模板用来统一管理NAC的相关配置。通过将认证模板绑定到接口或VAP模板视图下来使能NAC,实现对接口或VAP模板下的用户进行接入控制。接口或VAP模板下用户的认证类型由认证模板下绑定的接入模板决定。
interface g0/0/1#进入接口视图。
authentication-profile profile1 #接口下应用认证模板。
#缺省情况下,接口下没有应用认证模板。

1、底层网络互通
2、交换机802.1x认证配置
3、ac配置
3.1、添加认证控制设备
3.2、创建账号信息
3.3、配置认证规则
3.4、配置授权结果
3.5、配置授权规则
3.6、验证结果
#接口配置
sys fw1
int g0/0/0
ip add 192.168.0.10 24
int g0/0/1
ip add 10.1.1.10 24
int g0/0/3
ip add 192.168.1.10 24
int g0/0/2
ip add 202.100.1.10 24
#配置安全区域
fire zone trust
add int g0/0/1
fire zone dmz
add int g0/0/3
fire zone untrust
add int g0/0/2
quit
ip route-static 0.0.0.0 0 202.100.1.254
ip route-static 10.1.2.0 24 10.1.1.254
user-interface con 0
id 0
sys ISP
undo int vlanif1
acl 2000
rule permit
int g0/0/0
undo portswitch
nat outbound 2000
ip add dhcp-alloc
int g0/0/1
undo portswitch
ip add 202.100.1.254 24
quit
ip route-static 10.1.0.0 16 202.100.1.10
user-interface con 0
id 0
#配置radius
radius-server template RADIUS-POLICY
radius-server shared-key cipher Huawei@123
radius-server authentication 192.168.1.100 1812
radius-server accounting 192.168.1.100 1813
quit
radius-server auththorization 192.168.1.100 shared-key cipher Huawei@123
aaa
authentication-scheme AUTH
authentication-mode radius
accounting-scheme ACCOUNT
accounting-mode radius
accounting realtime 3
aaa
domain default
authentication-scheme AUTH
accounting-scheme ACCOUNT
radius-server RADIUS-POLICY
#配置802.1x认证
#统一模式
#第一步:配置dot1x模板
dot1x-access-profile name DOT1X-ACC-PROFILE
dot1x authentication-method eap #默认方式 (可以不敲)
#第二步:配置认证模板
authentication-profile name AUTH-PROFILE
dot1x-access-profile DOT1X-ACC-PROFILE #调用dot1x模板
interface GigabitEthernet0/0/9
authentication-profile AUTH-PROFILE #调用认证模板
资源---设备--设备管理
创建设备组

添加交换机设备
在所有设备下点击添加设备。IP地址写靠ac侧的地址

移动设备到新创建的设备组

资源--用户--用户管理
创建部门

创建用户
账号user1,密码Huawei@123
注意:如果使用客户端认证,必须勾选agent选项

策略--认证授权--认证规则
创建认证规则

关联用户组
用户组和账号两个选一个就可以。

关联接入设备组

关联允许的协议
默认的认证协议选择:EAP-PEAP-MSCHAPv2协议,勾选CHAP、EAP-MD5、EAP-PEAP-MSCHAPv2协议

创建动态acl
策略元素--动态acl

配置授权结果

创建授权规则

关联用户组

关联接入设备组

关联授权结果







dis fire se ta
2022-07-20 15:21:59.350 +08:00
Current Total Sessions : 9
radius-accounting VPN: public --> public 10.1.1.254:53473 --> 192.168.1.100:1813
radius VPN: public --> public 10.1.1.254:51884 --> 192.168.1.100:1812
tcp VPN: public --> public 10.1.2.1:49323 --> 192.168.1.100:17889
tcp VPN: public --> public 10.1.2.1:49325 --> 192.168.1.100:17889
http VPN: public --> public 10.1.2.1:49327 --> 123.151.176.26:80
tcp VPN: public --> public 10.1.2.1:49326 --> 192.168.1.100:17889
tcp VPN: public --> public 10.1.2.1:49324 --> 192.168.1.100:17889



注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配
我需要在Rails4中允许一个名称中有一个点的参数:我的params散列如下所示:{"dictionary_objects.id"=>["102","110","106"]}我可以获得参数值:>>params['dictionary_objects.id']=>[[0]"102",[1]"110",[2]"106"]但是当我尝试允许它时,它返回一个空散列:>>params.permit('dictionary_objects.id')Unpermittedparameters:dictionary_objects.id=>{}有人知道我怎样才能允许名称中带有点的参数吗?谢谢。
当我运行rakedb:migrate时出现这个错误rakeaborted!Savingdiagramfailed!VerifythatGraphvizisinstalledandinyourpath,orusefiletype=dot.完整日志:rakedb:migrateLoadingapplicationenvironment...LoadingcodeinsearchofActiveRecordmodels...GeneratingEntity-RelationshipDiagramfor20models...rakeaborted!Savingdiagramfailed!Ver
如何强制Rails将值中带点的参数视为google.com(例如/some_action/google.com)单个参数而不是"id"=>"google","format"=>"com"?参数值应该是"id"=>"google.com" 最佳答案 默认情况下,动态段不接受点-这是因为点用作格式化路由的分隔符。但是,您可以向路由参数添加一些正则表达式要求。在这里,您要在参数中允许点。match'some_action/:id'=>'controller#action',:constraints=>{:id=>/[0-z\.]+/}在r
大家好,我是普通小明,初入学习博客,一起加油! 首先,感谢小蓝刷题对我的鼓励,我也希望加入学习算法这个大家庭。第一篇文章,有些不完美,还请多多指教。目录(好像我并不会用锚点T-T)省赛心得蜂巢题解-思路点拨蜂巢题解-AC代码蜂巢题解-刷题总结未来展望省赛心得遗憾落幕十三届蓝桥PyB省赛,破灭了大一自学算法拿下国奖的传奇神话究其原因1、对算法过多理论而缺少实践,缺少刷题量。2、对算法的理解不够全面。3、对数论算法有所欠缺。立志1、一年时间完成蓝桥刷题系统过半题量。2、全面掌握各种算法,并且形成模板记忆。3、多看数学难题,提升思维转换能力。一、蜂巢题解-思路点拨个人主页有另一个更简单的解法读完题没
如果用户按下点(在标准键盘或数字block上),我想执行一些代码。但是如果我把它接过来Keycode(110),这就和删除按钮一样了。我如何识别它们?感谢您的帮助! 最佳答案 删除键(通常在箭头上方)为46,数字小数点为110,键盘周期为190。这是一个非常好的页面,可以了解什么是键码:http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/Javascript-Char-Codes-Key-Codes.aspx如果这不能回答您的问题,请重新措辞,因
使用dot.js模板引擎,您如何遍历对象?在下面的示例数据中,您如何遍历“msg”对象?{"msg":{"1":{"a":"a1"},"2":{"b":"b2"}}} 最佳答案 来自thewebsite上的示例,看起来你应该能够做到:{{for(varpropinit){}}{{=prop}}{{for(varmsgPropinit[prop]){}}{{=msgProp}}{{for(varnumPropinit[prop][msgProp]){}}{{=prop}}:{{=it[prop][msgProp][numProp]}}
我有一个看起来像这样的doT.js模板:{{?it.books.length}}{{~it.books:value}}{{=value.title}}//thisshouldonlyberenderedevery3rdtime{{~}}{{?}}最后的br-Tag只应该每三次渲染一次。我该怎么做? 最佳答案 试试这个:{{?it.books.length}}{{~it.books:value:index}}{{=value.title}}{{?index%3==2}}{{?}}{{~}}{{?}}如果你想避免在列表的末尾添加元素(当
文章目录概述认证认证插件基于静态token的认证服务实践基于X509证书认证实践基于webhook认证实践鉴权k8s中RBAC的使用授权实践准入场景配额管理实践插件插件开发限流APIPriorityandFairnessAPF中的排队FlowSchema与PriorityLevelConfiguration(队列权重配置)调试命令概述kube-apiserver是k8s最重要的控制组件之一,主要提供以下功能:提供集群管理的RESTAPI接口,包括认证授权、数据校验以及集群状态变更等k8s中所有模块与etcd的数据交互都需要走APIServer,禁止直接和etcd通信APIServer请求流程概
我有以下代码:varx="100.007"x=String(parseFloat(x).toFixed(2));returnx=>100.01这非常棒,正是我想要的效果。我只想要一个小小的补充,就像这样:varx="100,007"x.replace(",",".")x.replacex=String(parseFloat(x).toFixed(2));x.replace(".",",")returnx=>100,01但是,此代码将替换第一次出现的“,”,我想在其中捕获最后一个。任何帮助将不胜感激。 最佳答案 您可以使用正则表达式来