基本VLAN配置实战——4
七、VLAN间通信配置与管理
划分VLAN的目的是为了隔离同一网段中各主机间的直接二层通信,以缩小广播域。为达到既二层隔离,又互相通信,华为交换机提供3种解决方案:配置三层VLANIF接口、三层以太网子接口、VLAN Switch三种实现VLAN间通信。
VLAN间的三层通信存在两种不同的情形:一是相互通信的不同VLAN同处于一个交换机上,二是相互通信的不同VLAN处于不同的交换机上。
同一台交换机上的VLAN间三层通信只需在该三层交换机为这3个VLAN各自配置VLANIF接口IP地址(要求在不同IP子网中)即可,因为在华为交换机中IP路由功能是一直启用的,这些VLAN是直接连接在同一台三层交换机上,相当于直连路由,所以无需其他额外配置就可以实现同一台交换机上不同VLAN间的三层互通。
不同交换机上的VLAN间通信,涉及跨三层设备的VLAN间通信问题。如果相互通信的不同VLAN位于不同的三层交换机上,不仅要为各VLAN配置VLANIF接口IP地址(不同交换机中的相同VLAN各自可以配置一个同网段的VLANIF接口IP地址),还要在三层设备上配置到达各个VLANIF接口所在网段的可达路由(可以是静态路由,也可以是各种动态路由)。
1、三层VLANIF接口方案
每个VLAN配置一个三层VLANIF逻辑接口,这些VLANIF接口作为对应VLAN内部主机的缺省网关。
以位于VLAN2中的主机A向位于VLAN3中的主机C发起通信为例,通过VLANIF接口进行VLAN间三层互通的基本原理:
(1)在主机A向主机C发送的数据包到了网络层后,主机A先将包中的目的IP地址——主机C的IP地址和自己所在网段进行比较。
(2)发现主机C和自己不在同一个子网,于是主机A以广播方式在本子网内发送一个ARP请求帧,其目的是查寻自己的网关——VLANIF2接口的MAC地址。
(3)VLANIF2接口经过与ARP请求帧中的目的IP地址进行比较,发现自己的IP地址与其一致,接收该ARP请求帧,然后以单播方式向主机A返回一个ARP应答帧,帧中的源MAC地址即为VLANIF2的MAC地址。
(4)在主机A接收由VLANIF2接口返回的ARP应答帧后从中学习到了VLANIF2接口的MAC地址。
(5)主机A利用所获得的网关VLANIF2接口的MAC地址,重新进行数据帧封装,把帧中的目的MAC改为VLANIF2接口MAC地址,目的IP仍为主机C的IP地址,然后发送给网关——VLANIF2接口。
(6)Device交换机在收到该数据帧后进行三层转发,发现帧中的目的IP地址——主机C的IP地址为直连路由,数据帧直接通过该主机的网关——VLANIF3接口进行转发。
(7)VLANIF3接口作为VLAN3内主机的网关,在收到数据帧后如果已有主机C的IP地址与MAC地址映射表,则直接发送给主机C,否则VLANIF3接口先在VLAN3内以广播方式发送一个ARP请求帧,查寻主机C的MAC地址。
(8)主机C在收到ARP广播帧后向VLANIF3接口返回一个ARP应答帧。
(9)VLANIF3接口在收到主机C发来的ARP应答帧后再次进行数据帧封装,把帧中的目的MAC地址改为主机C的真实MAC地址(其他不变),然后把主机A发来的数据帧发送给主机C。这样主机A之后要发给C的数据帧都先发送给网关,由网关——VLANIF3接口做三层转发。
2、三层以太网子接口方案
三层以太网子接口是一种同时具备三层以太网物理接口和二层以太网物理接口双重特性的逻辑接口。即它具有三层以太网物理接口的三层路由功能,同时又具有二层以太网物理接口封装VLAN标签的特性。通过三层以太网子接口就可以实现不同VLAN间的三层互通,也就是通常所说的“单臂路由”,在三层交换机和路由器中均可实现。
DeviceA为支持配置子接口的三层设备,DeviceB为二层交换设备。LAN通过DeviceB的二层以太网接口与DeviceA的三层以太网接口相连。连接在DeviceB上的用户主机被划分到两个VLAN:VLAN2和VLAN3.可通过如下配置实现VLAN间互通:
(1)在DeviceA与DeviceB相连的三层以太网接口上创建两个子接口Port1.1和Port1.2,并配置802.1Q封装与VLAN2和VLAN3分别对应。
(2)为以上这两个子接口配置与各自所属VLAN对应网段的IP地址。
(3)将DeviceB与DeviceA相连的二层以太网接口类型配置为Trunk或Hybrid类型,并同时允许VLAN2和VLAN3的通过。
(4)将VLAN2和VLAN3中的用户设备的缺省网关设置为所属VLAN对应三层以太网子接口的IP地址。
现在同样以主机A向主机C发起通信为例介绍三层以太网子接口的VLAN间通信方案的基本原理(其实基本过程与VLANIF接口VLAN间通信方案一样,只不过这里的网关是各VLAN所对应的子接口)。具体流程:
(1)在主机A向主机C发送的数据包到了网络层后,主机A先将包中的目的IP地址——主机C的IP地址和自己所在网段进行比较。
(2)发现主机C和自己不在同一个子网,于是主机A以广播方式在本子网内发送一个ARP请求帧,其目的是查寻自己的网关——VLAN2对应的Port1.1子接口的MAC地址。
(3)Port1.1子接口经过与ARP请求帧中的目的IP地址进行比较,发现自己的IP地址与其一致,接收该ARP请求帧,然后以单播方式向主机A返回一个ARP应答帧,帧中的源MAC地址即为Port1.1子接口的MAC地址。
(4)在主机A接收由Port1.1子接口返回的ARP应答帧后从中学习到了Port1.1子接口的MAC地址。
(5)主机A利用所获得的网关Port1.1子接口的MAC地址,重新进行数据帧封装,把帧中的目的MAC改为Port1.1子接口MAC地址,目的IP仍为主机C的IP地址,然后发送给网关——Port1.1子接口。
(6)DeviceA交换机在收到该数据帧后进行三层转发,发现帧中的目的IP地址——主机C的IP地址为直连路由,数据帧直接通过该主机的网关——VLAN3对应的Por1.2子接口进行转发。
(7)Port1.2子接口作为VLAN3内主机的网关,在收到数据帧后如果已有主机C的IP地址与MAC地址映射表,则直接发送给主机C,否则Port1.2子接口先在VLAN3内以广播方式发送一个ARP请求帧,查寻主机C的MAC地址。
(8)主机C在收到ARP广播帧后向Port1.2子接口返回一个ARP应答帧。
(9)Port1.2子接口在收到主机C发来的ARP应答帧后再次进行数据帧封装,把帧中的目的MAC地址改为主机C的真实MAC地址(其他不变),然后把主机A发来的数据帧发送给主机C。这样主机A之后要发给C的数据帧都先发送给网关,由网关——Port1.2子接口做三层转发。
3、VLAN Switch方案
通过VLAN Switch(VLAN交换)也可实现不同VLAN间的通信。VLAN交换是一种按照VLAN标签进行数据转发的技术,需要预先在网络中的各交换机上建立一条静态转发路径。当交换机接收到符合转发条件的VLAN数据后,根据VLAN交换表将报文直接转发到相应的出接口,无需查看MAC地址表,提高转发效率及安全性,有效避免MAC地址攻击及广播风暴。
VLAN交换功能如下:
(1)添加外层VLAN标签功能,即VLAN Switch stack-vlan功能。
(2)在不同接口之间转换外层VLAN标签,即VLAN Switch Switch-vlan功能。
实验1:
VLAN Damping功能,主要是为了避免VLANIF接口状态变化引起的网络震荡,接口使能VLAN Damping功能后,这时,当VLAN中最后一个处于Up状态的成员端口变为Down后,启动VLAN Damping功能的设备会抑制设定的时间后再上报给VLANIF接口。如果在抑制时间内VLAN中有成员口状态变为Up,则VLANIF接口状态保持Up不变。
配置后,PC1能够PING通PC2.
查看一下vlanif2接口的状态,停止PC1后,立即在查询一遍,过15秒后,再查一次,结果:
因为VLAN2中只有一个接口,当PC1停止,这个接口就变为Down,如果没有配置VLAN Damping功能,则VLANIF2直接Down,配置了,则有一个时间间隔。
查看路由信息:
实验2:
对于二层交换机,没有三层路由功能,可以连接一个三层交换机,实现单臂路由功能。
实验3:跨设备三层网络通信
上图中虽然同为VLAN10,但因为不是一个网段中的VLAN,所以是不同的,可以为它们的VLANIF接口配置不同网段的IP地址。通过OSPF协议对192.168.0.0/24、192.168.1.0/24和192.168.2.0/24三个子网的通告,就相当于通过OSPF协议实现这三个子网间的路由通信。
设置路由器id的命令是router id 1.1.1.1,
默认选择ip值最小的作为routerid,这里的交换机有两个IP:192.168.0.254和192.168.2.1
查看路由信息
经过上述配置后,PC1与PC2相通。
一个会产生疑问的地方:为什么在LSW1和LSW2相连的端口上不需要同时允许VLAN10呢?最根本原因还是因为华为S系列交换机的物理端口不能直接配置IP地址,是二层接口,必须通过加入一个VLAN,然后通过对应的VLANIF接口来实现二层与三层之间的转换,配置IP地址,进行三层通信。这里的VLANIF接口其实就相当于路由器上的路由接口。至于接口类型,其实无所谓,因为在三层通信中,数据到达交换机后,三层模块会去掉数据链路层协议头,包括VLAN标签部分,最终路由判断需要通过Trunk类型的G0/0/1发送,在三层到二层时,在打上标签,这时就是VLAN30的标签。
另外,LSW1与LSW3相连的端口,一个是GE,一个是E,正常情况下,能够通过自协商保持一致,如果此链路不同,可考虑手动配置端口参数保持一致。
实验4:通过子接口实现VLAN间通信
通过子接口实现VLNA间通信与通过VLANIF类似,就是配置的ip是配置在子接口上:
[Huawei]interface gigabitethernet1/0/1.1
[Huawei-GigabitEthernet1/0/1.1]dot1qtermination vid 10
[Huawei-GigabitEthernet1/0/1.1]ip address10.10.10.1 24
[Huawei-GigabitEthernet1/0/1.1]arpbroadcast enable
不同之处是子接口需要配置子接口dot1q封装单层VLANID和使能子接口的ARP广播功能。
因为模拟器无法进行子接口的模拟,无法测试。
实验5:配置通过VLAN Switch实现VLAN间通信:
通过以下两种方式实现VLAN间通信:
(1)替换外层VLAN标签,即VLAN Switch switch-vlan功能,与VLAN Mapping(VLAN映射)类似。
(2)添加外层VLAN标签功能,即VLAN Switch stack-vlan功能,与VLAN Stacking类似,是一种针对不同VLAN封装外层VLAN标签的二层技术。
通过VLAN Switch switch-vlan实现VLAN间通信的配置,只需在系统视图下配置:vlan-switch vlan-switch-name interface interface-type1 interface-number1vlan vlan-id1 [inner-vlan vlan-id2 [to vlan-id3]] interface interface-type2 interface-number2 [switch-vlan vlan-id4],配置VLANSwitch switch-vlan功能,替换外层VLAN标签。
(1)vlan-switch-name:指定要配置的VLANSwitch的名称。
(2)interface-type1 interface-number1:指定要替换外层VLAN标签的交换机端口,即源端口。
(3)interface-type2 interface-number2:指定替换了外层VLAN标签后VLAN帧的发出端口,即目的端口。
(4)vlan-id1:指定替换前的外层VLANID。
(5)vlan-id2 to vlan-id3:可选参数,指定替换前的内层VLANID或一个VLAN ID范围。
(6)vlan-id4:可选参数,指定替换后的外层VLAN ID。
示例:配置VLAN Switch的转换外层VLAN标签功能,将GE1/0/1端口接收到的带有VLAN10标签的报文变换为带有VLAN20的标签的报文从GE1/0/2端口转发出去
[Huawei]vlan-switch fa1 interface g 1/0/1 vlan 10 interface g 2/0/1 switch-vlan 20
如上拓扑,Switch的接口GE1/0/1、GE1/0/2分别与SwitchA、SwitchB上行接口相连,SwitchA、SwitchB的下行接口分别加入VLAN10、VLAN20。现要通过VLAN Switch功能实现VLAN10内的PC与VLAN20内的PC互访。
配置方法:
(1)配置SwitchA、SwitchB的相关接口加入VLAN。
(2)配置Switch的VLAN Switch功能。把GE1/0/1端口上接收道德VLAN10帧中的VLAN标签替换成VLAN20,然后从GE1/0/2端口发送出去。
[HUawei]vlan-switch name1 interfacegigabitethernet 1/0/1 vlan 10 interface gigabitethernet 1/0/2 switch-vlan 20
VLAN10、VLAN20不能是Switch已经创建的全局VLAN,且GE1/0/1端口不能加入VLAN10,GE1/0/2端口不能加入VLAN20,否则无法VLANSwitch。
因为模拟器无法模拟,不能实际测试。
有一个疑问:需不需要设置GE1/0/2端口,如
[HUawei]vlan-switch name2 int g 1/0/2 vlan 20 int g 1/0/1 switch-vlan 10
以保证双向通讯。
八、管理VLAN的配置
任意VLAN都可成为管理VLAN(指三层交换机上的VLAN),一旦某个VLAN被配置为管理VLAN,则不允许Access类型和Dot1q-tunnel类型端口加入该VLAN。LSW1交换机上设置管理VLAN100,业务VLAN10,VLANIF的IP分别为192.168.10.1和192.168.0.1,想测试GE0/0/1加入管理VLAN100对设备进行管理。
按照上述配置,LSW1交换机的端口GE0/0/1作为管理VLAN100的成员,按理是可以PING通交换机的管理VLANIF接口IP地址的,实际上进行测试无法PING通,PC1无法PING通192.168.10.1,测试普通的VLAN,PC2为普通VLAN10中的主机,接在GE0/0/2上,
此时PC2可以PING通VLANIF10的IP192.168.0.1
增加一台交换机LSW2,在LSW1的GE0/0/3和LSW2的GE0/0/1之间建立Hybrid的tagged连接。
在LSW2上增加VLAN100,这个VLAN100为普通业务VLAN,增加一台主机,通过这台主机能够PING通LSW1的管理VLAN的VLANIF的IP地址。
通过实验,管理VLAN只能接收带标签的hybrid型数据,可以限制LSW1上接口直接接主机进行设备管理。