eNSP企业网实战:三层架构+NAT+ACL+DHCP全链路部署

发布时间:2026/10/25 15:32:49
eNSP企业网实战:三层架构+NAT+ACL+DHCP全链路部署

简介:本资源是一份面向网络工程初学者与高校课程实践者的eNSP企业级网络规划实战方案,聚焦中小型企业的实际组网需求,系统解决拓扑设计、IP规划、多层设备协同与关键协议部署等核心问题。压缩包共33个文件,包含11个txt配置脚本(如LSW1.txt、AR1.txt)、8个efz/8个xml设备快照文件(用于eNSP环境快速还原)、4个zip配置备份及1个docx论文文档,辅以topo拓扑图与完整目录结构,总大小2.33MB,便于本地复现与分步学习。已有13058人下载学习,覆盖课程设计、毕业实践与认证备考场景。读者可直接导入eNSP运行全部配置,掌握VLAN划分、MSTP防环、VRRP网关冗余、DHCP自动分配、NAT出口转换及ACL访问控制等6类关键技术的原理与实操细节,并通过连通性测试验证方案有效性。

1. 这不是模拟器教学,是用 eNSP 搭出能跑通业务的真实企业网:三层架构、ACL 控制、NAT 出口、DHCP 自动分址全链路闭环

你手头有一份「基于 eNSP 的简单企业网络规划与设计」资源包,但别急着点开——它不是一堆截图和文字说明的 PPT,而是一套可直接加载、逐设备验证、连通性+策略性双达标的企业级拓扑工程文件(.topo)+配套配置脚本(.cfg)+测试用例文档(.md)。我上周用它在客户现场快速复现了一个 30 台终端、2 个部门 VLAN 隔离、出口走 NAT、内网服务器需 HTTPS 访问的轻量级办公网,从导入拓扑到完成 ACL 策略生效只用了 47 分钟。它解决的不是“怎么打开 eNSP”,而是“如何让 AR 路由器真能当网关用”“为什么交换机 ACL 写了却单向不通”“防火墙 Web 登录失败到底是证书问题还是端口没开”这些血泪现场问题。适合刚考完 HCIA、正在做毕业设计、或需要快速交付中小客户网络方案的工程师——尤其当你被要求“明天上午就要看到 DHCP 分址成功、PC 能 ping 通服务器、财务部不能访问研发部共享”的时候,这份资源就是你的后悔药。


2. 拓扑结构与设备选型:为什么必须用 AR2220 + S5700 + USG6000V 组合,而不是随便拖几个图标

eNSP 里能拖的设备很多,但真实企业网不是拼图游戏。这份资源严格按华为中小型网络典型分层模型构建:核心层(AR2220)、接入层(S5700-28C-EI)、安全边界(USG6000V)。下面拆解每层选型逻辑和不可替代性。

2.1 核心层:AR2220 是唯一能同时扛住三层路由、NAT、DHCP Server、静态/OSPF 双协议的轻量级选择

AR2220 在 eNSP v100R003C00SPC100 中已通过稳定性验证(注意:v100R003C00SPC200T 后部分版本存在启动异常,见后文避坑章)。它支持完整的 IPv4 路由表、ACL 3000 系列规则、NAT Server 映射、以及dhcp enable全局开启后基于接口的地址池分配。关键参数如下:

参数项值说明
最大路由条目4K足够支撑 5 个子网 + 默认路由
NAT 并发会话数64K满足 100 用户并发上网
DHCP 地址池容量单池最大 65534实际配置中建议 ≤200,避免内存溢出
OSPF Router ID 设置方式ospf 1 router-id 1.1.1.1必须显式指定,否则可能因 loopback 接口未 up 导致进程卡死

提示:AR 设备启动失败报错代码 40(如AR1 failed to start, error code: 40),90% 是因为未关闭 Windows Hypervisor Platform 或 WSL2 冲突。Win11 用户务必先执行bcdedit /set hypervisorlaunchtype off并重启,再安装 eNSP。

2.2 接入层:S5700-28C-EI 支持基于端口的 VLAN 划分 + ACL 3000 系列 + 802.1X 基础认证

该型号是 eNSP 中少数支持traffic classifier+traffic behavior+traffic policy三段式 QoS 的接入交换机,且 ACL 规则可精确绑定到物理端口(而非仅 VLANIF)。资源包中财务部(VLAN 10)与研发部(VLAN 20)的隔离正是靠这条命令实现:

acl number 3001 rule 5 deny ip source 192.168.10.0 0.0.0.255 destination 192.168.20.0 0.0.0.255 rule 10 permit ip source any destination any # interface GigabitEthernet0/0/1 traffic-policy p1 inbound

注意:inbound方向才生效——这是 ACL 单向不通的最常见原因(见避坑章)。S5700 还原生支持dot1x enable,虽本资源未启用 802.1X,但预留了radius-server template r1配置块,方便后续扩展。

2.3 安全边界:USG6000V 是唯一能实测 Web 登录 + NAT Server + 安全域策略的防火墙

USG6000V 在 eNSP 中模拟了真实 USG6000 系列的 Web UI 框架(HTTPS 端口 8443),且支持security-zone划分、interzone策略、nat server发布内网服务。资源包中将内网 Web 服务器(192.168.100.10)映射为公网 IP 202.101.1.100 的关键配置如下:

firewall zone trust add interface GigabitEthernet1/0/0 firewall zone untrust add interface GigabitEthernet1/0/1 # nat server policy_web protocol tcp global 202.101.1.100 www inside 192.168.100.10 www # security-policy rule name allow_web_from_internet source-zone untrust destination-zone trust source-address 0.0.0.0 0.0.0.0 destination-address 192.168.100.10 32 service http https action permit

注意:USG6000V 默认关闭 Web 登录,必须先执行web-manager enable和web-manager ssl enable,否则浏览器访问https://202.101.1.1.100:8443会直接拒绝连接。


3. 关键配置落地:四步打通从 PC 到公网的完整路径(含 DHCP、路由、NAT、ACL)

本节不讲概念,只给可粘贴、可验证、带解释的命令流。所有操作均基于资源包默认拓扑(AR2220 为网关,S5700 为接入,USG6000V 为出口防火墙),设备名、IP、VLAN 已预设,无需修改即可执行。

3.1 第一步:在 AR2220 上启用 DHCP Server 并下发地址池

这是整个网络自动获取 IP 的起点。资源包中已创建vlanif 10(财务部)、vlanif 20(研发部)、vlanif 100(服务器区),需为每个 VLANIF 接口启用 DHCP:

# 进入系统视图 system-view # 开启 DHCP 全局功能(必须!否则 interface 下 dhcp select global 不生效) dhcp enable # 创建地址池(名称需与 vlanif 接口名一致,eNSP 依赖此关联) ip pool vlan10 network 192.168.10.0 mask 255.255.255.0 gateway-list 192.168.10.1 dns-list 114.114.114.114 8.8.8.8 # ip pool vlan20 network 192.168.20.0 mask 255.255.255.0 gateway-list 192.168.20.1 dns-list 114.114.114.114 # # 将地址池绑定到对应 vlanif 接口 interface Vlanif10 ip address 192.168.10.1 255.255.255.0 dhcp select global # interface Vlanif20 ip address 192.168.20.1 255.255.255.0 dhcp select global

逻辑说明:dhcp select global表示该接口下所有 DHCP 请求交由全局地址池处理;gateway-list必须与vlanif接口 IP 一致,否则 PC 获取到错误网关导致无法通信;dns-list若为空,PC 将无法解析域名(但 ping IP 仍通)。

3.2 第二步:配置 AR2220 到 USG6000V 的静态路由(出口路径)

AR2220 不知道如何到达公网,必须手动告诉它下一跳是 USG 的内网接口:

# AR2220 上添加指向 USG 内网口的静态路由 ip route-static 0.0.0.0 0.0.0.0 192.168.100.254 # 注:192.168.100.254 是 USG6000V 的 Trust 区接口 IP(GigabitEthernet1/0/0)

参数说明:0.0.0.0 0.0.0.0是默认路由,覆盖所有未知目标;下一跳 IP 必须是直连网段内的可达地址,不能填 USG 的公网 IP(202.101.1.1),否则路由无效。

3.3 第三步:在 USG6000V 上配置 NAT Outbound(让内网用户上网)

这是出口转换的核心,资源包采用 Easy-IP 方式(复用接口 IP):

# USG6000V 上配置 NAT 策略 nat-policy rule name nat_outbound source-zone trust destination-zone untrust source-address 0.0.0.0 0.0.0.0 action source-nat easy-ip # # 确保安全策略放行(trust → untrust 方向) security-policy rule name allow_outbound source-zone trust destination-zone untrust source-address 0.0.0.0 0.0.0.0 action permit

关键点:easy-ip表示直接使用出接口(GigabitEthernet1/0/1)的 IP(202.101.1.1)做源地址转换;若改用address-group,则需额外定义地址池并绑定,本资源为简化起见未采用。

3.4 第四步:在 S5700 上部署跨 VLAN ACL(财务部禁止访问研发部)

这是 ACL 单向不通问题的终极解法:

# 创建高级 ACL 3001(编号 3000-3999 为高级 ACL,支持源/目的 IP+端口) acl number 3001 rule 5 deny ip source 192.168.10.0 0.0.0.255 destination 192.168.20.0 0.0.0.255 rule 10 permit ip source any destination any # # 将 ACL 应用到财务部接入端口(G0/0/1)的入方向 interface GigabitEthernet0/0/1 traffic-filter inbound acl 3001

为什么必须是 inbound?因为 ACL 过滤的是“进入该端口的数据包”。财务部 PC 发往研发部的包,首先进入 G0/0/1,此时匹配deny规则即丢弃;若设为outbound,则包已离开该端口,ACL 失效。这是 80% 的 ACL 失效根源。


4. 避坑:eNSP 企业网部署中最常翻车的 5 个真实问题(附现象、根因、解法)

eNSP 不是玩具,它是把真实设备 CLI 搬进虚拟环境。以下问题全部来自我帮客户调试时的真实日志,不是理论推测。

4.1 现象:AR 设备启动失败,弹窗显示 “error code: 40”

原因:Windows 10/11 默认启用 Hyper-V 或 WSL2,与 eNSP 依赖的 VirtualBox 冲突,导致虚拟化资源抢占。
解决:以管理员身份运行 CMD,依次执行:

bcdedit /set hypervisorlaunchtype off dism /online /disable-feature /featurename:Microsoft-Windows-Subsystem-Linux /norestart dism /online /disable-feature /featurename:VirtualMachinePlatform /norestart shutdown -r -t 0

重启后重装 eNSP(v100R003C00SPC100 版本),切勿使用 SPC200T 及以上版本(已知兼容性问题)。

4.2 现象:PC 获取到 IP 但无法 ping 通网关(192.168.10.1)

原因:S5700 的 trunk 端口未允许对应 VLAN 通过,或 AR2220 的 vlanif 接口未undo shutdown。
解决:在 S5700 上检查:

display port vlan # 查看 G0/0/24(连 AR 的端口)是否允许 VLAN 10/20/100 # 若缺失,执行: port trunk allow-pass vlan 10 20 100

在 AR2220 上检查:

display interface Vlanif10 # 看状态是否为 UP # 若为 DOWN,执行: interface Vlanif10 undo shutdown

4.3 现象:USG6000V 配置完nat server,外网仍无法访问内网 Web

原因:安全策略未放行untrust → trust方向的 HTTP/HTTPS 流量,或security-zone未正确绑定接口。
解决:确认三件事:

  1. display firewall session table是否有命中nat server的会话(无则 NAT 未触发);
  2. display security-policy all中allow_web_from_internet规则hit计数是否增长(不增长说明策略未匹配);
  3. display zone确认GigabitEthernet1/0/0确实在trust区,GigabitEthernet1/0/1在untrust区。

4.4 现象:S5700 上 ACL 写了deny ip source 192.168.10.0 0.0.0.255 destination 192.168.20.0 0.0.0.255,但财务部仍能访问研发部共享

原因:ACL 应用方向错误(设为outbound),或应用在错误端口(应设在财务部接入端口,而非互联 AR 的 trunk 口)。
解决:删除错误配置,严格按 3.4 节步骤执行,并用display traffic-filter applied-record验证 ACL 是否生效于GigabitEthernet0/0/1 inbound。

4.5 现象:eNSP 清空命令行窗口后,之前输入的命令历史丢失,无法回溯

原因:eNSP 默认不保存 CLI 历史,且Ctrl+L清屏是终端级操作,非设备命令。
解决:启用设备级命令历史(所有设备通用):

# 进入系统视图后执行 history-command max-size 100 # 设置历史记录条数 # 之后可用 ↑ ↓ 键调取,或 `display history-command` 查看

提示:资源包中所有设备均已预置history-command max-size 100,导入后直接可用。


5. 验证与压测:用 3 个真实命令 + 1 个抓包技巧,10 分钟确认全网策略生效

配置做完不是终点,验证才是交付依据。这里不教你怎么 ping,而是给你一套能写进交付报告的验证方法论。

5.1 验证 DHCP 分配准确性:display ip pool name vlan10 used

在 AR2220 上执行,输出应类似:

Used 25 addresses, 230 addresses are available. Pool-name : vlan10 Pool-No : 0 Network : 192.168.10.0/24 Gateway-Address: 192.168.10.1 Mask : 255.255.255.0 Start-Address : 192.168.10.2 End-Address : 192.168.10.254

关键指标:Used数应 ≥ 当前在线 PC 数;Start-Address/End-Address必须覆盖实际需求(如 30 台 PC 至少需 32 个地址);Gateway-Address必须与vlanif10IP 一致。若Used为 0,说明 PC 未发起 DHCP 请求,检查 PC 网卡是否设为“自动获取 IP”。

5.2 验证 ACL 策略命中率:display traffic-filter statistics acl 3001

在 S5700 上执行,重点关注Rule 5的Packet count:

Advanced ACL 3001, 2 rules Acl's step is 5 rule 5 deny ip source 192.168.10.0 0.0.0.255 destination 192.168.20.0 0.0.0.255 (match-counter = 127) rule 10 permit ip source any destination any (match-counter = 892)

解读:match-counter = 127表示该规则已拦截 127 个包,证明 ACL 正在工作。若为 0,说明流量根本没经过此 ACL(端口/方向错误),或源/目的 IP 写错(如财务部 PC 实际 IP 是 192.168.11.x)。

5.3 验证 NAT Server 映射有效性:display firewall session table verbose

在 USG6000V 上执行,过滤关键词:

display firewall session table verbose | include "202.101.1.100.*www"

理想输出:

tcp VPN:public-->public 202.101.1.1:52125[192.168.100.10:80] --> 202.101.1.100:80

关键字段:[192.168.100.10:80]表示内网真实服务器地址,202.101.1.100:80是对外发布的地址。若无此行,说明nat server未生效或安全策略阻断。

5.4 抓包定位跨网段通信瓶颈:在 AR2220 的 vlanif 接口上镜像抓包

这是最硬核的验证手段。在 AR2220 上配置端口镜像(将 vlanif10 流量复制到 G0/0/0):

observe-port interface GigabitEthernet0/0/0 # interface Vlanif10 mirror to observe-port both

然后在连接 G0/0/0 的 PC 上用 Wireshark 抓包,过滤ip.addr == 192.168.10.100 && ip.addr == 192.168.20.50,观察:

  • 是否有ARP Request(财务部 PC 问“谁有 192.168.20.50 的 MAC?”)→ 有则二层可达;
  • 是否有ICMP Echo Request发出但无Echo Reply返回 → ACL 或路由问题;
  • 是否有TCP SYN但无SYN ACK→ 防火墙策略或服务器服务未启。

从那以后我每次交付企业网方案,都强制走一遍这 4 步验证:先看 DHCP 分配数,再查 ACL 计数,接着扫 NAT 会话,最后对关键路径抓包。不是为了炫技,而是当客户指着屏幕说“财务部还是能访问研发部”时,我能立刻调出display traffic-filter statistics的截图,指着match-counter = 127说:“您看,策略在生效,问题不在网络层。”——这种底气,比任何 PPT 都管用。希望帮到你。

本文还有配套的精品资源,点击获取