华为交换机VLAN+Trunk实战:部门网络隔离与ACL安全配置
2026/9/17 6:40:51 网站建设 项目流程

行政部财务那边突然打来电话,说整层楼电脑集体掉线,过去一看,技术部新来的同事为了测试环境,拿一台笔记本在公司网线口上开了DHCP服务。不到十分钟,行政部几十台机器全拿到了错误的IP地址。这种事在混合办公网络里太常见了——技术部要灵活,行政部要稳定,财务部要安全,三个诉求挤在一台交换机上,早晚出事。后来我用了华为交换机的VLAN+Trunk方案,把整个办公网按部门拆成独立的广播域,同时用Trunk把多台交换机串联起来,行政部、技术部各走各的VLAN,三层交换机上再做访问控制,这个问题才算彻底解决。这篇文章就从需求分析、VLAN原理、华为交换机具体配置命令到排错验证,把整个实战过程完整记录下来。

1. 为什么行政部与技术部必须隔离:先想清楚需求再动手

很多人一听到网络隔离,第一反应就是"把VLAN配上就完事了"。但如果不把需求梳理清楚,配置做完了也会发现一堆问题:要么该通的业务不通了,要么不该通的还通着,最后还得返工。所以动手配置之前,我会先花半天时间把网络现状、部门规模和业务依赖摸清楚。

1.1 一个典型的中型公司网络现状

以我这次实施的项目为例,公司大概300人规模,5个主要部门:行政部、技术部、财务部、人事部、销售部。其中行政部约100台终端,技术部约50台终端,财务部约20台终端,其他部门加起来还有几十台。全公司原来就靠一台48口的二层交换机和几台小交换机凑合着组网,所有部门都在同一个二层广播域里。

这种网络的痛点很明显:

  • 广播风暴影响面大:一台机器发ARP广播,全网所有机器都能收到,终端数量多了以后网络性能明显下降。
  • DHCP冲突无解:谁只要接一台开了DHCP服务的设备进网,全网都可能拿到错误地址,这也是开头那个事故的根因。
  • 安全隐患突出:技术部的测试机器和行政部的财务电脑在同一网络里,任何人都可以直接访问共享文件夹,没有任何边界。
  • 故障排查困难:网络一卡,你很难判断是哪个部门、哪台设备引起的,因为所有流量混在一起。

1.2 隔离的本质:广播域隔离与访问边界控制

网络隔离要解决两个层面的问题。第一层是二层隔离,也就是广播域隔离——让行政部的广播帧不会传到技术部去,反过来也一样。VLAN干的第一件事就是这个。第二层是三层访问控制——部门之间如果需要通信,比如技术部要访问公司服务器,或者行政部要访问财务系统,你必须能控制谁可以访问谁不可以访问,这是ACL(访问控制列表)和防火墙干的事。

很多人会忽略第二层,以为配了VLAN就"隔离"了。实际上VLAN之间只要有三层接口(VLANIF)就可以互相路由通信,如果不在三层做限制,隔离等于白做。我这次方案里,就是先用VLAN把广播域切碎,再用ACL把跨部门的流量卡住,两层配合才算是真正意义上的安全隔离。

1.3 VLAN规划前的部门规模梳理

在敲定VLAN ID之前,我建议把每个部门的终端数量、IP打印设备数量、是否有服务器访问需求都列一张表。这个表就是后面所有配置的依据。

部门预估终端数VLAN ID子网网关访问需求
行政部100+10192.168.10.0/24192.168.10.254互联网、OA、共享文件
技术部50+20192.168.20.0/24192.168.20.254互联网、服务器区、测试环境
财务部20+30192.168.30.0/24192.168.30.254财务系统、互联网,访问范围最小
人事部20+40192.168.40.0/24192.168.40.254OA、互联网
服务器区若干50192.168.50.0/24192.168.50.254仅接受业务端口访问

VLAN ID我习惯从10开始编,留出1到9给管理用途或者后续特殊需求。子网统一用24位掩码,每个部门一个C段,这样后续配ACL规则时,直接用网段做匹配条件,清晰又不费脑。IP地址规划是整套网络的地基,这一步千万别偷懒。

2. VLAN与Trunk工作机制:理解802.1Q才能少走弯路

说实话,VLAN命令本身不难,难的是理解数据帧在交换机里到底是怎么走的。很多初学者配完命令发现不通,往往就是没搞懂Access口和Trunk口对VLAN标签的处理逻辑。这里我用最直白的方式把802.1Q和PVID讲透。

2.1 Access口:一根线对应一个VLAN

Access口也叫接入端口,专门用来连接终端设备(电脑、打印机、IP电话)。它的逻辑很简单:一个Access口只能属于一个VLAN,从终端收到不带标签的数据帧后,交换机给它打上这个VLAN的标签;往终端发送数据时,把标签剥离掉再发出去。

也就是说,终端感知不到VLAN标签的存在,它只知道自己在一个普通的二层网络里。这也是为什么配置Access口的时候只需要告诉交换机"这个口属于VLAN 10",命令就一行,port default vlan 10

2.2 Trunk口:一根线承载多个VLAN

Trunk口正好相反,它通常是交换机和交换机之间的级联口,或者交换机连接路由器/防火墙的口。Trunk口允许多个VLAN的数据帧通过,而且数据帧带着802.1Q的VLAN标签在链路上跑,到了对端交换机后根据标签判断该转发到哪个VLAN。

打个比方:Access口就像每户人家的大门,只对应一户;Trunk口就像楼里的主干管道,里面同时跑着各家各户的水管,每根水管上贴了标签,到了楼下再分流到对应住户。802.1Q标签就是这个管道上贴的门牌号。

2.3 PVID与Native VLAN:华为配置里最容易踩的坑

PVID(Port VLAN ID)是端口的默认VLAN ID。当Trunk口收到一个不带VLAN标签的数据帧时,交换机会默认把它归类到PVID对应的VLAN里。在华为交换机上手动配置Trunk时,你会看到这样的命令:

port trunk pvid vlan 10

这条命令的意思是:这个Trunk端口的Native VLAN(本征VLAN)是10。Native VLAN的数据帧在Trunk链路上传输时不打标签,因为两端交换机都默认这个VLAN是"本征"的,不需要标签也能识别。

这个机制在实际项目中非常容易出问题。如果Trunk两端交换机的PVID配置不一致——比如一边是VLAN 10,另一边是VLAN 20——那么不带标签的帧到了对端就会被划分到错误的VLAN里,直接导致"看着链路是通的,但数据就是到不了"的诡异现象。我的习惯是:所有Trunk口两端统一把PVID设置为主管理VLAN,并且保持一致,避免任何歧义。

2.4 VLAN间通信为什么需要三层设备

同一台交换机上,VLAN 10和VLAN 20之间默认是不通的,因为它们是两个独立的二层广播域。如果这两个VLAN里的终端需要互相访问,就必须走三层路由。

华为交换机里,配置了VLANIF接口后,交换机就变成了三层交换机——VLANIF接口就是每个VLAN对应的虚拟三层口,给它配上IP地址,它就是该VLAN内所有终端的网关。终端发往其他VLAN的流量会先到达本VLAN的网关,然后由交换机根据路由表决定转发到目标VLAN。这也就是标题里"安全隔离"的关键地带:要在这个转发路径上做访问控制,才能做到可控的互通

3. 华为交换机核心配置实战:VLAN创建、Access划分、Trunk放通

下面进入正题,用华为S5735系列交换机的命令把整个过程走一遍。这套命令在S5730、S5735、S5700系列上都是通用的,老款S5700可能需要微调个别语法,但核心逻辑一致。

3.1 设备选型与登录准备

项目里我用了一台华为S5735S-L24T4X作为核心三层交换机,另外两台S1730S-L24T作为接入交换机。为什么这样选?S5735S支持三层路由、ACL、DHCP Server等功能,可以作为全网的核心网关;S1730S是纯二层交换机,价格便宜,放在楼层弱电间做接入层,把服务器和终端接进来就够了。

登录交换机的方式有两种:Console线直连,或者配置管理IP后用Telnet/SSH登录。第一次调试我都是用Console,进入命令行后先配置管理VLAN的IP:

system-view sysname SW-Core vlan batch 10 20 30 40 50 interface Vlanif 1 ip address 192.168.1.254 255.255.255.0 quit interface GigabitEthernet0/0/1 port link-type access port default vlan 1 quit

如果后续要通过SSH远程管理,得先给交换机配一个管理IP和SSH服务。我习惯把管理地址放在专门的VLAN里,不跟业务网段混在一起,后面讲安全加固时会展开。

3.2 创建VLAN与Access端口划分

核心交换机上创建全部VLAN,命令很直接:

vlan batch 10 20 30 40 50

vlan batch可以一次创建多个VLAN,比逐个vlan 10方便得多。接下来把连接终端的端口划分到对应VLAN。比如行政部有48个工位,接入交换机的前40个口给行政部电脑用:

interface GigabitEthernet0/0/1 port link-type access port default vlan 10

这里有个批量操作的小技巧。如果端口很多,用快捷键逐个配置效率太低了,可以用端口组批量配置:

port-group group-member GigabitEthernet0/0/1 to GigabitEthernet0/0/40 port link-type access port default vlan 10

华为的port-group支持连续的端口范围,一条命令就能把1到40口全部划进VLAN 10,非常高效。技术部在另一台接入交换机上,同理:

interface GigabitEthernet0/0/1 port link-type access port default vlan 20

注意:一个Access口只能属于一个VLAN,如果终端接错口,或者交换机的端口分配和工位对应关系搞错,就出现"这台机器怎么上不了网"的排查故事了。所以划分完以后一定要打标签贴机柜端口编号,这是全网运维的第一道保险。

3.3 Trunk链路配置与PVID设置

接入交换机需要把上行口(连接核心交换机的口)配置为Trunk,并且放行所有业务VLAN:

interface GigabitEthernet0/0/24 port link-type trunk port trunk pvid vlan 10 port trunk allow-pass vlan 10 20 30 40 50

核心交换机连接接入交换机的下行口同样配置:

interface GigabitEthernet0/0/24 port link-type trunk port trunk pvid vlan 10 port trunk allow-pass vlan 10 20 30 40 50

命令里的port trunk pvid vlan 10把Trunk口的Native VLAN设置为VLAN 10,两端必须一致,否则就会出现前面说的PVID不匹配问题。port trunk allow-pass用来指定允许通过Trunk的VLAN列表。这里提醒一下:华为交换机默认Trunk口是放行所有VLAN的,但在实际项目中我从来不用默认值,因为一旦后续新增了VLAN或者某台交换机忘了同步,排查起来非常痛苦。显式地列出允许的VLAN列表,能让配置状态一目了然。

3.4 VLANIF接口配置与部门间路由

核心交换机作为全网的三层网关,需要给每个VLAN配置VLANIF接口并分配IP地址:

interface Vlanif 10 ip address 192.168.10.254 255.255.255.0 quit interface Vlanif 20 ip address 192.168.20.254 255.255.255.0 quit interface Vlanif 30 ip address 192.168.30.254 255.255.255.0 quit interface Vlanif 40 ip address 192.168.40.254 255.255.255.0 quit interface Vlanif 50 ip address 192.168.50.254 255.255.255.0 quit

配置完成后,各VLAN内的终端把网关指向对应的VLANIF地址,VLAN之间就具备了三层路由能力。写个静态路由配合互联网出口:

ip route-static 0.0.0.0 0.0.0.0 192.168.1.1

这里192.168.1.1是出口路由器的内网接口地址。到了这一步,VLAN之间的通信已经"通了",但这还不是我们要的"安全隔离"状态,接下来用ACL把这个通道管起来。

4. 三层VLANIF与ACL:让部门间通信按规矩走

VLAN配上之后,如果你不做任何限制,技术部依然可以直接访问行政部的电脑——因为它们之间的路由是通的。安全隔离的最后一公里,是在三层转发路径上部署ACL规则,做到"按需互通"。

4.1 隔离不等于完全不通,关键是按需放开

很多人一听到"隔离"两个字,就把所有VLAN之间的访问全部deny掉,结果业务跑不起来又被投诉。实际上,行政部和技术部的大部分业务都不需要互相访问,但有一些场景是例外的:

  • 技术部需要访问服务器区(VLAN 50)的测试服务器。比如开发人员要SSH到测试服务器上改代码,就得允许VLAN 20访问VLAN 50。
  • 行政部可能需要访问财务部的某个共享服务,但人事部就不需要。
  • 所有部门都需要访问互联网,这个通过NAT在出口路由器上处理,不涉及交换机ACL。

所以我的规划思路是:默认拒绝跨部门直接访问,只放开有明确业务需求的路径。这是安全隔离的核心原则。

4.2 华为ACL规则配置实例

华为交换机上用高级ACL(编号3000-3999)来过滤IP流量。先看需求:技术部(VLAN 20)可以访问服务器区(VLAN 50),但不能访问行政部(VLAN 10)和财务部(VLAN 30)。配置如下:

acl 3000 rule 5 deny ip source 192.168.20.0 0.0.0.255 destination 192.168.10.0 0.0.0.255 rule 10 deny ip source 192.168.20.0 0.0.0.255 destination 192.168.30.0 0.0.0.255 rule 15 permit ip source 192.168.20.0 0.0.0.255 destination 192.168.50.0 0.0.0.255

然后在VLANIF接口的入方向应用ACL:

interface Vlanif 20 traffic-filter inbound acl 3000

这段配置的逻辑:所有从VLAN 20进入三层网关的流量,先经过ACL 3000过滤,技术部访问行政部(10网段)和财务部(30网段)的包被丢弃,访问服务器区(50网段)的包放行。

注意华为ACL规则默认匹配顺序:规则号小的先匹配,匹配到以后就不再继续往后匹配了。所以通常把deny规则放在前面,把permit规则放后面。我这里的rule 15其实可以不写,因为在华为ACL里,如果没有匹配到任何规则,默认是permit的——但华为也有隐含的deny规则,取决于ACL的默认动作。为了保险起见,我在配置中显式添加permit规则,并且在ACL末尾加一条全局permit兜底

rule 20 permit ip

这样即使有漏网的合法流量也能通过,避免"配了ACL以后某台机器莫名其妙上不了网"的经典事故。顺序上,deny在5和10,permit ip在20,实际效果是:技术部对行政部、财务部的访问被拒,其他流量全部放行。

4.3 安全加固:用MAC绑定和DHCP Snooping管住接入层

VLAN和ACL解决的是"网络结构"问题,但很多内网安全问题出在"接入层管理"上。比如陌生设备插到工位网口,就自动获得了IP,可以访问所在VLAN内的资源。在这方面我加了两个手段。

第一个是MAC地址绑定。把终端MAC和IP绑定后,即使有人手动配置IP,也无法使用。在华为交换机上做IP-MAC绑定常见做法是全局模式:

user-bind static ip-address 192.168.10.100 mac-address xxxx-xxxx-xxxx

但这个方案管理成本不低——100台终端就要绑定100条,所以我通常只对服务器和财务部等敏感终端做绑定,其他普通办公终端用DHCP Snooping控制。

第二个是DHCP Snooping,这是目前对抗内网私接DHCP最有效的手段。开启后,交换机会信任连接合法DHCP服务器的端口(通常是核心交换机连接服务器的口),其余端口收到的DHCP Offer全部丢弃。这样即使有人在工位上插一台路由器,也没办法下发错误IP,从源头上解决了开头那场网络事故。华为的配置如下:

dhcp enable dhcp snooping enable interface GigabitEthernet0/0/24 dhcp snooping trusted

dhcp snooping trusted配置在连接DHCP服务器的上行口,其他端口默认是不信任状态。这个配置在2018年以后的企业网络改造里我基本每个项目都会加,成本极低,收益巨大。

5. 配置验证与故障排查:用命令和抓包定位问题的完整思路

配置命令敲完不代表万事大吉,真正的考验在验证和排错阶段。这部分我把常用的验证命令和实际踩过的坑梳理一遍,可以说是本篇文章最实用的一段。

5.1 用display命令做完整巡检

配置完成后,先别急着插网线,而是逐条检查配置状态。我通常按这个顺序来:

display vlan

这条命令会显示所有VLAN的ID、名称和端口成员列表。核对每个VLAN下挂的Access口是不是和规划一致,有没有端口被划到错误的VLAN里。

display port vlan

这条命令以端口为维度展示端口类型和PVID,可以快速发现哪个口类型配置错了。比如某个应该接终端的口被误配成了Trunk,或者PVID是1而不是预设的10。

display trunkport

专门查看Trunk口的状态和允许通过的VLAN列表。检查两端交换机的PVID和allow-pass列表是否一致,这是Trunk链路排查第一优先级的条目。

再检查VLANIF接口:

display ip interface brief

查看每个VLANIF接口的IP地址配置和物理/协议状态,确认接口是Up状态,地址没有配错。

最后用ping做连通性测试。在核心交换机上分别ping各个VLANIF的网关地址:

ping 192.168.10.254 ping 192.168.20.254

命令行ping通了,说明三层没问题。再用接入交换机到核心交换机之间的链路做ping包验证,能通就说明Trunk链路和VLAN路由都没问题。

5.2 抓包确认VLAN标签:PC网卡的坑怎么绕过

有时候配置看起来都对,但实际业务就是不通。这时候就要抓包看数据帧里到底带没带VLAN标签。但是有个很关键的问题:普通PC网卡默认会丢弃带802.1Q标签的数据帧,而且驱动也会把VLAN标签剥离掉再交给抓包软件,所以你在Wireshark里可能根本看不到VLAN信息。

我在项目里验证Trunk链路时,通常用两种方法。

第一种是在华为交换机上用display mac-address查看某个VLAN的MAC表项:

display mac-address vlan 20

如果能看到终端的MAC地址,说明Trunk链路和VLAN配置基本正常。热词列表里的dis mac | in broad就是在用display mac-address配合过滤条件查找广播相关的MAC,这在定位广播泛洪问题时非常实用。

第二种方法是接一台支持VLAN标签剥离的交换机镜像口抓包。把Trunk口的流量镜像到另一个口,这个口接的抓包PC如果能识别VLAN标签,Wireshark里就能看到802.1Q协议层。Intel网卡在高级属性里可以选择"VLAN ID",手动指定后网卡就不再丢弃带标签的帧,可以抓到完整的802.1Q数据。不过这个方法对硬件有要求,不是所有网卡都支持,所以我更常用display命令加终端ping的验证组合。

5.3 常见故障与完整排查链路

配置后的第一个真实故障,往往出在你最意想不到的地方。这里列几个我实际遇到过的问题和排查步骤。

故障一:终端获取不到IP地址

终端插上网线后一直是"未识别的网络",无法获取IP。我先在终端上ping网关,不通。然后检查交换机上对应端口状态:

display interface GigabitEthernet0/0/1

看端口是不是Up,有没有错误包。如果端口Up且没错误包,再检查这个口是不是被正确划到VLAN里:

display port vlan GigabitEthernet0/0/1

常见原因:端口被划错VLAN,或者接入交换机的上行口Trunk没有放行对应VLAN。解决方法是把VLAN加入Trunk的allow-pass列表。

故障二:VLAN之间能互相访问,这不该通

有时候默认三层路由是全部放通的,做了ACL之后测试发现技术部还是能访问行政部。排查思路:先确认ACL是否应用到了正确的接口和方向,display acl 3000查看规则的匹配次数:

display acl 3000

如果deny规则的匹配计数一直在涨,说明ACL生效了,可能是终端有缓存或者走了别的路径。如果计数是0,说明ACL没匹配到流量,大概率是配置应用错了接口或者方向反了。traffic-filter inbound是过滤进入VLANIF的流量,如果技术部访问行政部,流量是从VLAN 20进入VLAN 10的网关,所以ACL应该应用在Vlanif 20的inbound方向,这是最容易搞错的地方。

故障三:Trunk链路通但跨交换机不通

两台交换机之间的VLAN 20不通,但VLAN 10通。排查步骤:在两台交换机上分别display vlan 20看端口成员,再display trunkport看Trunk口是否放行了VLAN 20。如果配置一致,问题大概率出在PVID上——一台的PVID是10,另一台是20,导致VLAN 20的native帧在链路上被错误识别。统一两端的PVID后问题解决。

5.4 环路问题:STP绝不是可有可无

企业网络里还有一个非常隐蔽的坑:冗余链路导致的二层环路。很多项目为了可靠性,接入交换机会用两条线分别连接两台核心交换机,这时候如果没有启用STP/RSTP,广播帧会在环路里无限转发,直接打爆整台设备。

华为交换机的STP默认是开启的,但如果你改动了配置,或者某些型号默认关闭了,一定要确认:

display stp

确认STP模式是MSTP/RSTP,而且所有交换机都开启了。否则一旦有人往交换机上多插一根跳线,全网瘫痪只是时间问题。这是个"平时看不见,一遇就致命"的配置项。

写在最后的几点积累

这套VLAN+Trunk方案我在多个企业项目里实施过,稳定运行了很长时间,回访时再也没有出现过开头那种DHCP干扰事故。有几条经验想分享给正在做同样项目的朋友。

第一,VLAN规划前一定要和各部门确认好实际终端数量,宁可预留多不预留少。行政部当时说"就50台电脑",结果半年后团队扩张到100人,最后重新调整端口划分和交换机分配,折腾了很久。预留20%-30%的余量是合理的。

第二,华为交换机的display系列命令是排查故障的好帮手,display vlandisplay port vlandisplay trunkportdisplay acl这几条命令一定要熟练。很多远程问题不需要到现场,远程看一眼配置状态就能判断出七八成。

第三,ACL规则的顺序强烈建议按"先deny后permit"来处理,并且每条规则配好注释,方便后续维护。网络工程师换了一茬又一茬,注释写清楚,后面的人才能看懂当年的设计意图。

第四,有条件的话,把DHCP Snooping和STP检查纳入每次网络变更后的标准流程。这两个功能一个管住了"非法DHCP源",一个管住了"物理环路",都是典型的花小钱办大事的安全措施。

这套方案的核心思路就是:用VLAN切广播域,用Trunk串交换机,用VLANIF做三层网关,用ACL控制跨部门访问。逻辑理顺了,华为交换机的配置命令其实就那么几十条,关键是想清楚每一步为什么这么做。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询