资讯动态

60分钟实战:基于VLAN、ACL与静态路由构建安全隔离的企业网络

发布时间:2026/9/2 10:00:01 来源:尧图企业网站定制
你是一名刚入行的运维工程师或者正在学习网络技术的开发者。公司交给你一个任务把新采购的几台服务器、交换机接入机房网络让它们能正常访问互联网同时保证不同业务之间的隔离和安全。你看着设备标签、网线、还有交换机上一堆陌生的命令行界面感觉无从下手。VLAN、ACL、静态路由、DNS……这些词你都听过但真要把它们组合起来构建一个可用的生产网络似乎每一步都藏着坑。别担心这篇文章就是为你准备的。我不会给你讲一堆空洞的理论而是直接模拟一个真实的服务器机房网络部署场景。我们将从零开始用大约60分钟的时间一步步完成从物理连线到业务可达的全过程。你会清晰地掌握VLAN划分如何用一根网线逻辑上隔离出财务、研发、测试等多个网络区域。ACL安全控制如何设置“防火墙规则”禁止测试机访问财务服务器但允许它上网。静态路由如何让不同VLAN之间以及VLAN与外部网络能够互相通信。DNS配置规律如何一劳永逸地解决服务器“能上QQ但打不开网页”的经典问题。本文所有配置均以主流的华为/华三H3CCLI风格为例思科/Juniper等逻辑相通并提供真机或模拟器如ENSP、EVE-NG上的可复制命令。我们的目标是看完就能动手配完就能通。1. 项目背景与核心目标我们到底要建一个什么样的网络假设我们有一个小型机房刚采购了以下设备一台三层核心交换机如华为S5700两台二层接入交换机如华为S2700若干台服务器Web服务器、数据库服务器、测试机等网络需求如下业务隔离将网络划分为三个主要区域VLANVLAN 10 - 财务部IP网段192.168.10.0/24网关.254VLAN 20 - 研发部IP网段192.168.20.0/24网关.254VLAN 30 - 测试环境IP网段192.168.30.0/24网关.254安全控制测试环境VLAN 30不能访问财务部VLAN 10的任何服务器。所有部门都可以访问互联网。互联互通三个VLAN之间在必要时可以互相访问由核心交换机路由。整个内网通过核心交换机的一个出口假设IP为1.1.1.2连接到上级路由器/防火墙网关1.1.1.1以访问互联网。名称解析所有内网设备都能使用统一的DNS服务器如223.5.5.5和8.8.8.8解析域名。拓扑简图[互联网] | [上级路由器] (1.1.1.1) | [核心交换机] (三层 S5700) | (Trunk链路) |-----[接入交换机A] (二层 S2700) -- [财务服务器] (VLAN 10) |-----[接入交换机B] (二层 S2700) -- [研发服务器] (VLAN 20) | -- [测试服务器] (VLAN 30)接下来我们分步拆解每个环节都配命令、讲原理、避坑点。2. 核心概念快速解读VLAN、ACL、路由、DNS到底是什么在动手前花3分钟理解这四个核心概念的本质和关联能让你配置时思路清晰而不是死记命令。2.1 VLAN虚拟局域网 —— 逻辑上的“楼层隔离”你可以把一台物理交换机想象成一栋大楼。默认情况下所有端口房间是互通的一个大平层。VLAN的作用就是在这栋大楼里砌墙划分出不同的楼层虚拟工作组。VLAN ID就是楼层号如10楼、20楼。Access端口这个端口“属于”某个特定的楼层。接在这个端口的设备就自动加入了该VLAN。好比房间门直接开在10楼。Trunk端口是楼层之间的电梯。它允许携带不同楼层标签VLAN ID的数据包通过用于交换机之间的互联。Trunk端口本身不属于任何VLAN。PVID (Port VLAN ID)这是端口默认的楼层标签。对于Access端口PVID就是它所属的VLAN ID。对于Trunk端口PVID用于处理未打标签的数据包即“不知道去哪层的人”通常设置为一个不用的VLAN如VLAN 1或Native VLAN。关键理解数据包在交换机间传输时Trunk链路会给它贴上“楼层标签”VLAN Tag。Access端口则会撕掉标签把原始数据发给终端设备。终端设备如服务器根本不知道VLAN的存在它只关心自己的IP地址和网关。2.2 ACL访问控制列表 —— 网络中的“交通规则”ACL是一系列规则Rule的集合用于匹配数据包然后执行允许Permit或拒绝Deny的动作。基本ACL (2000-2999)主要基于源IP地址进行控制。例如“禁止来自192.168.30.0这个网段的所有流量”。高级ACL (3000-3999)可以基于源IP、目的IP、源端口、目的端口、协议TCP/UDP/ICMP进行更精细的控制。例如“禁止VLAN 30访问VLAN 10的TCP 3389端口远程桌面”。核心思维ACL规则按顺序匹配一旦匹配就执行动作并停止。因此要把范围更小、更具体的规则放在前面。最后通常有一条隐含的“拒绝所有Deny Any”。2.3 静态路由手动绘制的“网络地图”路由器/三层交换机负责在不同网络网段之间转发数据。它需要一张“地图”来知道去往某个目的地下一站该走哪里。路由表就是这张地图每条记录就是一个路由条目。静态路由是网络管理员手动绘制并添加到地图上的路径。格式通常是目的网络 掩码 下一跳地址。下一跳地址就是去往目的地的“下一个路口”的地址。在我们的场景中核心交换机连接了三个VLAN三个网段它自己就知道如何转发直连路由。但它不知道如何到达互联网0.0.0.0/0所以我们需要手动加一条“所有不知道去哪的流量都发给上级路由器1.1.1.1”。反之上级路由器也需要知道回我们三个VLAN的路怎么走。2.4 DNS域名系统 —— 网络的“电话簿”DNS负责将我们熟悉的域名如www.baidu.com翻译成机器认识的IP地址如14.119.104.254。DNS服务器提供翻译服务的服务器。可以运营商提供如223.5.5.5也可以是公共的如8.8.8.8或是自建的。配置规律通常在终端设备服务器/PC的网卡设置中或在DHCP服务器选项中指定DNS服务器的IP地址。一个关键原则DNS服务器地址必须是一个该设备能路由到达的IP。如果设备连不到你设置的DNS服务器自然解析失败。3. 环境准备与模拟器选择在真机上操作风险高我们强烈建议先在模拟环境中练习。方案一华为 eNSP (推荐)优点官方免费设备模型全图形化界面友好非常适合学习华为命令。下载从华为官网或可靠渠道获取安装包。拓扑搭建在软件中拖出S5700、S2700和若干PC/Server即可。方案二EVE-NG / GNS3优点支持多厂商思科、Juniper等镜像功能强大。缺点需要自行导入设备镜像配置稍复杂。本文后续所有命令均在华为eNSP模拟的S5700和S2700上验证通过。请确保你的模拟器能正常启动设备。4. 第一步基础IP与VLAN规划与配置这是所有工作的基石务必规划清楚并记录。4.1 规划表项目VLAN ID网段网关IP说明财务部10192.168.10.0/24192.168.10.254核心交换机VLANIF10研发部20192.168.20.0/24192.168.20.254核心交换机VLANIF20测试环境30192.168.30.0/24192.168.30.254核心交换机VLANIF30管理VLAN99192.168.99.0/24192.168.99.254可选用于管理交换机上行链路-1.1.1.0/30-核心交换机连接上级路由器核心交换机上行口IP-1.1.1.2-GE0/0/1上级路由器下行口IP-1.1.1.1-假设的网关4.2 核心交换机基础配置首先登录核心交换机进行基础配置包括命名、创建VLAN、配置三层接口SVI。# 进入系统视图 Huawei system-view # 修改设备名称可选便于识别 [Huawei] sysname Core-Switch # 创建VLAN 10, 20, 30 [Core-Switch] vlan batch 10 20 30 # 进入上行接口连接上级路由器配置IP地址 [Core-Switch] interface GigabitEthernet 0/0/1 [Core-Switch-GigabitEthernet0/0/1] description Link-To-Uplink-Router [Core-Switch-GigabitEthernet0/0/1] ip address 1.1.1.2 255.255.255.252 [Core-Switch-GigabitEthernet0/0/1] quit # 配置VLANIF接口即三层虚拟接口作为各VLAN的网关 [Core-Switch] interface Vlanif 10 [Core-Switch-Vlanif10] description Gateway-for-VLAN10-Finance [Core-Switch-Vlanif10] ip address 192.168.10.254 255.255.255.0 [Core-Switch-Vlanif10] quit [Core-Switch] interface Vlanif 20 [Core-Switch-Vlanif20] description Gateway-for-VLAN20-RD [Core-Switch-Vlanif20] ip address 192.168.20.254 255.255.255.0 [Core-Switch-Vlanif20] quit [Core-Switch] interface Vlanif 30 [Core-Switch-Vlanif30] description Gateway-for-VLAN30-Test [Core-Switch-Vlanif30] ip address 192.168.30.254 255.255.255.0 [Core-Switch-Vlanif30] quit关键点Vlanif接口是三层逻辑接口。只有创建了Vlanif并配置了IP该VLAN内的设备才能以这个IP作为网关进行跨网段通信。4.3 接入交换机与核心交换机互联Trunk配置假设接入交换机AAcc-SW-A通过G0/0/24连接核心交换机的G0/0/2。在核心交换机上配置Trunk[Core-Switch] interface GigabitEthernet 0/0/2 [Core-Switch-GigabitEthernet0/0/2] description Link-To-Acc-SW-A [Core-Switch-GigabitEthernet0/0/2] port link-type trunk # 设置端口为Trunk类型 [Core-Switch-GigabitEthernet0/0/2] port trunk allow-pass vlan 10 20 30 # 允许VLAN 10,20,30通过 [Core-Switch-GigabitEthernet0/0/2] quit在接入交换机A上配置Huawei system-view [Huawei] sysname Acc-SW-A # 创建VLAN接入交换机只需要知道有哪些VLAN经过它 [Acc-SW-A] vlan batch 10 20 30 # 配置上联口为Trunk [Acc-SW-A] interface GigabitEthernet 0/0/24 [Acc-SW-A-GigabitEthernet0/0/24] description Uplink-To-Core [Acc-SW-A-GigabitEthernet0/0/24] port link-type trunk [Acc-SW-A-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 30 [Acc-SW-A-GigabitEthernet0/0/24] quit # 假设财务服务器接在G0/0/1将其划入VLAN 10 [Acc-SW-A] interface GigabitEthernet 0/0/1 [Acc-SW-A-GigabitEthernet0/0/1] description Finance-Server [Acc-SW-A-GigabitEthernet0/0/1] port link-type access # 设置为Access端口 [Acc-SW-A-GigabitEthernet0/0/1] port default vlan 10 # 将其划入VLAN 10 [Acc-SW-A-GigabitEthernet0/0/1] quit接入交换机B的配置逻辑类似将相应服务器端口划入VLAN 20或30即可。至此VLAN划分和基础互联完成。你可以为服务器配置同网段IP如财务服务器IP设为192.168.10.1/24网关192.168.10.254此时同一VLAN内的服务器应该可以互相ping通。但不同VLAN之间还无法通信因为路由还没做。5. 第二步配置静态路由实现内外网互通现在各个VLAN是孤岛。我们需要让核心交换机知道如何在不同VLAN间转发以及如何访问外网。5.1 开启核心交换机的路由功能默认已开启华为三层交换机默认IP路由功能是开启的。可以通过display ip routing-table查看路由表此时应该能看到直连路由C标识即192.168.10.0/24,192.168.20.0/24,192.168.30.0/24和1.1.1.0/30。5.2 配置默认路由指向互联网在核心交换机上配置一条默认路由将所有去往非本地网段互联网的流量指向上级路由器。[Core-Switch] ip route-static 0.0.0.0 0.0.0.0 1.1.1.10.0.0.0 0.0.0.0代表“所有目的地”。1.1.1.1下一跳地址即上级路由器的接口IP。5.3 模拟在上级路由器上配置回程路由在真实环境你需要联系网络管理员在上级设备防火墙/路由器上添加回程路由。在模拟器中我们可以在“上级路由器”上配置# 假设上级路由器有一个环回口模拟互联网IP为 2.2.2.2 # 配置指向我们三个内网网段的静态路由 [Uplink-Router] ip route-static 192.168.10.0 255.255.255.0 1.1.1.2 [Uplink-Router] ip route-static 192.168.20.0 255.255.255.0 1.1.1.2 [Uplink-Router] ip route-static 192.168.30.0 255.255.255.0 1.1.1.2此时不同VLAN间的服务器应该可以互相ping通了并且所有服务器ping自己的网关192.168.x.254和核心交换机上行口1.1.1.2都应该通。如果ping不通请检查服务器防火墙是否关闭模拟器PC可先关闭。交换机端口是否undo shutdown启用。VLAN划分和Trunk配置是否正确用display vlan和display interface trunk命令查看。6. 第三步使用ACL实现精准安全控制需求测试环境VLAN 30不能访问财务部VLAN 10的任何服务器但可以访问互联网和其他VLAN。我们需要在流量进入核心交换机或从核心交换机发出的关口上应用ACL。一个典型的位置是在核心交换机连接接入交换机B承载VLAN 30的Trunk端口入方向或者直接在VLANIF 30接口的出方向。这里选择在VLANIF 30的出方向做控制逻辑更清晰。6.1 创建高级ACL[Core-Switch] acl number 3000 # 创建一个高级ACL编号3000 [Core-Switch-acl-adv-3000] rule 5 deny ip source 192.168.30.0 0.0.0.255 destination 192.168.10.0 0.0.0.255 [Core-Switch-acl-adv-3000] rule 10 permit ip # 允许其他所有IP流量 [Core-Switch-acl-adv-3000] quitrule 5: 拒绝(deny)源(source)为192.168.30.0/24网段去往目的(destination)192.168.10.0/24网段的所有IP协议流量。0.0.0.255是反掩码代表255.255.255.0。rule 10: 允许(permit)所有其他IP流量。这条必须加否则默认会拒绝所有。6.2 在VLANIF 30接口的出方向调用ACL[Core-Switch] interface Vlanif 30 [Core-Switch-Vlanif30] traffic-filter outbound acl 3000 # 在出方向应用ACL 3000 [Core-Switch-Vlanif30] quit方向解释outbound表示从该VLANIF接口发出的流量。对于VLAN 30的设备来说它访问VLAN 10时数据包会发送给网关VLANIF 30然后网关查路由表从VLANIF 10接口转发出去。我们在VLANIF 30的outbound方向拦截正好能过滤从VLAN 30发往其他网段的流量。验证在VLAN 30的测试机上ping VLAN 10的财务服务器 (192.168.10.1)应该Request timeout。在VLAN 30的测试机上ping VLAN 20的研发服务器 (192.168.20.1)应该通。在VLAN 30的测试机上ping 互联网地址如1.1.1.1应该通如果模拟了互联网。7. 第四步配置DNS并理解其规律DNS配置不在交换机上而在终端设备或DHCP服务器上。这里介绍两种主流方式。7.1 在服务器上静态指定适用于服务器以Windows Server或Linux服务器为例在配置IP地址时一同填写DNS服务器地址。主DNS223.5.5.5(阿里公共DNS)备DNS8.8.8.8(Google公共DNS)Linux (CentOS/Ubuntu) 命令行配置# 编辑网卡配置文件例如eth0 sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 # 或 Ubuntu 使用 netplan sudo vi /etc/netplan/00-installer-config.yaml # 在文件中添加或修改 DNS1223.5.5.5 DNS28.8.8.8 # 对于 netplan格式如下 # network: # ethernets: # eth0: # addresses: [192.168.30.100/24] # gateway4: 192.168.30.254 # nameservers: # addresses: [223.5.5.5, 8.8.8.8] # 重启网络服务 sudo systemctl restart network # CentOS 7 sudo netplan apply # Ubuntu7.2 通过核心交换机DHCP服务动态分配适用于办公PC可以在核心交换机上为每个VLAN配置DHCP服务器并指定DNS选项。# 首先开启DHCP服务 [Core-Switch] dhcp enable # 为VLAN 10创建地址池 [Core-Switch] ip pool vlan10-pool [Core-Switch-ip-pool-vlan10-pool] network 192.168.10.0 mask 255.255.255.0 [Core-Switch-ip-pool-vlan10-pool] gateway-list 192.168.10.254 [Core-Switch-ip-pool-vlan10-pool] dns-list 223.5.5.5 8.8.8.8 [Core-Switch-ip-pool-vlan10-pool] quit # 在VLANIF 10接口上启用DHCP全局模式 [Core-Switch] interface Vlanif 10 [Core-Switch-Vlanif10] dhcp select global [Core-Switch-Vlanif10] quit为VLAN 20和30重复上述步骤。DNS配置的核心规律与排错可达性设备必须能路由到你设置的DNS服务器IP。如果DNS服务器是外网的如8.8.8.8那么设备必须有通往互联网的路由。测试命令在Windows上用nslookup www.baidu.com在Linux上用dig www.baidu.com或nslookup www.baidu.com。如果超时或报错“服务器失败”首先ping 223.5.5.5看通不通。经典问题“能上QQ但打不开网页”这极大概率是DNS问题。QQ直接使用IP连接而浏览器需要DNS解析。解决方法就是检查并更换可用的DNS服务器地址。8. 完整配置示例与验证命令清单让我们把核心交换机的关键配置整理到一个文件中以便整体查看。sysname Core-Switch vlan batch 10 20 30 # 接口IP与VLANIF配置 interface GigabitEthernet0/0/1 description Link-To-Uplink-Router ip address 1.1.1.2 255.255.255.252 # interface GigabitEthernet0/0/2 description Link-To-Acc-SW-A port link-type trunk port trunk allow-pass vlan 10 20 30 # interface GigabitEthernet0/0/3 description Link-To-Acc-SW-B port link-type trunk port trunk allow-pass vlan 10 20 30 # interface Vlanif10 description Gateway-for-VLAN10-Finance ip address 192.168.10.254 255.255.255.0 # interface Vlanif20 description Gateway-for-VLAN20-RD ip address 192.168.20.254 255.255.255.0 # interface Vlanif30 description Gateway-for-VLAN30-Test ip address 192.168.30.254 255.255.255.0 traffic-filter outbound acl 3000 # 应用ACL # 路由配置 ip route-static 0.0.0.0 0.0.0.0 1.1.1.1 # ACL配置 acl number 3000 rule 5 deny ip source 192.168.30.0 0.0.0.255 destination 192.168.10.0 0.0.0.255 rule 10 permit ip # DHCP服务配置可选 dhcp enable ip pool vlan10-pool network 192.168.10.0 mask 255.255.255.0 gateway-list 192.168.10.254 dns-list 223.5.5.5 8.8.8.8 # interface Vlanif10 dhcp select global return验证命令清单在核心交换机上执行# 查看VLAN信息 display vlan # 查看Trunk端口状态 display interface brief | include Trunk display port vlan active # 查看端口VLAN活跃状态 # 查看IP接口摘要 display ip interface brief # 查看路由表确认直连和静态路由 display ip routing-table # 查看ACL配置和应用情况 display acl all display traffic-filter applied-record # 查看流量过滤应用记录 # 测试连通性在交换机上ping服务器或网关 ping -a 192.168.10.254 192.168.20.1 # 指定源IP ping ping 1.1.1.1 # 查看DHCP地址池分配情况如果配置了DHCP display ip pool name vlan10-pool used9. 常见问题与排查思路坑点汇总问题现象可能原因排查命令/思路解决方案同一VLAN内设备无法互通1. 端口未划入正确VLAN2. 端口被shutdown3. 设备IP/掩码错误display vlan查看端口成员display interface brief查看端口状态检查终端IP配置修正端口VLANundo shutdown检查IP不同VLAN间无法互通1. 核心交换机未创建VLANIF或未配IP2. Trunk链路未放行相应VLAN3. 终端网关配置错误display ip interface brief查看VLANIF状态和IPdisplay interface trunk查看Trunk允许的VLAN在终端上ping网关创建并配置VLANIF修正Trunk配置检查网关ACL配置后完全不通1. ACL规则顺序错误先deny any了2. ACL应用方向错误3. 未添加最后的permit规则display acl 编号查看规则顺序display traffic-filter applied-record查看应用接口和方向调整规则顺序确认应用方向确保有permit规则能ping通IP但无法上网DNS问题1. 未配置DNS或DNS错误2. DNS服务器不可达无路由3. 防火墙/UDP 53端口被阻在终端执行nslookup www.baidu.comping DNS服务器IPtracert DNS服务器IP配置正确且可达的DNS检查防火墙和路由静态路由不生效1. 下一跳地址不可达直连不通2. 路由条目错误掩码、目的网段3. 存在更精确的路由条目display ip routing-table查看路由条目ping下一跳地址确保下一跳可达检查路由配置调整优先级交换机配置丢失未保存配置display saved-configuration对比display current-configuration配置完成后执行save命令保存10. 最佳实践与工程建议规划先行动手前务必在纸上或文档中画好拓扑图写好IP/VLAN规划表。这是避免配置混乱的最有效方法。配置保存每完成一个功能模块习惯性输入save命令。模拟器重启或真机断电未保存的配置会丢失。描述信息为每个接口description和VLANIF添加清晰的描述。三个月后你一定会感谢自己。测试分段不要全部配完再测试。应遵循“物理连通 - VLAN内通 - 三层网关通 - 静态路由通 - ACL策略生效 - DNS生效”的顺序分段验证。ACL最小化原则只禁止必要的流量默认允许其他。规则尽量具体使用高级ACL并放在前面。备份配置定期使用display current-configuration查看配置并复制出来存档。对于真机可以使用FTP/TFTP将配置文件备份到服务器。版本兼容本文基于通用华为VRP系统。在实际生产环境中不同型号、不同版本的交换机命令可能有细微差异请以设备实际文档为准。使用?查看命令帮助是最高效的学习方式。安全考虑本文为教学简化了安全设置。生产环境中还应考虑配置交换机管理密码、启用SSH替代Telnet、关闭不必要的服务、配置ACL限制管理访问等。通过以上十个步骤你已经完成了一个典型小型服务器机房网络从规划到部署的全过程。这套组合拳——VLAN实现逻辑隔离、静态路由实现跨网段寻址、ACL实现精细控制、DNS实现便捷访问——是构建中小型园区网、办公网、实验环境的基石。真正的掌握不在于记住这些命令而在于理解每个技术背后的设计意图VLAN是“分”的艺术路由是“连”的艺术ACL是“控”的艺术DNS是“找”的艺术。下次面对更复杂的网络需求时你可以像搭积木一样灵活运用这些基础组件去设计和实现。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价