避免虚拟局域网可能带来的灾难( 二 )



这两种情况中所描述的问题能够通过使用交换机软件来得到改善,这些软件的功能是消除数据包在传送时所需要的信息 。在Cisco的高端交换机中,将每个VLAN所存在的生成树进行分离 。其他的交换机要么具有类似的特点,要么能被设置成可以对各个VLAN里的成员的桥接信息进行过滤 。

链路聚合

多个交换机可以通过配制机制和在交换机间交换数据包的标签来共享同一VLAN 。你可以设置一个交换机,使得其中一个端口成为链路,在链路上可以为任何VLAN传送数据包 。当数据包在交换机之间传递时,每个数据包被加上基于802.1Q协议的标签,802.1Q协议是为在桥接器间传送数据包而设立的IEEE标准 。接收交换机消除数据包的标签,并将数据包发送到正确的端口,或在数据包是广播包的情况下发送到正确的VLAN 。

这些四字节长的802.1Q被附加在以太网数据包头中,紧跟在源地址后 。前两个字节包含81 00,是802.1Q标签协议类型 。后两个字节包含一个可能的优先级,一个标志和12比特的VID(VLAN Identifier) 。VID的取值在0到4095之间,而0和4095都作为保留值 。VID的默认值为1,这个值同时也是为VLAN配置的交换机的未指定端口的默认值 。

根据Cisco交换机的默认配置,链路聚合是推荐的配置 。假如一个端口发现另一个交换机也连在这个端口上,此端口可以对链路聚合进行协商 。默认的链路端口属于VLAN1,这个VLAN被称作该端口的本地VLAN 。治理员能够将链路端口指定给任何VLAN 。

可以通过设置链路端口来防止这种VLAN间数据包的传送,将链路端口的本地VLAN设置成不同于其他任何VLAN的VID 。记住链路端口的默认本地VLAN是VID 1 。可以选择将链路端口的本地VLAN设置为1001,或者任何交换机答应的且不被其他任何VLAN所使用的值 。

防火墙和VLAN

知道了交换机如何共享VLAN信息之后,就可以更准确地评价支持VLAN的防火墙 。支持VLAN的防火墙从支持VLAN的交换机那里获得头部带有802.1Q标签的数据包,这些标签将被防火墙展开,然后用来进行安全规则的检测 。尽管到目前为止,我们只讨论了以太网的情况,802.1Q标签同样适用于其他类型的网络,比如ATM 和FDDI 。


802.1Q标签并不能提供身份验证,它们只不过是交换机用来标志从特定VLAN来的特定数据包的一种方式 。如同许多年来人们伪造IP源地址一样,VLAN标签同样可以被伪造 。最新的Linux操作系统带有对工作于VLAN交换机模式的支持,可以生成本地系统治理员可以选择的任意VLAN标签 。

安全使用802.1Q标签的要害在于设计这样一种网络:交换机链路连接到防火墙接口,而基于VLAN标签的安全检测将在防火墙接口进行 。假如有其他的线路能够到达防火墙的接口,伪造VLAN标签的可能性就会增大 。交换机本身必须被正确配置,进行链路聚合的链路端口要进行非凡配置,然后加入到非默认VID中 。

在任何关于交换机的讨论中,保护对交换机设备的治理权限这一结论是永远不变的 。交换机和其他网络设备一样可以从三种途径进行治理:Telnet、HTTP和SNMP 。关掉不使用的治理途径,在所使用的治理途径上也要加上访问控制 。因为当攻击者来自网络外部时,防火墙可以控制他对交换机的访问;当攻击者来自网络内部或者攻击者获得了访问内部系统的权限而发起攻击时,防火墙对此将无能为力 。


推荐阅读