防火墙Trunk浅谈
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VLAN TRUNK浅谈
一、何为VLAN TRUNK
由于网络上存在的大量广播数据包,严重影响了网络的性能,最为有效解决此问题的方法就是缩小广播域,缩小广播域可以通过三层设备路由器来进行,也可以通过在数据链路层划分VLAN来解决,就性价比而言,划分VLAN更高,因此VLAN也就成了一种广泛的应用。
但不同交换机之间的相同的VLAN如何进行通讯呢?
目前有两种解决方案:
方案一是如图一那样,每个VLAN之间分别用属于该VLAN的端口相连。
图一
方案二则如图二所示,交换机之间通过一个端口相连,所有的VLAN都通过该链路进行传递,那么这种连接方式就称为TRUNK。
显而易见方案二比方案一节省更多的端口,管理也相对方便。
图二
二、Trunk的原理
在TRUNK中,很多VLAN都通过该链路,那么怎样才能区分属于哪一个VLAN的数据包呢?原来是通过添加特征来进行区分的,有的称为Flag,有的称为Cloud。
在以太网中,对于TRUNK主要有两种封装协议,一是思科特有的ISL,另外一个是通用的802.1Q。
在Flag中有特定的位来表示VLAN号对于ISL,是在帧头加26Byte的ISL Head和在尾部加4字节的CRC,如图三:
图三
对于802.1Q,则是在帧头的内部加4字节的特征码,如图四。
图四
对于ISL封装格式,除了思科自身的产品外,一般不会支持,暂不予讨论。
对于802.1Q的封装格式,是在帧头的Dest Addr后加了4字节的特征码,其中前两个字节作为Tag Protocol Identifier (TPID),且这两个字节中总是用0x8100的值来表示这是一个802.1Q tag。
另外两个字节是Tag Control Information (TCI)区,该区包含3位的优先级区,用来执行802.1Q/802.1p协议,最后的12位用来表示VLAN Identifier (VID)来表示源VLAN号,因此有4096个VLAN可表示,但0,1,4095已预留。
三、具有Trunk功能的防火墙的用途
具有Trunk功能的防火墙常用于两个方面:
一是在路由模式下,此时防火墙一般部署在互联网与内网的交界处。
如图五所示:在此图中,防火墙的内网端口设置3个虚拟端口,分属VLAN1,VLAN,2,VLAN3,端口之间有包转发的能力,因此防火墙的内网端口可以对不同的VLAN 之间起到路由的功能,且VLAN之间的数据包要经过防火墙的过滤。
当然与防火墙相联的交换机的端口要设置为TRUNK模式。
图五
二是在网桥模式下,此时防火墙一般部署在内网对重点服务器进行安全防护。
如下图所示,如果某客户根据部门划分VLAN,VLAN之间不能互访,即每部门的用户只能访问自己部门的服务器,且服务器又集中部署,此时就会采取这种方式部署防火墙,这就要求防火墙必须具有TRUNK功能。
图六
四、防火墙怎样才能具有Trunk功能
对于802.1Q的封装格式,帧头就比普通的长了的4字节。
在普通防火墙收到帧之后,就无法进行正常地处理,即无法正确的削掉帧头对数据包进行有效的分析。
对于图六所示拓扑结构,个人认为只要使内核支持802.1Q协议即可,此时防火墙就能正确的处理数据包,对包头进行有效分析,分析完成之后,再进行包转发。
对于图五所示拓扑结构,则要进行下述:
1、编译内核,使内核支持802.1Q 。
2、具有VLAN的配置工具
例:
1、现在Linux2.4-20-8内核已经支持802.1Q,编译内核使之支持。
2、下载VLAN配置工具软件,安装之后进行如下操作
cd vlan
(1)、创建VLAN10、VLAN12、VLAN13
vconfig add eth0 10
vconfig add eth0 12
vconfig add eth0 13
(2)、为接口设置IP地址:
ip address add 192.168.5.3/28 dev eth0.12 (DMZ区域的网关)
ip address add 192.168.10.1/24 dev eth0.13 (Classroom的网关)
ip address add 192.168.9.1/27 dev eth0.10 (cqs的网关)
ip link set dev eth0.12 up (启用设备)
ip link set dev eth0.10 up
ip link set dev eth0.13 up。