一、VLAN简介
1.1 定义
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。
1.2 目的
早期的以太网是为简单、小型网络而设计的局域网技术,是基于CSMA/CD(Carrier Sense Multiple Access/Collision Detection),并采用共享介质的总线技术。随着时间的推移,局域网承载的数据类型越来越多,包括图形、语音和视频,面临的问题也更加突出。
- 产生冲突:网络中多台主机同时发送数据,造成冲突。主机越多,冲突越严重。
- 产生广播:网络中任意一台主机发送的数据都会被发送到其他所有主机,造成广播。主机越多,广播越泛滥。
- 加剧数据安全的隐患:网络中所有主机共享一台传输通道,无法有效控制数据安全。数据越复杂,数据安全的隐患越大。
虽然采用二层设备的组网架构,通过快速二层交换将数据控制在局域网范围内传输,能有效解决冲突的问题,但是广播和安全的问题依然存在。
为了减少广播,可以通过设置不同网段来实现主机之间的隔离,但是成本较高。在这种情况下,出现了VLAN(Virtual Local Area Network)技术。
VLAN技术可以把一个物理局域网划分成多个逻辑局域网,即多个VLAN。每个VLAN是一个广播域,使得VLAN内的主机可以互通,而VLAN间不能直接互通。这样,广播报文被限制在一个VLAN内,同时提高了网络安全性。
1.3 受益
使用VLAN能给用户带来以下受益。
- 限制广播域:广播域被限制在一个VLAN内,既节省带宽,又提高网络处理能力。
- 增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其他VLAN内的用户直接通信。
- 提高局域网的健壮性:局域网内的故障是隔离的,被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN内用户的正常工作。
- 灵活构建虚拟工作组:VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理位置,网络构建和维护更方便灵活。
二、VLAN原理
2.1 VLAN标签
2.1.1 定义
当一个局域网被划分为多个VLAN时,每个VLAN都用一个唯一的VLAN标签来标识。VLAN标签也称为VLAN Tag或802.1Q Tag。
2.1.2 格式
IEEE 802.1Q标准对传统Ethernet帧格式进行了修改,在源MAC地址字段和协议类型字段之间加入4字节的802.1Q Tag,形成了VLAN的帧格式。具体如下所示。
基于802.1Q的VLAN帧格式:

802.1Q Tag包含4个字段,其含义如下:
-
TPID:Tag Protocol Identifier,用来判断本VLAN帧是否带有802.1Q Tag,长度为16比特,缺省取值为0x8100。取值为0x8100时表示802.1Q Tag帧。如果不支持802.1Q协议的设备收到这样的帧,会将其丢弃。 各设备厂商可以自定义该字段的值。当邻居设备将TPID值配置为非0x8100时, 本设备为了能够识别这样的帧,实现与各厂家互通,必须在本设备上修改TPID值,确保和邻居设备的TPID值相同。
-
PRI:Priority,表示帧的优先级,长度为3比特,取值范围为0~7,值越大优先级越高。用于当设备阻塞时,优先发送优先级高的数据帧。
-
CFI:Canonical Format Indicator,表示MAC地址是否是标准格式,长度为1比特,取值范围为0或1,缺省取值为0。取值为0表示MAC地址以标准格式封装,取值为1表示MAC地址以非标准格式封装。
-
VID:VLAN ID,表示该帧所属的VLAN,长度为12比特,取值范围为0~4095。由于0和4095为协议保留取值,所以VLAN ID的有效取值范围为1~4094。
2.1.3 分类
每台支持802.1Q协议的设备利用VLAN ID来识别报文所属的VLAN,并根据报文是否携带VLAN Tag以及携带的VLAN Tag值,来对报文进行处理。因此,数据帧根据是否携带VLAN Tag,分为以下两种形式:
- 有标记帧(Tagged帧),加入了4字节802.1Q Tag的帧。
- 无标记帧(Untagged帧),原始的、未加入4字节802.1Q Tag的帧。
各类设备对Tagged帧、Untagged帧的支持情况不尽相同,通常来说:
- 用户主机、服务器、Hub、傻瓜交换机只能收发Untagged帧。
- 交换机、路由器、防火墙和WLAN AC既能收发Tagged帧,也能收发Untagged帧。
- 语音终端可以收发一个VLAN的Tagged帧或Untagged帧。
2.1.4 缺省VLAN
缺省VLAN又称为PVID(Port Default VLAN ID),每个接口都有缺省VLAN。
2.1.5 VLAN标签的添加和剥离
在配置了接口类型和缺省VLAN后,接口对数据帧的处理方式有几种不同情况,如表6-9所示。
为了提高设备对数据帧的处理效率,设备内部的数据帧一律都带有VLAN Tag,以便设备对这些数据帧以统一的方式处理。
表6-9 不同类型接口对数据帧的处理方式
| 接口类型 | 接收帧处理过程 | 发送帧处理过程 |
|---|---|---|
| access类型 | 判断数据帧的VLAN Tag: * 无Tag,则添加本接口PVID Tag。 * 有Tag,若Tag与PVID Tag相同,则允许该VLAN帧进入,否则丢弃。 | 先剥离帧的PVID Tag,然后再发送。 |
| trunk类型 | 判断数据帧VLAN Tag: * 无Tag,则添加本接口PVID Tag。当pvid在允许通过的VLAN ID列表里时,则允许该VLAN帧进入,否则丢弃。 * 有Tag,当该数据帧的VLAN ID在允许通过的VLAN ID列表里时,则允许该VLAN帧进入,否则丢弃。 | 判断VLAN在本接口的属性: * 如果是接口的PVID Tag,且是该接口允许通过的VLAN ID时,先剥离帧的PVID Tag,然后再发送。 * 如果不是接口的PVID Tag,且是该接口允许通过的VLAN ID时,则直接发送。否则丢弃。 |
| hybrid类型 | 判断数据帧VLAN Tag: * 无Tag,则添加本接口PVID Tag。当pvid在允许通过的VLAN ID列表里时,则允许该VLAN帧进入,否则丢弃。 * 有Tag,当该数据帧的VLAN ID在允许通过的VLAN ID列表里时,则允许该VLAN帧进入,否则丢弃。 | 判断VLAN在本接口的属性: * 如果是接口允许通过的VLAN ID时,可以通过trunk-vlans或者untag-vlans来设置是否先剥离帧的VLAN ID,然后再发送。 * 如果不是 |
上面所说的接口类型是什么?
以最常用的 display port vlan (华为/H3C) 为例,它的输出结果会像下面这样,你可以清晰地看到每个端口的链路类型(Link Type)和缺省VLAN(PVID):
Port Link Type PVID Trunk VLAN List
Ethernet0/0/1 access 10 -
GigabitEthernet0/0/2 trunk 1 1, 20, 30
GigabitEthernet0/0/3 hybrid 5 -
-
Link Type列显示端口类型(access,trunk,hybrid)。 -
PVID列显示该端口的缺省VLAN ID。 -
Trunk VLAN List列显示Trunk端口允许通过的VLAN列表。
2.2 同一VLAN内的互通原理
2.2.1 同设备VLAN内互通
如图6-21所示,用户主机Host1和Host2连接在同台设备上,属于同一VLAN2,且位于相同网段。
图6-21 同设备VLAN内互通

当用户主机Host1发送报文给用户主机Host2时,报文的发送过程如下(假设DeviceA还未建立任何转发表项)。
- Host1判断目的IP地址跟自己的IP地址在同一网段,于是发送ARP广播请求报文获取目的主机Host2的MAC地址,报文目的MAC地址填写全F,目的IP地址为Host2的IP地址10.1.1.3。
- 报文到达DeviceA的接口interface1,发现是Untagged帧,给报文添加VID=2的Tag(Tag的VID=接口的PVID),然后将报文的"源MAC地址+VID"与接口的对应关系(00e0-fc00-1111, 2, interface1)添加进MAC表。
- 根据报文"目的MAC地址+VID"查找DeviceA的MAC表,没有找到,于是在所有允许VLAN2通过的接口(本例中接口为interface2)广播该报文。
- DeviceA的接口interface2在发出ARP请求报文前,根据接口配置,剥离VID=2的Tag。
- Host2收到该ARP请求报文,将Host1的MAC地址和IP地址对应关系记录ARP表。然后比较目的IP与自己的IP,发现跟自己的相同,就发送ARP响应报文,报文中封装自己的MAC地址00e0-fc00-2222,目的IP为Host1的IP地址10.1.1.2。
- DeviceA的接口interface2收到ARP响应报文后,同样给报文添加VID=2的Tag。
- DeviceA将报文的"源MAC地址+VID"与接口的对应关系(00e0-fc00-2222, 2, interface2)添加进MAC表,然后根据报文的"目的MAC地址+VID"(00e0-fc00-1111, 2)查找MAC地址表,由于前面已记录,查找成功,向出接口interface1转发该ARP响应报文。
- DeviceA向出接口interface1转发前,同样根据接口配置剥离VID=2的Tag。
- Host1收到Host2的ARP响应报文,将Host2的MAC地址和IP地址对应关系记录ARP表。
2.2.2 跨设备VLAN内互通
如图6-22所示,用户主机Host1和Host2连接在不同的设备上,属于同一个VLAN2,且位于相同网段。为了识别和发送跨越设备的数据帧,设备与设备间通过干道链路连接,且允许携带VLAN2的报文通过。
当同一VLAN的用户处于不同网段时,无法通过DeviceA与DeviceB直接进行二层互通。可借助vlanif技术实现三层互通。
图6-22 跨设备VLAN内互通

当用户主机Host1发送报文给用户主机Host2时,报文的发送过程如下(假设DeviceA和DeviceB上还未建立任何转发表项)。
- Host1判断目的IP地址跟自己的IP地址在同一网段,于是发送ARP广播请求报文获取目的主机Host2的MAC地址,报文目的MAC地址填写全F,目的IP地址为Host2的IP地址10.1.1.3。
- 报文到达设备的接口interface1,发现是Untagged帧,给报文添加VID=2的Tag(Tag的VID=接口的PVID),然后将报文的"源MAC地址+VID"与接口的对应关系(00e0-fc00-1111, 2, interface1)添加进MAC表。
- 根据报文"目的MAC地址+VID"查找DeviceA的MAC表,没有找到,于是报文被广播到DeviceA的interface2接口。
- DeviceA的interface2接口在发出ARP请求报文前,因为接口的PVID=1,与报文的VID不相同,所以直接透传该报文到DeviceB的interface2接口,不剥离报文的Tag。
- DeviceB的interface2接口收到该报文后,判断报文的Tag中的VID=2是接口允许通过的VLAN,接收该报文。
- 根据报文"目的MAC地址+VID"查找DeviceB的MAC表,没有找到,于是报文被广播到DeviceB的interface1接口。
- DeviceB的接口interface1在发出ARP请求报文前,根据接口配置,剥离VID=2的Tag。
- Host2收到该ARP请求报文,将Host1的MAC地址和IP地址对应关系记录ARP表。然后比较目的IP与自己的IP,发现跟自己的相同,就发送ARP响应报文,报文中封装自己的MAC地址00e0-fc00-2222,目的IP为Host1的IP地址10.1.1.2。
- DeviceB的接口interface1收到ARP响应报文后,同样给报文添加VID=2的Tag,然后将报文的"源MAC地址+VID"与接口的对应关系(00e0-fc00-2222, 2, interface1)添加进MAC表。
- DeviceB向自己的出接口interface2转发Host2的ARP响应报文前,因为接口interface2为Trunk接口且PVID=1,与报文的VID不相同,所以直接透传报文到DeviceA的interface2接口,不剥离报文的Tag。
- DeviceA的interface2接口收到Host2的ARP响应报文后,判断报文的Tag中的VID=2是接口允许通过的VLAN,接收该报文。
- DeviceA将报文的"源MAC地址+VID"与接口的对应关系(00e0-fc00-2222, 2, interface2)添加进MAC表,然后根据报文的"目的MAC地址+VID"(00e0-fc00-1111, 2)查找MAC地址表,由于前面已记录,查找成功,向出接口interface1转发该ARP响应报文。
- DeviceA向出接口interface1转发前,同样根据接口配置,剥离VID=2的Tag。
- Host1收到Host2的ARP响应报文,将Host2的MAC地址和IP地址对应关系记录ARP表。
由此可见,干道链路除了支持传输多个VLAN的数据帧外,还起到透传VLAN的作用,即干道链路上,数据帧只会转发,不会发生Tag的添加或剥离。
2.3 不同VLAN间的互通原理
2.3.1 同设备VLAN间互通(VLANIF接口)
如图6-23所示,用户主机Host1和Host2连接在同台设备上,分别属于VLAN2和VLAN3,并位于不同的网段。在DeviceA上分别创建VLANIF2和VLANIF3并配置其IP地址,然后将用户主机的缺省网关设置为所属VLAN对应VLANIF接口的IP地址。
图6-23 通过VLANIF实现同设备VLAN间互访

当用户主机Host1发送报文给用户主机Host2时,报文的发送过程如下(假设DeviceA上还未建立任何转发表项)。
- Host1判断目的IP地址跟自己的IP地址不在同一网段,因此,它发出请求网关MAC地址的ARP请求报文,目的IP为网关IP地址10.1.1.1,目的MAC为全F。
- 报文到达DeviceA的接口interface1,DeviceA给报文添加VID=2的Tag(Tag的VID=接口的PVID),然后将报文的"源MAC地址+VID+接口"的对应关系(00e0-fc00-1111, 2,interface1)添加进MAC表。
- DeviceA检查报文是ARP请求报文,且目的IP是自己VLANIF2接口的IP地址,给Host1应答,并将VLANIF2接口的MAC地址00e0-fc00-3333封装在应答报文中,应答报文从interface1发出前,剥掉VID=2的Tag。同时,DeviceA会将Host1的IP地址与MAC地址的对应关系记录到ARP表。
- Host1收到DeviceA的应答报文,将DeviceA的VLANIF2接口的IP地址与MAC地址对应关系记录到自己的ARP表中,并向DeviceA发送目的MAC为00e0-fc00-3333、目的IP为Host2的IP地址 10.2.2.2的报文。
- 报文到达DeviceA的接口interface1,同样给报文添加VID=2的Tag。
- DeviceA根据报文的"源MAC地址+VID+接口"的对应关系更新MAC表,并比较报文的目的MAC地址与VLANIF2的MAC地址,发现两者相等,进行三层转发,根据目的IP查找三层转发表,没有找到匹配项,上送CPU查找路由表。
- CPU根据报文的目的IP去找路由表,发现匹配了一个直连网段(VLANIF3对应的网段),于是继续查找ARP表,没有找到,DeviceA会在目的网段对应的VLAN3的所有接口发送ARP请求报文,目的IP是10.2.2.2。从接口interface2发出前,根据接口配置,剥掉VID=2的Tag。
- Host2收到ARP请求报文,发现请求IP是自己的IP地址,就发送ARP应答报文,将自己的MAC地址包含在其中。同时,将VLANIF3的MAC地址与IP地址的对应关系记录到自己的ARP表中。
- DeviceA的接口interface2收到Host2的ARP应答报文后,给报文添加VID=3的Tag,并将Host2的MAC和IP的对应关系记录到自己的ARP表中。然后,将Host1的报文转发给Host2,发送前,同样剥离报文中的Tag。同时,将Host2的IP地址、MAC地址、VID及出接口的对应关系记录到三层转发表中。
至此,Host1完成对Host2的单向访问。Host2访问Host1的过程与此类似。
2.3.2 跨设备VLAN间互通(VLANIF接口)
由于VLANIF接口的IP地址只能在设备上生成直连路由,当不同VLAN的用户跨多台设备互访时,除配置VLANIF接口的IP地址外,还需要配置静态路由或运行动态路由协议。
如图6-24所示,用户主机Host1和Host2连接在不同的设备上,分别属于VLAN2和VLAN3,并位于不同的网段。主机与设备之间使用Access接口,设备之间使用Trunk接口。在DeviceA上分别创建VLANIF2和VLANIF4,配置其IP地址为10.1.1.1和10.1.4.1;在DeviceB上分别创建VLANIF3和VLANIF4,配置其IP地址为10.1.2.1和10.1.4.2,并在DeviceA和DeviceB上分别配置静态路由。DeviceA上静态路由的目的网段是10.1.2.0/24,下一跳是10.1.4.2;DeviceB上静态路由的目的网段是10.1.1.0/24,下一跳是10.1.4.1。
图6-24 通过VLANIF实现跨设备VLAN间互访

当用户主机Host1发送报文给用户主机Host2时,报文的发送过程如下(假设DeviceA和DeviceB上还未建立任何转发表项)。
- 与 同设备VLAN间互通(VLANIF接口)的步骤1~6一样,经过"Host1比较目的IP地址--->Host1查ARP表--->Host1获取网关MAC地址--->Host1将发给Host2的报文送到DeviceA--->DeviceA查MAC表--->DeviceA查三层转发表"的过程,DeviceA上送CPU查找路由表。
- DeviceA的CPU根据报文的目的IP 10.1.2.2去找路由表,发现匹配了一条静态路由,目的网段是10.1.2.0/24的下一跳IP地址为10.1.4.2,于是继续查找ARP表,没有找到,DeviceA会在下一跳IP地址对应的VLAN4的所有接口发送ARP请求报文,目的IP是10.1.4.2。报文从DeviceA的接口interface2发出前,根据接口配置,直接透传该报文到DeviceB的interface2接口,不剥除报文的Tag。
- ARP请求报文到达DeviceB后,发现目的IP为VLANIF4接口的IP地址,给DeviceA回应,填写VLANIF4接口的MAC地址。
- DeviceB的ARP响应报文从其interface2直接透传到DeviceA,DeviceA接收后,记录VLANIF4的MAC地址与IP地址的对应关系到ARP表项。
- DeviceA将Host1的报文转发给DeviceB,报文的目的MAC修改为DeviceB的VLANIF4接口的MAC地址,源MAC地址修改自己的VLANIF4接口的MAC地址,并将刚用到的转发信息记录在三层转发表中(10.1.2.0/24, 下一跳IP的MAC地址, 出口VLAN, 出接口)。同样,报文是直接透传到DeviceB的interface2接口。
- DeviceB收到DeviceA转发的Host1的报文后,与同设备VLAN间互通(VLANIF接口)的步骤6~9一样,经过"查MAC表--->查三层转发表--->送CPU--->匹配直连路由--->查ARP表并获取Host2的MAC地址--->将Host1的报文转发给Host2"的过程,同时将Host2的IP地址、MAC地址、出口VLAN、出接口记录到三层转发表项。
至此,Host1完成对Host2的单向访问。Host2访问Host1的过程与此类似。
三、linux 如何创建VLAN
在某些场景中,我们希望在Linux服务器(CentOS / RHEL)上的同一网卡分配来自不同VLAN的多个ip。这可以通过启用VLAN标记接口来实现,但要实现这一点,首先必须确保交换机上添加多个vlan。
假设我们有一个Linux服务器,其中有两个以太网卡(ens33和ens38),第一个网卡(ens33)用于数据流量,第二个网卡(ens38)用于控制/管理流量。对于数据流,将使用多个vlan(将在数据流网卡上分配来自不同vlan的多个ip)。
假设从交换机连接到服务器数据流量网卡的端口被配置为Trunk,通过映射多个vlan到它。下面是映射到数据流量网卡的vlan:
VLAN ID (200),172.168.10.0/24
VLAN ID (300),172.168.20.0/24
在CentOS 7 /RHEL 7 / CentOS 8 /RHEL 8系统上使用VLAN标记接口,必须加载内核模块8021q。
使用以下命令加载内核模块"8021q"
# 先列出模块,发现没有8021q模块。
[root@localhost ~]# lsmod | grep -i 8021q
# 加载模块
[root@localhost ~]# modprobe --first-time 8021q
[root@localhost ~]# lsmod | grep -i 8021q
8021q 33080 0
garp 14384 1 8021q
mrp 18542 1 8021q
# 创建vlan 200和vlan 300
[root@localhost ~]# ip link add link ens33 name ens33.200 type vlan id 200
[root@localhost ~]# ip link add link ens33 name ens33.300 type vlan id 300
发现ens33.200和ens33.300的链路状态为DOWN,下面启用它们。
# 启用vlan 200 和vlan 300
[root@localhost ~]# ip link set ens33.200 up
[root@localhost ~]# ip link set ens33.300 up
下面为两个vlan 分配ip地址:
[root@localhost ~]# ip address add 172.168.10.51/24 dev ens33.200
[root@localhost ~]# ip address add 172.168.20.51/24 dev ens33.300
可以看到ens33.200和ens33.300已经配置好ip地址了。
但是上面使用ip address添加的VLAN和地址不会永久生效的。重启系统之后都不存在了。我们需要把这些配置保存在配置文件里面。
首先修改ifcfg-ens33的配置文件,其次创建ifcfg-ens33.200和ifcfg-ens33.300配置文件:
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=none
DEVICE=ens33
ONBOOT=yes
接下来为vlan 200创建配置文件,命名为ifcfg-ens33.200
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33.200
DEVICE=ens33.200
BOOTPROTO=none
ONBOOT=yes
IPADDR=172.168.10.51
PREFIX=24
NETWORK=172.168.10.0
VLAN=yes
接下来为vlan 300创建配置文件,命名为ifcfg-ens33.300
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33.300
DEVICE=ens33.300
BOOTPROTO=none
ONBOOT=yes
IPADDR=172.168.20.51
PREFIX=24
NETWORK=172.168.20.0
VLAN=yes
编辑完配置文件,重启一下网络服务。
[root@localhost ~]# systemctl restart network
四、VLAN 的配置划分
4.1 配置同一VLAN内的互通
VLAN划分方式差异表:
| VLAN划分方式 | 原理 | 优点 | 缺点 |
|---|---|---|---|
| 基于接口划分VLAN | 根据设备的接口编号来划分VLAN。 网络管理员给设备的每个接口配置不同的PVID,即一个接口缺省属于的VLAN。 * 当一个数据帧进入设备接口时,如果没有带VLAN标签,且该接口上配置了PVID,那么,该数据帧就会被打上接口的PVID。 * 如果进入的帧已经带有VLAN标签,那么设备不会再增加VLAN标签,即使接口已经配置了PVID。 对VLAN帧的处理由接口类型决定。 | 定义成员简单。 | 成员移 |
4.1.1 配置基于接口划分VLAN
背景信息:
基于接口划分VLAN是最简单、最有效的VLAN划分方式。它按照设备的接口来定义VLAN成员,将指定接口加入到指定VLAN中之后,接口就可以转发该VLAN的报文,从而实现VLAN内的主机可以直接互通(即二层互通),而VLAN间的主机不能直接互通,将广播报文限制在一个VLAN内。
4.1.2 举例:配置基于接口划分VLAN,实现同一VLAN内的互通(同设备)
组网需求:
如图6-25所示,把连接Host1和Host2的接口划分到VLAN2,把连接Host3和Host4的接口划分到VLAN3,实现同一VLAN内的主机可以通信,不同VLAN内的主机不能直接二层通信。
- Host1和Host2可以互相通信,Host3和Host4可以互相通信。
- Host1和VLAN3内的Host3、Host4不能互相通信,Host2和VLAN3内的Host3、Host4不能互相通信。
图6-25 基于接口划分VLAN组网图(同设备)

VLAN2的主机无法Ping通VLAN3内的主机,但是同一VLAN内的主机可以互相Ping通。
4.1.3 举例:配置基于接口划分VLAN,实现同一VLAN内的互通(跨设备)
组网需求:
如图6-26所示,把Host1、Host3划分到VLAN2,把Host2、Host4划分到VLAN3。DeviceA与DeviceC、DeviceC与DeviceB之间相连的链路允许VLAN2和VLAN3的报文通过。希望实现DeviceA和DeviceB下属于同一VLAN内的主机可以直接通信,属于不同VLAN间的主机不能直接进行二层通信。
图6-26 基于接口划分VLAN组网图(跨设备)

操作步骤:
1、配置DeviceA、DeviceB与主机相连的接口为Hybrid类型的接口,并将Host1、Host3划分到VLAN2,将Host2、Host4划分到VLAN3。
2、配置DeviceA与DeviceC、DeviceB与DeviceC之间的链路为干道链路
在DeviceA和DeviceB下,属于相同VLAN2或相同VLAN3内的主机之间能够互相Ping通,并且VLAN2的主机无法Ping通VLAN3内的主机。
4.2 配置不同VLAN间的互通
4.2.1 了解不同VLAN间的互通
不同VLAN间的用户要实现互通,如果是不同网段用户,常用的技术为Vlanif技术。
Vlanif接口是一种三层的逻辑接口,能实现不同VLAN间,不同网段的用户进行三层互通。由于配置较为简单,是实现VLAN间互通最常用的一种技术。
每个VLAN对应一个Vlanif接口,在为Vlanif接口配置IP地址后,该接口即可作为本VLAN内用户的缺省网关,对需要跨网段的报文进行基于IP地址的三层转发。
如果存在多个不同网段的情况,而这些网段的用户都需要实现互通,则需要在Vlanif接口上配置一个主IP地址和多个从IP地址。
4.2.2 配置Vlanif接口实现不同VLAN间的互通
前提条件:
在配置Vlanif接口实现不同VLAN间的互通之前,需完成以下任务:
VLAN已经创建,详见"VLAN的创建"。
背景信息:
Vlanif接口是一种三层的逻辑接口,能实现不同VLAN间,不同网段的用户进行三层互通。由于配置较为简单,是实现VLAN间互通最常用的一种技术。
每个VLAN对应一个Vlanif接口,在为Vlanif接口配置IP地址后,该接口即可作为本VLAN内用户的缺省网关,对需要跨网段的报文进行基于IP地址的三层转发。
4.2.3 举例:配置Vlanif接口实现不同VLAN间的互通(同设备)
组网需求:
DeviceA下的主机被划分到不同的VLAN中,分别是VLAN2和VLAN3,且位于不同的网段。希望实现VLAN2和VLAN3之间相互通信。
图6-27 配置vlanif接口实现不同VLAN间的互通组网图(同设备)

操作步骤
- 创建VLAN。
- 将接口加入VLAN。
- 配置Vlanif接口的IP地址。
检查配置结果:
在VLAN2中的主机上配置IP地址为10.10.10.1/24,缺省网关为接口Vlanif2的IP地址10.10.10.2/24,在VLAN3中的主机上配置IP地址为10.10.20.1/24,缺省网关为接口Vlanif3的IP地址10.10.20.2/24。配置完成后,VLAN2中的主机与VLAN3中的主机能够相互Ping通。