二、VLAN配置:VLAN原理、Access与Trunk端口配置、VLAN间路由、VLAN划分实战
VLAN,说白了就是“逻辑上的物理隔离”。
你想想看,一个交换机本来所有端口都在一个广播域里。谁发个广播,全网络都收到。这就像一个大办公室,所有人都在一个开放空间里说话,隔壁部门讨论什么机密,你听得一清二楚。这显然不行。
VLAN就是给这个办公室装上隔断。把不同部门的人分到不同房间。虽然大家还在同一栋楼(同一台交换机),但互相看不见、听不着。这就是VLAN的核心价值——隔离广播域,提升安全性和网络效率。
2.1 VLAN原理:为什么需要它?
我记得刚入行那会儿,给一家公司做网络改造。他们整个公司就一个扁平网络,两百多台电脑全在一个广播域里。一到下午高峰期,全网卡得像幻灯片。抓包一看,ARP广播风暴占了带宽的60%。
这就是典型的“广播域过大”问题。VLAN能解决这个痛点。每个VLAN就是一个独立的广播域。VLAN内的广播只在VLAN内部传播,不会跑到别的VLAN里去。
核心要点:
- VLAN = 虚拟局域网,逻辑上分割广播域
- 同一VLAN内的设备可以直接通信(二层)
- 不同VLAN间的设备默认不能通信(需要三层路由)
- VLAN ID范围:1-4094,其中1是默认VLAN(通常不建议用)
嗯,这里要注意:VLAN的隔离是二层隔离。如果你想让不同VLAN之间通信,必须通过三层设备(路由器或三层交换机)来做路由转发。这个我们后面会讲。
2.2 Access端口与Trunk端口:两种链路类型
配置VLAN,你首先得搞明白端口类型。我见过不少新手在这上面栽跟头。说白了,就两种:Access口和Trunk口。
2.2.1 Access端口
Access口,也叫接入端口。它只属于一个VLAN。连接终端设备(PC、打印机、服务器)时,基本都用Access口。
特点:
- 端口只属于一个VLAN(PVID)
- 收到的数据帧不带VLAN标签时,打上PVID标签
- 发送数据帧时,剥离VLAN标签(终端设备不识别标签)
配置示例(华为设备):
# 进入接口视图
[Switch] interface GigabitEthernet 0/0/1
# 配置端口类型为Access
[Switch-GigabitEthernet0/0/1] port link-type access
# 将端口划分到VLAN 10
[Switch-GigabitEthernet0/0/1] port default vlan 10
我的习惯:配置Access口时,我通常会先确认对端设备是什么。如果是PC,Access口没问题。如果是交换机互联,千万别用Access,否则VLAN信息就丢了。
2.2.2 Trunk端口
Trunk口,也叫干道端口。它允许承载多个VLAN的流量。交换机之间互联、交换机与路由器互联,都用Trunk口。
特点:
- 端口可以属于多个VLAN
- 默认允许所有VLAN通过(可以限制)
- 数据帧带着VLAN标签传输(保留VLAN信息)
- 有一个Native VLAN(默认VLAN 1),该VLAN的帧不带标签
配置示例(华为设备):
# 进入接口视图
[Switch] interface GigabitEthernet 0/0/24
# 配置端口类型为Trunk
[Switch-GigabitEthernet0/0/24] port link-type trunk
# 允许VLAN 10和VLAN 20通过
[Switch-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20
# 设置Native VLAN(可选,建议保持默认)
[Switch-GigabitEthernet0/0/24] port trunk pvid vlan 1
我曾经踩过的坑:有一次配置Trunk口时,忘了设置允许通过的VLAN列表。结果所有VLAN的流量都跑过去了,包括一些不该通的VLAN。后来排查了半天才发现是Trunk口没做限制。所以,我建议你养成习惯:Trunk口一定要明确指定允许哪些VLAN通过,别偷懒用默认的“允许所有”。
2.3 VLAN间路由:让不同VLAN能通信
VLAN隔离了广播域,但业务上不同部门之间总得通信吧?比如财务部(VLAN 10)要给人事部(VLAN 20)发个邮件。这时候就需要VLAN间路由。
实现方式有两种:
| 方式 | 原理 | 适用场景 | 优缺点 |
|---|---|---|---|
| 单臂路由 | 路由器的一个物理接口,通过子接口连接多个VLAN | 小型网络,路由器性能足够 | 配置简单,但路由器成为瓶颈 |
| 三层交换机 | 交换机内部集成路由功能,通过SVI接口实现VLAN间路由 | 中大型网络,性能要求高 | 速度快,配置稍复杂 |
我个人更推荐三层交换机方案。为什么?因为单臂路由把所有流量都压到路由器上,带宽和性能都受限。而三层交换机是硬件转发,速度接近线速。
三层交换机配置示例(华为设备):
# 创建VLAN
[Switch] vlan batch 10 20
# 创建VLANIF接口(SVI)
[Switch] interface Vlanif 10
[Switch-Vlanif10] ip address 192.168.10.1 255.255.255.0
[Switch] interface Vlanif 20
[Switch-Vlanif20] ip address 192.168.20.1 255.255.255.0
# 配置Trunk口连接下级交换机
[Switch] interface GigabitEthernet 0/0/1
[Switch-GigabitEthernet0/0/1] port link-type trunk
[Switch-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 20
配置完成后,VLAN 10的设备把网关指向192.168.10.1,VLAN 20的设备把网关指向192.168.20.1。它们就能互相通信了。
2.4 VLAN划分实战:一个完整的案例
光说不练假把式。我们来看一个实际场景。
场景描述:某公司有3个部门:研发部、市场部、财务部。要求:
- 各部门内部可以互通
- 部门之间默认不能互通(通过ACL控制,后续章节讲)
- 所有部门都能访问公司服务器(VLAN 100)
规划方案:
| 部门 | VLAN ID | 网段 | 网关 |
|---|---|---|---|
| 研发部 | 10 | 192.168.10.0/24 | 192.168.10.1 |
| 市场部 | 20 | 192.168.20.0/24 | 192.168.20.1 |
| 财务部 | 30 | 192.168.30.0/24 | 192.168.30.1 |
| 服务器区 | 100 | 192.168.100.0/24 | 192.168.100.1 |
配置步骤:
- 在核心交换机上创建VLAN 10、20、30、100
- 配置各VLAN的SVI接口IP地址
- 将接入交换机的端口划分到对应VLAN(Access口)
- 接入交换机与核心交换机之间配置Trunk口
- 服务器区端口配置为Access口,属于VLAN 100
核心交换机配置示例:
# 创建VLAN
[Core] vlan batch 10 20 30 100
# 配置SVI接口
[Core] interface Vlanif 10
[Core-Vlanif10] ip address 192.168.10.1 24
[Core] interface Vlanif 20
[Core-Vlanif20] ip address 192.168.20.1 24
[Core] interface Vlanif 30
[Core-Vlanif30] ip address 192.168.30.1 24
[Core] interface Vlanif 100
[Core-Vlanif100] ip address 192.168.100.1 24
# 配置Trunk口连接接入交换机
[Core] interface GigabitEthernet 0/0/1
[Core-GigabitEthernet0/0/1] port link-type trunk
[Core-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 20 30 100
接入交换机配置示例(以连接研发部为例):
# 创建VLAN
[Access] vlan batch 10
# 配置上联口为Trunk
[Access] interface GigabitEthernet 0/0/24
[Access-GigabitEthernet0/0/24] port link-type trunk
[Access-GigabitEthernet0/0/24] port trunk allow-pass vlan 10
# 配置下联口为Access,划分到VLAN 10
[Access] interface GigabitEthernet 0/0/1
[Access-GigabitEthernet0/0/1] port link-type access
[Access-GigabitEthernet0/0/1] port default vlan 10
避坑指南:我曾经在配置接入交换机时,忘了配置上联口的Trunk类型。结果研发部的PC死活ping不通网关。查了半天,发现上联口默认是Access口,只允许VLAN 1通过。VLAN 10的流量全被丢弃了。所以,上联口一定要配成Trunk,并且允许对应VLAN通过。
配置完成后,各部门内部可以互通。不同部门之间默认不通,因为VLAN隔离了。如果需要部门间通信,可以在核心交换机上配置ACL策略来控制。
嗯,VLAN这块内容就这些。说白了就是:Access口连终端,Trunk口连交换机,SVI接口做路由。记住这个口诀,配置起来就顺了。
公众号:蓝海资料掘金营,微信deep3321