王栗根
【摘要】 在部署有内网和外网两套网络的政企单位,极易发生内外网插口意外桥接或环路的情况。为了解决处于内、外网两个网络间的桥接和环路对网络信息安全和网络性能的严重负面影响,提出基于生成树协议(STP)和二层网络访问控制列表的解决方法。通过在单位信息机房内、外网两个网络的二层汇聚交换机之间互通生成树的网桥协议数据单元(BPDU),同时又借助二层访问控制列表限制该条链路不能构成两个不同网络间的信息通道的方法较圆满的解决了这一网络隐患。
【关键词】 环路 生成树协议(STP) 访问控制列表(ACL) 网桥协议数据单元(BPDU)
引言
当前,整个社会已步入信息化时代,广大政府、企事业单位、各类组织团体越来越依赖于计算机网络开展自己的业务活动。但因单位内部对办公室内的网络环境管理不善,极易发生小交换机和无线路由器泛滥、网线乱接乱插的情况。尤其是在广大政府、事业单位的信息化网络应用环境中,普遍会有内网和外网的区分,各办公室的墙上有内、外网两套网络插口。外网用于连接访问互联网,内网则是内部的业务网络,要与互联网进行隔离。混乱的办公室网络环境中一但发生内、外两个网络间的桥接或环路则会比单一网络环境引发更为复杂的问题。一方面是环路会造成广播风暴,严重时会使整个网络陷入瘫痪;另一方面两网间的桥接会破坏内网与互联网隔离的要求,引发网络信息安全的隐患或事故。因此,政府部门除开展办公室网络使用环境的整治、加强管理力度以外,很迫切的需要一种简便易行的方法从技术的角度解决内、外网间的桥接或环路问题。
我们知道生成树协议(STP)是应用于以太网中的一种链路管理协议,它能够为网络提供路径冗余的同时有效防止环路的产生。本文的主要思路是研究一种在内、外网两个不同网络中合理利用STP技术,消除环路且避免两个网络间的互相桥接连通。而这就需要本文所讨论的另一项网络技术:访问控制列表(ACL)[1]。
一、内、外网间桥接或环路的分析
1.1故障实例
某政府单位的网络连接如图1所示。该单位有互联网(外网)和政务网(内网)两套网络,并分别拥有独立的网络设备和布线系统。主楼采用网线汇聚各楼层交换机,北楼和南楼采用楼间光缆实现和汇聚交换机的连接。在每个办公室里,墙壁上安装有双口信息插座,可提供办公室内的微机有选择的接入外网或内网。外网对每个楼层划分了VLAN及局域网地址段,内网因接入的微机较少未划分VLAN且整体为一个地址段。
某日该单位反映其位于主楼五楼的某办公室无法连接互联网。网络维护人员现场检查时很意外的发现,从互联网汇聚交换机上看该办公室微机的MAC地址竟然从北楼与汇聚交换机的接口上来,而北楼的交换机是通过楼间光缆连接到汇聚交换机的。维护人员将这台微机配置上北楼所属的IP地址段居然还能正常上网!再进一步追踪MAC地址来源甚至能确定到是从北楼接入层交换机一个具体接口上来的。毫无疑问主楼五楼办公室的网线肯定是接入到了五楼的交换机,不可能有网线连接到北楼的交换机上,但这种不合常理的情况是如何发生的呢?后来经过维护人员追踪MAC地址,核对端口与办公室的对应资料,以及到北楼现场查看,最后终于弄清楚了本次故障发生的蹊跷之处。故障发生时的网络连接情况如图2所示。
该故障发生时的奇怪现象主要两个因素共同导致:
1、北楼某办公室为图方便将墙壁上内、外网两个插口的网线接到同一台小交换机上,而后不管内网微机还是外网微机都统统连到了这台小交换机上。
2、主楼五楼反映故障的这间办公室是将墙壁上政务网插口接了小交换机,又把需要上互联网的微机(电脑A)接到小交换机上。
首先,电脑A由于实际接到了五楼政务网交换机上,当然使用五楼互联网IP地址是无法上网的,同时在五楼互联网接入交换机上也自然看不到该微机的MAC地址上来。但从电脑A连接网络的整个情况来看,它最终还是能接通到互联网汇聚交换机上来,这条路径是这样的:电脑A→办公室小交换机→墙壁政务网插口→五楼政务网接入交换机→政务网汇聚交换机→北楼政务网接入交换机→北楼办公室墙壁政务网插口→北楼办公室小交换机→北楼办公室墙壁互联网插口→北楼互联网接入交换机→楼间光缆→主楼互联网汇聚交换机→互联网。简单的说就是北楼某办公室的小交换机起到了桥接的作用,将内、外两个网合成了一个,不仅是引发了古怪的故障,更重要的是破坏了政务网(内网)要与互联网隔离的要求,造成了严重的网络信息安全隐患。另一方面我们看图2中电脑A所在办公室如果将墙壁互联网插口也与小交换机相连(网线A虚线所示),将会又在内、外网交换机之间增加一条桥接通道,从而在整个内、外网络上形成一个大的环路,而环路的形成无疑会给网络带来广播风暴、丢包甚至整个网络的瘫痪。
1.2桥接或环路发生的场景
由于缺乏网络接入的规范管理以及专业技术人员的指导,很多政府部门和企事业单位的办公室网络环境比较混乱,造成桥接和环路隐患的场景五花八门。稍做归纳大致有如图3所示的几种典型情况。简要描述如表1所列。
1.3桥接或环路引发的严重问题
由1.2节分析可知,两网间桥接或环路主要会引发两类问题:
1.环路造成广播风暴,拥塞网络。
如图4所示,网络上的主机在接入网络后会将自己的MAC地址广播出去,以太网交换机接收到该广播后会记录学习到的该主机MAC地址以及端口,并将该广播从其它端口转发出去。如果网络中存在环路,则转发出去的帧会在另一个端口被它自己收到,将会引发重新记录该MAC地址与学习到该MAC的端口对应信息,并再次将该数据帧进行转发。由此会引发一系列的连锁反应,一方面造成MAC地址表不稳定,无法确定一个MAC地址所对应的主机真实情况是连接在哪个端口,引起通信异常,造成丢包;另一方面连锁反应的广播包将会很快充斥整个网络,消耗设备CPU资源,并占用大量带宽,进而引起整个网络的拥塞,直至网络瘫痪[2]。
2.桥接造成内外网隔离失效,严重威胁信息安全
2001年1月1日,国家保密局颁布实施的《计算机信息系统国际互联网保密管理规定》中明确规定:“电子政务网络由政务内网和政务外网构成,两网之间物理隔离,政务外网与互联网之间逻辑隔离。”[3]由此可见,内、外网隔离是有效保障网络信息安全的必要措施。同时据有关调查显示,网络安全攻击事件中有70%都是由于内部网络的安全隐患引发的。互联网的开放性意味着上网用机是最容易被黑客入侵或因中病毒、木马而成为黑客的肉鸡,如果内网与外网之间不能严格有效的隔离,这些已被攻破的微机就会成为黑客进一步攻击内部网络的跳板,有着极大的危害性。因为内、外网交换机间的意外桥接造成内、外网隔离失效,是无法依靠已投入巨资部署在网络边缘的安全设备、隔离设备等来弥补的。
1.4桥接或环路的一般处理手段
一般情况下,单一网络环境下出现的网络环路问题主要是1.2节中描述的(C)(E)(F)三类场景。大多数办公室内安装的小交换机为傻瓜交换机,不支持生成树协议的部署,通过对上层接入、汇聚交换机上启用STP协议可以解决(E)(F)两类场景的环路。(C)类环路场景(单端口环路)可以在接入交换机上启用单端口环路检测功能。
对于不能在上层设备启用STP的情况下就只有依靠人工来排查各类环路故障,人工排查的主要手段有:
1.查看端口指示灯状态,判断端口流量大小。
2.登录并查询交换机端口流量统计信息。
3.跟踪查询交换机学习MAC地址的来源端口
4.逐个拨插网络接头观察网络是否恢复
人工排查环路不仅仅是具有工作量大,耗时,在网络规模大时难以做到彻底等缺点。当在内、外网环境下仅有一处发生1.2节中所述(A)(B)(D)三类情况时,内、外网会被桥接成一个大网,但是又没有发生环路,所以此时仅仅是发生了网络安全的隐患问题,并没有发生影响网络性能或能造成拥塞的网络故障。这时人工排查甚至都不能意识到网络已发生了问题。
所以找到一种简便易行的,通过技术手段排查处理内、外两网桥接或环路的手段迫在眉睫。简便易行就是要求解决方案的着手点要从已有的成熟技术且现有的网络设备已然支持的特性开始,在这里我把目光放在了生成树协议和二层访问控制列表上。
二、技术手段解决内、外网间桥接或环路
2.1技术原理
2.1.1生成树协议(STP)
为了解决冗余链路引起的问题,生成树协议 STP ( Spanning Tree Protocol)应运而生。STP协议的基本思想十分简单,是将一个存在物理环路的交换网络变成一个没有环路的逻辑树型网络,达到逻辑上裁剪冗余环路,同时物理上实现链路备份和路径最优化的技术[4]。在网络中,运行了生成树协议的交换机会推举出一台根网桥,根网桥是LAN中的所有其它网桥需通过的最短路径抵达的网桥。LAN中,运行了生成树协议的交换机会计算自身通向根网桥的各条路径的开销。除根网桥以外的每台交换机都会保留具有最低开销的路径,并会切断所有其它路径。这样使得接入网络的计算机在与其它计算机通讯时,只有一条链路生效,既保障了网络的正常运行,又保障了冗余能力。
生成树协议通过交换网桥协议数据单元(BPDU)来协调工作。STP BPDU是一种二层报文,目的MAC是多播地址01 80 C2 00 00 00,所有支持STP协议的交换机都会接收并处理收到的BPDU报文。生成树协议工作时,交换机的每一个端口都会经历一系列的生成树状态,状态流程图如图5所示[1]。
2.1.2访问控制列表(ACL)
ACL(Access Control List,访问控制列表)主要用来实现数据流识别功能。各网络间的通信、内外网络的通信都是企事业单位的网络中必不可少的业务需求,但为了保证内网的安全性,需要通过安全策略来使非授权用户只能访问特定的网络资源,从而达到对访问进行控制的目的[5]。网络设备为了过滤数据包,需要配置一系列的匹配规则,以识别需要过滤的报文。由ACL定义的数据包匹配规则,可以被其它需要对流量进行区分的功能引用。根据应用目的可以将ACL分为以下几种:
1.三层ACL,根据三层源IP地址设置规则。
2.高级ACL,根据数据包的源和目的IP地址信息、IP承载的协议类型、协议特性等设置规则。
3.二层ACL,根据源和目的的MAC地址、VLAN优先级、二层协议类型等设置规则。
4.用户自定义ACL,以数据包的头部为基准,指定特定位置截取的字符串与用户定义的字符串进行比较。
2.2解决方法研究
2.2.1解决方法思路
要利用生成树协议来达到剪裁冗余链路消除环路的目的就要在单位信息机房内、外网两个网络的二层汇聚交换机之间创建一个人为的连接,使其能够互通生成树的网桥协议数据单元(BPDU),但同时出于网络间隔离的需要,又不能让该连接完全提供两个不同网络间的信息通信。因此考虑借助二层访问控制列表来实现数据帧的过滤。由于STP BPDU是要进行目标MAC地址是01-80-C2-00-00-00的广播,所以确定可以通过对该目的MAC地址过滤的ACL允许BPDU传递,而通过对其它源和目的MAC地址是任意的数据帧进行阻断的ACL达到隔离通信的目的。
2.2.2实验环境搭建
为了验证2.2.1小节设想的解决思路,特采用最普通的二层交换机设备设计了一个实验方案,实验设备连接如图6所示。
2.2.3实验过程记录
表2 实验操作记录表
三、结论
通过对内、外网间桥接或环路的引发的故障实例分析,对各类桥接或环路发生的场景进行研究,提出了基于STP及ACL两项以太网交换机功能解决现实问题的思路,针对设想的思路组织了一套简单的实验方案进行验证。验证结果表明该解决方法可以较圆满的解决1.2节描述的(A)(B)(D)(E)(F)的桥接或环路场景。对于(C)类的场景,可以在接入交换机上配置单端口检测(loopback-detection)功能来解决。本文通过简便易行的技术手段解决内、外网间桥接和环路问题,极大的提高了网络的可靠性。并且在桥接或环路发生时,根据被STP协议置于非转发状态的端口,可以很容易的找到环路发生的位置并人工拆除引发环路的网线,但与采用该措施前相比,处理所需要的人工工作量已经大幅的减少了。
参 考 文 献
[1] Gary A. Donahue.Network Warrior-思科网络工程师必备手册[M].第2版:人民邮电出版社,2012:80-105
[2] 黄向农,罗必然.网络环路轻视不得[J].网管员世界,2006(1):99-101
[3] 张永锋.网络信息安全探讨与隔离技术的应用[J].中国新通信,2012(22):61-62
[4] 郭彦伟,郑建德. 生成树协议与交换网络环路研究[J].厦门大学学报:自然科学版,2006,45(B05):301-304
[5] 谢声时,陈海鸿,汪浩 等.交换机ACL的研究与应用[J].华南金融电脑,2009,17(12):40-41