1 说明
之前已经讲解过了思科交换机的VLAN间路由以及路由器与二层交换机组网的单播路由形式【子接口】,这次主要讲解华为上面的VLAN间路由的配置,以及单臂路由的组网方式。华为的三层VLAN接口,就叫做VLANIF接口,思科的叫SVI。
2 场景1
这种拓扑比较主流的应用,就是用三层交换机来做VLAN间的路由,客户端在VLAN 2,而服务器在VLAN 3,这里就是让它们能够正常访问到。
3 掌握目标
1.二层交换机初始化
2.三层交换机的初始化以及VLANIF接口配置
3.验证
4.总结VLANIF up以及华为交换机需要注意的地方
4 1.二层交换机初始化
(1)左边交换机配置
【创建VLAN】
[SW-1]vlan 2
[SW-1-vlan2]quit
【连接PC的接口配置】
[SW-1]int e0/0/1
[SW-1-Ethernet0/0/1]port link-type access
[SW-1-Ethernet0/0/1]port default vlan 2
【上联三层交换机接口的配置】
[SW-1]int e0/0/2
[SW-1-Ethernet0/0/2]port link-type trunk
[SW-1-Ethernet0/0/2]port trunk allow-pass vlan 2
5 (2)右边交换机
【创建VLAN 】
[SW-2]vlan 3
【连接服务器的接口】
[SW-2]int e0/0/2
[SW-2-Ethernet0/0/2]port hybrid pvid vlan 3
[SW-2-Ethernet0/0/2]port hybrid untagged vlan 3
【说明:这里用的是hybrid方式,等同于Access defualt vlan 3,这里只是演示下。】
【上联三层交换机的接口配置】
[SW-2]int e0/0/1
[SW-2-Ethernet0/0/1]port link-type trunk
[SW-2-Ethernet0/0/1]port trunk allow-pass vlan 3
【总结下:这里配置左边交换机用的传统的配置方法,一个是接PC的用的,用的Access接口,华为默认为hybrid,所以需要修改下,其实这个环境接三层交换机可以不用trunk,直接用Access就行了, 因为交换机下面就一个VLAN。而右边交换机的配置接服务器的我用的是另外一种方式hybrid,它接口下的配置等同于access defalt vlan 3。】
6 2.三层交换机的初始化以及VLANIF接口配置
【创建VLAN 】
[SW-3]vlan batch 2 to 3
【与左边二层交换机对接的接口】
[SW-3]int g0/0/1
[SW-3-GigabitEthernet0/0/1]port link-type trunk
[SW-3-GigabitEthernet0/0/1]port trunk allow-pass vlan 2
【与右边二层交换机对接的接口】
说明下,其实这里用hybrid Access 或者trunk都可以的,只要理解了对VLAN Tag的处理过程,可以灵活应用,当然平时建议两边一致,用常规的方法就可以了,这里只是变化下,顺便增加下大家对于接口类型的理解。处理过程在后面分析
[SW-3]int g0/0/2
[SW-3-GigabitEthernet0/0/2]port hybrid pvid vlan 3
[SW-3-GigabitEthernet0/0/2]port hybrid tagged vlan 3
【VLAN接口创建】
[SW-3]int vlan 2
[SW-3-Vlanif2]ip add 192.168.2.1 24
[SW-3-Vlanif2]int vlan 3
[SW-3-Vlanif3]ip add 192.168.3.1 24
这里没用DHCP功能,可以参考DHCP原理及在企业中的应用 http://ccieh3c.com/?p=454
7 3.验证
可以看到访问服务器没任何问题
访问FTP也没任何问题
8 说明下整个数据包在交换机之间传递过程的变化。
1、client访问服务器,发送数据包,经过LSW1交换机的E0/0/1接口,E0/0/1接口是Access接口,指定VLAN 为2,那么数据包给打上了VLAN 2的标记,然后查找目的MAC的出接口走E0/0/2,由于E0/0/2是trunk,trunk对数据包的TAG除了VLAN ID与PVID一样的时候会去掉Tag,其他时候保持不变转发【前提是允许该VLAN通过了】
2、这时候数据包已经转发给三层交换机LSW2了,G0/0/1接口也是trunk,那么对应VLAN 2的Tag允许通过,这时候LSW2查找数据包的目的MAC访问的是自己,那么它会解封装查看三层信息,查看三层包的目的地址是多少,发现是服务器,它会通过查找自己的ARP表项重新把数据包封装,这时候的源MAC地址已经变成了VLAN 3的VLANIF的MAC,而目的MAC为服务器【这里省略了ARP查询过程,另外服务器在VLAN 3上面,所以源MAC为网关的MAC】,这时候在发包,出接口为G0/0/2,这时候G0/0/2的接口是hybrid接口,配置是允许了tag 3的VLAN通过的,所以数据包会交给LSW4交换机的E0/0/1接口接收,该接口是trunk接口,并且允许了VLAN 3通过,所以对不做任何修改,然后查看MAC地址表走E0/0/2出去,E0/0/2是hybrid接口,它上面是对VLAN 3的Tag,去掉的,也就是不打VLAN TAG,因为下面的是服务器,如果没开启特别功能,服务器是不识别Tag的。就这样把数据包发送给服务器,所以对于接口类型的理解一定要知道他们对数据包的处理过程是怎么样的。
3、至于回包的过程是一样的,这里就不详细讲解,但是说明下,服务器连接的接口是hybrid接口,而且规定是VLAN 3,但是配置里面就两条,一个是PVID 为3,另外一个是对VLAN 3去掉Tag,所以给它打上VLAN 3标记的功能是通过PVID来完成的,PVID的作用是当交换机收到一个没有Tag的帧的时候,给它打上该接口定义的PVID,默认为VLAN 1,这里定义为VLAN 3,所以它才属于VLAN 3。
想详细了解Access hybrid trunk三种接口类型的可以看:三种端口模式Access、Hybrid和Trunk对数据包Tag的处理过程 http://ccieh3c.com/?p=673
场景2
说明,这种场景比较适合,出口是一台华为的路由器或者防火墙,而下面只有二层交换机,没有三层交换机,所以这里必须用单臂路由方式来用,其实还有一种拓扑,比较推荐,跟这个一样,但是路由器是多业务的,支持交换接口,那么完全可以把它当成一台三层交换机一样,配置trunk,VLANIF地址这样来访问。
2 二层交换机的配置修改
【之前左边交换机只是把PC划分到了VLAN 2,但是服务器现在也在该交换机上面需要创建VLAN 3并且加入,而且trunk要放行对应的流量】
[SW-1]int e0/0/3
[SW-1-Ethernet0/0/3]port hybrid pvid vlan 3
[SW-1-Ethernet0/0/3]port hybrid untagged vlan 3
【trunk这里在允许VLAN 3即可,之前已经允许过VLAN 2了】
[SW-1]interface e0/0/2
[SW-1-Ethernet0/0/2]port trunk allow-pass vlan 3
3 路由器配置
[SW-GW]int e0/0/0.2
[SW-GW-Ethernet0/0/0.2]vlan-type dot1q 2
[SW-GW-Ethernet0/0/0.2]ip address 192.168.2.1 24
[SW-GW]interface e0/0/0.3
[SW-GW-Ethernet0/0/0.3]vlan-type dot1q 3
[SW-GW-Ethernet0/0/0.3]ip add 192.168.3.1 24
【说明:华为的接口默认是no shudown的,所以不需要敲,另外封装vlan-type就可以了,指定对应的VLAN ID,然后配置IP地址】
4 测试
再次Ping还是可以访问
场景3
这种环境比较特殊,就是只有一个路由器是可管理的,但是下面的交换机是傻瓜式交换机,但是你领导有个特别的需求,希望服务器跟PC的网段的划分开,这时候就需要用到第二地址功能了。
[SW-GW]int e0/0/1
[SW-GW-Ethernet0/0/1]ip address 192.168.2.1 24
[SW-GW-Ethernet0/0/1]ip address 192.168.3.1 24 sub
总结:推荐的话还是用三层交换机来进行VLAN间路由,这样效率高,也不容易造成网络瓶颈,但是有些小环境,确实没有三层交换机,只有二层交换机,所以可以用单臂路由的方式,当然如果是华为的AR系列,有二层接口的话,那么该路由器可以当做三层交换机使用,来做VLAN间转发,可以中间链路可以做单臂路由。