华为交换机端口类型及VLAN配置

本篇我们来介绍一下华为交换机的端口类型和VLAN的配置。之前我们曾详细介绍过思科设备的端口
类型以及VLAN配置,详细可以参考:DTP和VLAN。使用VLAN的好处在于可以进行有效的二层隔离,从
而缩小广播域,实现在同一个VLAN的用户可以进行二层访问,不同VLAN间的用户可以被二层隔离。
同样使用VLAN也大大提高了网络的安全性。 传统局域网不仅面临冲突域太大和广播域太大两个难题,而且无法保障信息传输的安全性,为了既能
扩展传统VLAN,同时又能限制广播域的范围,减少广播流量,就需在没有二层互访需求的主机之间进
行隔离,路由器是基于三层IP地址信息来选择路由的和转发数据的,其链接的的是不同的广播域 ,
所以自然可以起到抑制广播报文转发的作用,但是使用路由器会导致成本大大提高。于是,VLAN就诞
生了,通过VLAN技术在局域网上构建多个更小的逻辑的局域网。VLAN技术可以将一个物理局域网在逻
辑上划分成多个广播说,也就是多个VLAN,VLAN技术属于数据链路层技术,用来隔离二层流量,不同
的VLAN就属于不同的广播域,广播报文被限制在各个相应的VLAN内。 链路类型与PVID 在介绍VLAN之前,首先我们要了解华为交换机的链路类型。华为交换机链路类型分为两种: ● Access链路:接入链路,是指用来连接主机与交换机的链路。 ● Trunk链路:干道链路,是指连接交换机与交换机的链路。干道链路上的帧都是带Tag的VLAN帧。 ● PVID:PVID是指Port VLAN ID,表示端口缺省情况下所属的VLAN,也就是端口的缺省VLAN。交换
机从对端设备收到的帧有可能是Untagged的数据帧,但所有以太帧在交换机中都是以Tagged的形式
来被处理和转发,因此交换机必须给端口收到的Untagged的数据帧打上标签,所以交换机要配置端
口的缺省VLAN。当该端口收到Untagged数据帧时,交换机将给它加上该缺省VLAN的VLAN Tag。 端口类型 华为交换机的端口类型分为:access端口、Trunk端口和Hybrid端口三种。 ● Access端口:是交换机上用来接用户主机的端口,它只能连接接入链路,并且只能允许唯一的
VLAN ID通过本端口。也就是说它是用来连接终端设备的,比如连接到服务器上的网卡,并在收到
untagged的数据帧后会对数据打上与PVID相同的VLAN标签。如果收到的数据帧是tagged帧,就先与
PVID进行比对,如果相同,就接收该报文,如果不同,就丢弃该报文。Access端口在转发数据前总
是会先移除掉VLAN标签然后再转发,也就是说Access端口发给对端设备的以太帧永远是不带untagged
的帧。
Trunk端口:Trunk端口是交换机上用来连接其它交换机的端口,它只能连接干道链路。Trunk端口
允许多个VLAN帧通过,也就是允许带不同VLAN标签的帧通过。当Trunk端口接收到untagged帧时,会
打上该端口的PVID,如果PVID在允许通过的列表中,则转发该报文,否则就丢弃该报文。当Trunk端
口接收到带VLAN标签的帧时,检测VLAN ID是否在允许通过的列表中,如果在,那么就接收该报文,
去掉VLAN标签,转给上层协议处理。如果不在允许通过的列表中,那么就丢弃该报文。Trunk端口在
发送数据帧时,当VLAN ID与端口的PVID相同,并且在允许列表中时,就去掉tag并转发。当VLAN ID
与端口的PVID不同时,并且在允许列表中时,就保持原VLAN标签进行转发。
Hybrid端口:这个是华为交换机上独有的一种端口类型,该端口既可以连接主机,也可以连接交换
机。也就是说,Hybrid端口既可以用作接入链路,也可以用作干道链路。Hybrid端口允许多个VLAN的
帧通过,并可以在端口出方向将某些VLAN帧的Tag去掉。Hybrid端口也是华为交换机的默认端口类型。
当Hybrid端口收到untagged的数据帧时,会打上该端口的PVID,如果在允许通过的列表中,就接收该
报文,否则丢弃。当接收到带VLAN标签的帧时,先检查VLAN ID是否允许通过,如果允许就接收该报
文,否则就丢弃该报文。Hybrid端口在发送数据帧时,将检查该端口是否允许该VLAN的帧通过,如果
允许,则可以通过命令配置发送时是否携带Tag。分为两种情况,一种是通过port hybrid tagged
vlan vlan-id命令,这时接口发送该VLAN ID的数据帧时,会保留tag直接发送,该命令一般用在连接
交换机的端口上。另一种是通过port hybrid untagged vlan vlan-id命令,这时接口会去掉VLAN标
签再转发数据帧,该命令一般配置在连接主机的端口上。如下图要想VLAN10和VLAN30都可以访问
VLAN100,由需要在SW1与SW2的接口上配置port hybrid tagged vlan 10 30 100,这时交换机之间的
链路上传输的数据就都是带标签的,同时还要在SW2连接服务器的接口上配置port hybrid untagged
vlan 10 30,这时VLAN 10和30的数据帧会被去掉VLAN标签转发给服务器。同样,也要在SW1上分别在
连接主机A和主机B的接口上配置port hybrid untagged vlan 100,这样服务器发送给主机A或B的数
据帧就会被去掉标签转发给相应的主机。
VLAN划分的方法
VLAN的划分方法主要包括以下5种,在实际使用中,最常见的就是基于端口划分VLAN。
● 基于端口划分VLAN
● 基于MAC地址划分VLAN
● 基于IP子网划分VLAN
● 基于协议划分VLAN
● 基于策略划分VLAN

VLAN的配置
1、下面我们使用如下图的拓扑来演示一下VLAN的配置操作,如下图所有设备都在同一个广播域内,
我们使用VLAN来对设备进行隔离,SW1和SW2这两台交换机之间配置LACP链路,SW3属于VLAN10,SW4属
于VLAN30,R1和R2属于VLAN20。
2、首先在SW1和SW2上配置Eth-Trunk 1并设置为LACP模式,然后将端口g0/0/1和g0/0/2加入到
Eth-trunk 1。在SW1上配置如下,SW2上不需要配置LACP priority。
SW1: interface eth-trunk 1 mode lacp-static interface g0/0/1 eth-trunk 1 interface g0/0/2 eth-trunk 1 lacp priority 100
3、交换机的端口类型默认为Hybrid端口,我们将Eth-Trunk 1的端口类型配置为Trunk,并允许所有
VLAN报文通过。在SW1和SW2上执行如下操作。 interface eth-trunk 1 port link-type trunk port trunk allow-pass vlan all
4、在SW1上分别创建VLAN10,VLAN20,VLAN30,将接口g0/0/3加入VLAN10,将接口g0/0/4加入到
VLAN20,并将这两个接配置为Access。 interface g0/0/3 port link-type access interface g0/0/4 port link-type access vlan 10 port g0/0/3 vlan 20 port g0/0/4 vlan 30
5、在SW2上做同样的配置,但我们使用另外一种配置方法
vlan 10
vlan 20
vlan 30
interface g0/0/3
 port link-type access
 port default vlan 30
interface g0/0/4
 port link-type access
 port default vlan 20
6、为SW3,SW4,R1,R2配置IP地址。交换机通过本地管理接口VLANIF 1来配置IP地址,路由器配置
接口IP地址。 SW3: interface vlanif 1 ip address 192.168.1.3 24 SW4: interface vlanif 1 ip address 192.168.1.4 24 R1: interface g0/0/0 ip address 192.168.1.1 24 R2: interface g0/0/0 ip address 192.168.1.2 24 验证VLAN 1、R1与R2同属于VLAN 20,所以相互之间可以Ping通。
2、R1无法与SW3和SW4通信,因为不在同一个VLAN。
3、SW3与SW4之间无法ping通,因为不在同一个VLAN。
配置Hybrid端口
1、前面我们使用的是Access接口类型,下面我们将接口改为Hybrid,配置Hybrid接口可以实现为来
自不同VLAN的报文打上标签或去除标签的功能。在上面完成的实验的基础上,我们通过配置Hybrid端
口来允许VLAN 20和VLAN30之间可以相互通信。 2、将SW1的g0/0/4端口和SW2的g0/0/3与g0/0/4接口类型设置为Hybrid。同时,配置这些端口发送数
据帧时去掉VLAN20与VLAN30的标签。 SW1: interface g0/0/4 undo port default vlan port link-type hybrid port hybrid untagged vlan 20 30 port hybrid pvid vlan 20 SW2: interface g0/0/4 undo port default vlan port link-type hybrid port hybrid untagged vlan 20 30 port hybrid pvid vlan 20 interface g0/0/3 undo port default vlan port link-type hybrid port hybrid untagged vlan 20 30 port hybrid pvid vlan 30
3、配置完成后,在R1上ping SW4的IP地址,可以看到现在可以Ping通了。说明VLAN20与VLAN30之间现
在可以通信。
4、测试R1与SW3,可以看到他们之间仍然无法通信。因为我们没有在SW1上将连接VLAN10的端口设置
为Hybrid,也没有做相关命令。
VLAN间路由:单臂路由
如果我们需要借助路由器来实现不同VLAN间的通信,则可以通过配置VLAN间路由来实现,下面我们
来介绍一下单臂路由的配置方法。如下图拓扑,通过在R1配置单臂路由实现VLAN10与VLAN20之间的
通信。
1、首先配置R2和R3的接口IP地址。
R2: 
interface g0/0/0
  ip address 192.168.2.1 24
R3:
interface g0/0/0
 ip address 192.168.2.1 24 

2、在SW1上创建VLAN 10和VLAN 20,并加入对应的接口。
vlan batch 10 20
int g0/0/2
 port link-type access
 port default vlan 10
int g0/0/3
 port link-type access
 port default vlan 20

3、在SW1上配置G0/0/1端口为trunk接口,并允许VLAN 10和VLAN20通过。
int g0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20
4、在路由器R1上配置不同的逻辑子接口来扮演不同的网关角色,每个网关对应不同的VLAN,同时
实现在VLAN间ARP通信。 interface g0/0/0.1 ip address 192.168.2.254 24 dot1q termination vid 10 arp broadcast enable interface g0/0/0.2 ip address 192.168.3.254 24 dot1q termination vid 20 arp broadcast enable
5、在R2和R3上各配置一条默认路由,并指向各自的网关。
R2: ip route-static 0.0.0.0 0.0.0.0 192.168.2.254
R3: ip route-static 0.0.0.0 0.0.0.0 192.168.3.254

6、现在单臂路由就配置完成了,在R2和R3之间互相ping对方的IP地址,以验证VLAN10和VLAN20之间
可以通信。
7、在R1上查看路由表,可以看到两条直连路由。
VLAN间路由:三层交换
在没有路由器的情况下,可以借助三层交换机来实现VLAN间路由,这就需要在三层交换机上配置
VLANIF接口,如果网络中有多个VLAN,就需要给每个VLAN都配置一个VLANIF接口。并给每个VLANIF
接口配置一个IP地址,使用这个IP地址做为缺省网关。 1、以下图拓扑中的网络为例,我们在SW1与SW2上配置相应的VLANIF接口并配置相应的IP地址。
SW1与SW2之间配置LACP,并将接口配置为Trunk接口,允许所有VLAN通过。 SW1: interface eth-trunk 1 mode lacp port link-type trunk port trunk allow-pass vlan all interface g0/0/1 eth-trunk 1 interface g0/0/2 eth-trunk 1 SW2: interface eth-trunk 1 mode lacp port link-type trunk port trunk allow-pass vlan all interface g0/0/1 eth-trunk 1 interface g0/0/2 eth-trunk 1
2、分别在SW1和SW2上批量创建VLAN 10 20 30 40
vlan batch 10 20 30 40
3、配置SW1和SW2的Eth-Trunk链路,并将相应的接口加入到VLAN。
SW1:
interface eth-trunk 1
 port trunk pvid vlan 1
interface g0/0/4
 port link-type access
 port default vlan 30
interface g0/0/3
 port link-type access
 port default vlan 10

SW2:
interface eth-trunk 1
 port trunk pvid vlan 1
interface g0/0/3
 port link-type access
 port default vlan 20
interface g0/0/4
 port link-type access
 port default vlan 40
4、在SW1和SW2上配置VLANIF三层接口。
SW1:
int vlanif 1
 ip address 192.168.1.1 24
int vlanif 10
 ip address 192.168.10.254 24
int vlanif 30
 ip address 192.168.30.254 24

SW2:
int vlanif 1
 ip address 192.168.1.2 24
int vlanif 20
 ip address 192.168.20.254 24
int vlanif 40
 ip address 192.168.40.254 24
5、为SW3和SW4配置VLANIF,。为R1和R2相应的接口配置IP地址。然后为这四台设备配置一条缺省路
由指向网关。 SW3: int vlanif 1 ip address 192.168.30.1 24 ip route-static 0.0.0.0 0.0.0.0 192.168.30.254 SW4: int vlanif 1 ip address 192.168.40.1 24 ip route-static 0.0.0.0 0.0.0.0 192.168.40.254 R1: int g0/0/1 ip address 192.168.10.1 24 ip route-static 0.0.0.0 0.0.0.0 192.168.10.254 R2: int g0/0/1 ip address 192.168.20.1 24 ip route-static 0.0.0.0 0.0.0.0 192.168.20.254 6、现在我们来验证VLAN的联通性,首先在R1上Ping SW3,他们之间是通的,说明VLAN 10到VLAN30
是有有效路由的。再从R1 ping R2,可以看到ping不通。
7、在SW1上查看路由表,可以看到SW1上并没有直连192.168.20.0/24网段,也没有配置任何静态路
由或动态路由,因此SW1上并没有到达VLAN20的路由条目,所以R1ping不通R2。对于VLAN40也是同样
的道理。
8、现在我们在SW1和SW2上配置OSPF协议。
SW1:
ospf
 area 0
 network 192.168.0.0 0.255.255.255

SW1:
ospf
 area 0
 network 192.168.0.0 0.255.255.255

9、配置完OSPF后,再次查看SW1和SW2的路由表,可以看到SW1和SW2通过OSPF已经学习到了到
192.168.20.2/24和192.168.40.0/24网络的路由。
10、再次验证R1到R2的联通性,已经可以ping通。

发表评论