划分VLAN的方式有:基于接口、基于MAC地址、基于IP子网、基于协议、基于策略(MAC地址、IP地址、接口)。
VLAN(虚拟局域网)可以按照以下几种方式进行划分:
端口划分方式
将交换机端口按照需要划分成不同的VLAN,同一VLAN中的设备可以直接通信,不同VLAN之间的设备需要通过路由器进行通信。这种方式使用场景适合较小的网络环境,如办公室或部门网络。
参考:https://editor.csdn.net/md/?articleId=132023048
MAC地址划分方式:
将同一MAC地址范围内的设备分到同一个VLAN中,不同MAC地址范围之间的设备需要通过路由器进行通信。这种方式使用场景适合需要划分成多个VLAN的大型网络环境,如校园网络。
配置 s1 (三层交换机)交换机:
[s1]vlan 10
[s1-vlan10]
[s1]int eth0/0/1
[s1]port link-type hybrid
[s1]port hybrid tagged vlan 10
[s1]interface Vlanif 10
[s1-Vlanif10]ip address 192.168.10.1 24
[s1]display ip interface brief
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
The number of interface that is UP in Physical is 3
The number of interface that is DOWN in Physical is 1
The number of interface that is UP in Protocol is 2
The number of interface that is DOWN in Protocol is 2
Interface IP Address/Mask Physical Protocol
MEth0/0/1 unassigned down down
NULL0 unassigned up up(s)
Vlanif1 unassigned up down
Vlanif10 192.168.10.1/24 up up
[s1]display ip interface brief Vlanif 10
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
Interface IP Address/Mask Physical Protocol
Vlanif10 192.168.10.1/24 up up
配置 s2 (二层交换机)交换机:
# 配置 1 口为 hybird tagged vlan 10
[s2-Ethernet0/0/1]port link-type hybrid # 貌似可写可不写
[s2-Ethernet0/0/1]port hybrid tagged vlan 10
# 配置 3 和 4 口为 hybrid untagged vlan 10, 因为和主机相连
[s2-Ethernet0/0/1]int eth0/0/3
[s2-Ethernet0/0/3]port hybrid untagged vlan 10
[s2-Ethernet0/0/3]int eth0/0/4
[s2-Ethernet0/0/4]port hybrid untagged vlan 10
# 开启 3 和 4 口 mac-vlan enable
[s2-Ethernet0/0/4]mac-vlan enable
Info: This operation may take a few seconds. Please wait for a moment...done.
[s2-Ethernet0/0/4]int eth0/0/3
[s2-Ethernet0/0/3]mac-vlan enable
Info: This operation may take a few seconds. Please wait for a moment...done.
# 配置 mac-vlan,mac 是 6 个字节用 H-H-H 表示
[s2-Ethernet0/0/3]vlan 10
[s2-vlan10]mac-vlan mac-address 5489-9813-1427
[s2-vlan10]mac-vlan mac-address 5489-98BB-7B24
PC2、PC3 ping s1
PC>ping 192.168.10.1
Ping 192.168.10.1: 32 data bytes, Press Ctrl_C to break
From 192.168.10.1: bytes=32 seq=1 ttl=255 time=47 ms
From 192.168.10.1: bytes=32 seq=2 ttl=255 time=46 ms
From 192.168.10.1: bytes=32 seq=3 ttl=255 time=47 ms
From 192.168.10.1: bytes=32 seq=4 ttl=255 time=47 ms
From 192.168.10.1: bytes=32 seq=5 ttl=255 time=47 ms
--- 192.168.10.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 46/46/47 ms
以上操作是将机器的 mac 绑定到 vlan 地址上,而不是将 vlan 绑定死在某个交换机设备的 access (hybrid untagged)接口上。
vlan mac 是针对交换机 vlan 的配置,但是每个交换机所有端口(如果需要通过 vlan mac 帧数据的话)还是都得配置针对 mac vlan 做 enable 配置。
- 这里使用 hybrid untagged 接口,因为这里使用和连接的是 PC 发送的是不带 tagged 的帧,(我们这里处理的是普通 vlan 情况不是 QinQ 双层vlan)
- mac vlan 只能在 hybrid 口上配置。
子网划分方式(基于网络层划分):
将不同的子网分配到不同的VLAN中,同一子网内的设备可以直接通信,不同子网之间的设备需要通过路由器进行通信。这种方式使用场景适合需要更精细的网络管理,如数据中心网络。
配置 s1 交换机
[s1]vlan 10
[s1-vlan10]int eth0/0/1
[s1-Ethernet0/0/1]port link-type hybrid
[s1-Ethernet0/0/1]port hybrid untagged vlan 10
[s1-Ethernet0/0/1]int eth0/0/2
[s1-Ethernet0/0/2]port link-type hybrid
[s1-Ethernet0/0/2]port hybrid untagged vlan 10
[s1]int eth0/0/3
[s1-Ethernet0/0/3]port link-type trunk
[s1-Ethernet0/0/3]port trunk allow-pass vlan 10
[s1-Ethernet0/0/3]vlan 10
[s1-vlan10]ip-subnet-vlan ip 192.168.10.0 24
[s1-Ethernet0/0/3]int eth0/0/1
[s1-Ethernet0/0/1]ip-subnet-vlan enable
[s1-Ethernet0/0/1]int eth0/0/2
[s1-Ethernet0/0/2]ip-subnet-vlan enable
配置 s2 交换机
# 注意这里没有配置基于 subnet 的 vlan
[s2]int eth0/0/1
[s2-Ethernet0/0/1]port link-type trunk
[s2-Ethernet0/0/1]port trunk allow-pass vlan 10
从 pc 1 上,分别 ping pc 3 和 pc 2
# 二层中,ping 不到 10.3。 是因为二层交换机 s2 上,没有配置 基于 ip subnet vlan
PC>ping 192.168.10.3
Ping 192.168.10.3: 32 data bytes, Press Ctrl_C to break
From 192.168.10.1: Destination host unreachable
From 192.168.10.1: Destination host unreachable
From 192.168.10.1: Destination host unreachable
From 192.168.10.1: Destination host unreachable
From 192.168.10.1: Destination host unreachable
--- 192.168.10.3 ping statistics ---
5 packet(s) transmitted
0 packet(s) received
100.00% packet loss
# s1 上配置了 ip subnet vlan
PC>ping 192.168.10.2
Ping 192.168.10.2: 32 data bytes, Press Ctrl_C to break
From 192.168.10.2: bytes=32 seq=1 ttl=128 time=46 ms
From 192.168.10.2: bytes=32 seq=2 ttl=128 time=47 ms
From 192.168.10.2: bytes=32 seq=3 ttl=128 time=47 ms
From 192.168.10.2: bytes=32 seq=4 ttl=128 time=63 ms
From 192.168.10.2: bytes=32 seq=5 ttl=128 time=47 ms
--- 192.168.10.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 46/50/63 ms
- 如果使用 access 接口划分 vlan 的话,vlan 个数可能就和接口个数绑定了。如果通过 subnet 划分 vlan 的话,可以在一个设备上划分出多个超出接口个数的 subnet 和对映的 vlan。
- 机器只要接入到某个 subnet,那么就会属于某个 vlan。划分 subnet 就等于划分 vlan 了。
- 划分思想就是把用户计算机网卡的IP地址配置与某个vlan进行关联,不用考虑用户所连接的交换机端口,实现无论该用户连接在哪台交换机上的二层以太网端口都将保持所属的vlan属性不变
- 交换机需要解析源IP地址并进行相应转换,导致交换机响应速度慢。
协议划分方式(基于网络层划分):
将使用相同协议的设备分配到同一个VLAN中,可以提高网络性能和安全性。这种方式使用场景适合需要更加安全的网络环境,如金融机构或国家机关网络。
安全(策略)划分方式
将需要进行不同安全级别管理的设备分配到不同的VLAN中,可以提高网络安全性。这种方式使用场景适合需要更严格的网络安全管理,如军队或安全机构网络。
参考:
https://www.modb.pro/db/161294
https://support.huawei.com/enterprise/zh/doc/EDOC1000141427/8caa8ea1