随着网络的发展,接入环境越来越复杂,802.1X在某些方面渐渐显得力不从心了。例如,某些企业需要为访客提供无线网络接入,但不可能每次有访客人员时都在访客的笔记本电脑上配置802.1X策略,这就需要一个快捷的办法将没有经过认证的第三方设备接入到网络中。

三层准入就在这种背景下应运而生了。

三层准入又被称为Web准入,顾名思义,认证过程是通过一个Web页面完成的。三层准入可以独立工作,也可以跟802.1X形成混合部署。当Web认证同802.1X部署在一台接入交换机上时,前者可以作为后者的备份机制。当有新的设备需要接入时,接入交换机会首先尝试802.1X的认证流程,如果客户端设备上没有启用802.1X的客户端,则交换机发起的802.1X认证会因为得不到回应而超时,这时便进入Web认证的阶段。除了客户端不支持802.1X的情况,当客户端支持802.1X但是却没有通过认证的时候,交换机也可以回退到Web认证流程。之所以有这种设置时因为802.1X是一种非常普遍的的技术,一个酒店客人的笔记本电脑很可能开启了802.1X客户端用来接入办公室的网络,但是这台电脑显然无法通过酒店的二层准入检查,如果因为二层认证失败而就此将客户端设备屏蔽在外,那么绝大部分酒店客人可能都会遇到网络接入问题。

不管是802.1X认证超时还是失败,配置了Web认证的交换机接下来就会自动进入三层准入的阶段,这个阶段可以大致分为以下几步:

1、交换机端口进入有限接入状态

按照802.1X的标准流程,凡是没有成功通过认证的交换机端口都会被置于禁止转发状态,连接在这个端口的客户端设备网卡虽然链路层是接通的,但只能发送802.1X报文。这样一来别说发送数据,客户端网络设备连IP地址都拿不到。

因此,进行Web认证的接入交换机不会完全屏蔽端口,相反,它会将这个端口放入一个可用转发数据的VLAN(Virtual LAN——虚拟局域网)。VLAN是数据网络中的一个重要概念,一个VLAN代表一个虚拟网络,只有处于同一个VLAN内部的IP地址之间才能互相通信,不同VLAN之间需要通过三层网关设备才能连通。VLAN的这一特性被广泛用来隔离不同属性的网络设备。

容纳有限接入状态端口的这个VLAN通常是交换机上的默认VLAN,也可以根据实际情况配置为其他任何VLAN。但在放开数据转发的同时,这个端口会被自动放上一组预先配置的ACL(Access Control List——访问控制列表),用户可以自定定义ACL的内容,其目的是限制端口的数据类型,仅仅为其提供一些基本数据的转发服务,如DHCP、DNS等。客户端可以通过DHCP拿到地址,但没有办法获得完全的网络权限,其他类型的数据包将被阻断,这个时候如果想上个QQ啥的是没戏的。

2、客户端触发认证流程

当交换机端口进入有限转发的状态后,就可以正式开始对客户端设备进行验证了。但真正出发认证流程的并不是交换机,而是客户端设备。

一块标准的网卡在二层也就是链路层就绪后的第一个动作,一般是向DHCP请求IP地址,这个DHCP的广播包就是出发Web认证的信号;如果客户端的IP地址是手动配置的,那么网卡发出的ARP报文同样能够触发认证流程。前文提到过DHCP是用来向终端设备分配IP地址的一种协议,而ARP则是用于请求特定IP地址对应的MAC地址的机制,如果你需要向一台设备发送一个数据包,可是只知道它的IP地址而不知道MAC地址,那么就可以使用ARP请求来尝试获取这个IP对应的MAC。DHCP和ARP是最常见的以太网报文,通过听取这些报文交换机可以确定这是一个基本功能正常的网卡。如果既没有DHCP,也没有ARP信号,那么这个网卡八成有些问题,交换机也无需徒劳地发起Web认证了。

当交换机听到来自客户端的DHCP和ARP后,它便将这个设备记录在册,并且周期性地对其发出ARP探针,确保其在线状态。在交换机记录客户端设备的同一时刻,它还会启动一个Web认证的计时器,客户端设备必须在计时器超时前成功通过交换机的认证,否则,此次认证将作废,客户端设备必须重新发起一个新的认证过程。

3、用户身份验证

客户端设备通过DHCP获得IP地址后,网卡便可以利用这个地址与外界进行三层通讯了。这个时候用户需要发起一个HTTP请求,打开你的浏览器,任意输入一个网址——例如www.baidu.com——即可。交换机端口在有限转发状态下一般允许DNS流量,因此操作系统会取得www.baidu.com这个URL对应的IP地址。操作系统随即会生成一个以这个IP地址的80端口为目的地的HTTP请求报文,并通过网卡发给交换机。

但是这个HTTP并不会真正转发给百度的Web服务器,交换机截取到用户的这个HTTP请求后,会将用户重定向到一个预先写好的认证页面上(这个页面可以放在任意一个IP可达的Web服务器上,某些接入交换机也可兼任Web服务器的工作)。

这个认证页面包含用户名、密码的填写区域,用户在这个页面上输入自己的身份信息,这些信息被回传给接入交换机进行验证。

接入交换机对于收到的用户身份有两种方式进行验证,它可以使用自己保存的本地信息库,也可以将身份信息送给后台的认证服务器,由认证服务器完成身份验证。Web认证使用的认证服务器同802.1X环境类似,部署最广泛的也是RADIUS服务器,从扩展性的角度考虑,企业用户一般会选择集中式的认证服务器,而不是交换机上的本地信息库。

认证服务器将验证结果返回给接入交换机,如果用户身份合法,接入交换机就会在端口上部署一系列事先制定的策略,包括下发预置的ACL等,从而为最终用户提供与之身份匹配的网络访问权限。

当用户离开网络时有两种情况,如果用户在Web页面上主动点击注销按钮,交换机会按预设流程将端口关闭。但如果用户直接拔出网线,那么情况就同802.1X不一样了。Web认证是一个三层机制,且没有客户端软件,网络侧无从探知用户什么时候离线,这就给端口的管理带来了一定的麻烦。所以你常常能在Web登陆成功的页面上发现提示性的语言,告诉你“不要将这个页面关闭”,这是因为网络侧的服务器会周期性地同这个页面交换心跳信息,如果这个页面没有反应,那么交换机会认为用户已经离线,随之将端口关闭。

同二层准入一样,三层准入也可以部署在无线环境中,在标准的集中式“瘦AP”企业级无线架构中,无线控制器将承担Web页面推送、RADIUS认证等有线环境中由接入交换机完成的工作。

安全的网络通道——网络准入之三层准入相关推荐

  1. 安全的网络通道——网络准入之二层准入

    安全是网络设计的永恒话题,网络攻击与防护措施两方,一直以来都在"魔高一尺,道高一丈"的循环螺旋式发展.进入云计算时代,网络安全的重要性更加突出,几乎所有的云计算业务都不可能脱离严密 ...

  2. 4.云计算和大数据时代网络揭秘-安全的网络通道-网络加密

    2019独角兽企业重金招聘Python工程师标准>>> 4.   安全的网络通道-网络加密 4.1 通过VPN隧道保证云计算的数据安全 VPN具备两个基本条件:长连接和加密.长连接的 ...

  3. 无线信道是什么意思,无线网络通道是什么意思?

    1.什么是无线信道 无线信道指频段,是以无线信号作为传输载体的数据信号传送通道.按照规定,我国使用的信道有 13 个,使用 1 - 13 信道.同一信道上的设备越多,WiFi 信号的强度越弱,如果想要 ...

  4. 1分钟链圈 | 闪电网络通道数增加29.5%,突破1.1万条通道!EOS 在过去七天区块链活跃度中排名第一...

    Hi,艾瑞巴蒂! 这里是 9 月 3 日的每日1句话新闻晚报,只需1分钟,看看全球最热.最新的区块链新闻. 实时币价:BTC $7271.90    ETH $292.99    EOS $6.53( ...

  5. 全球将建设覆盖中国的物流专线通道网络

    日前,我国印发北京到哈尔滨<服务业发展"十二五"规划>(简称<规划>),提出加快发展交通运输业.现代物流业等生产性服务业,拓展海洋服务业领域. 交通运输网更 ...

  6. java 编程原理_Java网络编程 -- 网络编程基础原理

    Hello,今天记录下 Java网络编程 --> 网络编程基础原理. 一起学习,一起进步.继续沉淀,慢慢强大.希望这文章对您有帮助.若有写的不好的地方,欢迎评论给建议哈! 初写博客不久,我是杨展 ...

  7. 网络信息安全——网络阶段笔记总结--jf

    网络信息安全--网络阶段笔记总结 基础知识: OSI七层模型: 应用层-表示层-会话层-传输层-网络层数据链路层-物理层 tcp/ip四层模型:应用层-传输层-网络层-网络接口层 tcp/ip五层模型 ...

  8. 《实战网络营销 网络推广经典案例战术解》扫描版[PDF]

    电驴资源 下面是用户共享的文件列表,安装电驴后,您可以点击这些文件名进行下载 一┳═┻︻▃内容简介处附有网盘快速下载通道▃︻┻═┳一 [实战网络营销.网络推广经典案例战术解].扫描版.张书乐.pdf详 ...

  9. 【网络】网络基础概念

    目录 网络是什么? 网络的两大组成部分 网络分类 网络的性能 1.速率(某网络发送设备的实际速率) 2.带宽(某网络通道的理论最大速率) 3.吞吐量(某网络传输数据的实际速率) 4.时延(某网络传输数 ...

最新文章

  1. python文件操作(open()、write()、read()、readline()、readlines()、seek()、os)
  2. KC shop 开发历程------注册界面
  3. 安装neo1973的GPS驱动[转]
  4. UVA 327 Evaluating Simple C Expressions
  5. JAVA.IO字节流
  6. 2018.09.22 atcoder Integers on a Tree(构造)
  7. glog 编译报错 ERROR macro is defined. Define GLOG_NO_ABBREVIATED_SEVERITIES before including logging.h.
  8. Debian下解决subclise插件在启动时报fail to load JavaHL Liberary
  9. 自动化检测工具助力GJB 8114-2013 C/C++语言编程安全子集标准落地应用
  10. 用ffmpeg转多音轨的mkv文件
  11. 可以插卡的ipad_平板电脑可以插手机卡吗,终于能插卡了!苹果iPad 2018蜂窝网络版上架国内官网...
  12. 五险一金 | 2020年企业社保缴费为零问题
  13. 2022年贵州省职业院校技能大赛中职组网络安全赛项规程
  14. 四元数和旋转轴及旋转角度之间的转换理解实例
  15. 我说CMMI2.0之产品集成
  16. html中让两段文字并列排放,言语理解:探究阅读之并列文段
  17. VOT 2015 Benchmark 使用教程
  18. Java中出现[Ljava.lang.String的问题
  19. 成矿远景叠加分析matlab代码,深水潭金成矿地质特征及成矿远景分析
  20. 天蓝色在ps中的色值_天蓝色AI服务在游戏世界中的作用

热门文章

  1. LINUX进程内存占用情况如何查看的方法
  2. [bzoj1127][悬线法]KUP
  3. 利用WinPcap模拟网络包伪造飞秋闪屏报文
  4. Android 12.0 修改系统默认字体的大小
  5. ACCV2020国际细粒度网络图像识别亚军方案总结
  6. shapely中几何对象
  7. 文件批量改名-bat操作
  8. Java为图片加水印
  9. light-bot小游戏
  10. MySQL ERROR 1698 (28000) 错误