环境:EVE-NG
设备镜像:IOU L2(接入交换机)、IOU L3(核心三层交换机)+ VPCS 终端企业网络设计与安全防护实验作业
目标:模拟一个约 200 人中型企业的园区网,实现逻辑隔离、按业务的访问控制、网关冗余、链路冗余、可验证的安全策略企业网络设计与安全防护实验作业


1. 需求背景与目标

一个中型企业(约 200 人)有多个部门:研发、财务、市场、运维、访客区。典型需求是:

  • 部门内互通(同 VLAN)
  • 部门间隔离(默认互相不能访问)
  • 运维具有管理权限(SSH/ICMP 可达各网段与设备)
  • 研发/市场/访客可以“上网”(这里用核心交换机 Loopback 模拟互联网地址)
  • 财务数据最敏感(严格隔离)
  • 网关与核心互联需要冗余(HSRP + EtherChannel)企业网络设计与安全防护实验作业

2. 架构设计:为什么选两层扁平化(Collapsed Core)

园区网常见三层结构是“核心-汇聚-接入”,但在中小型网络里,汇聚层往往会被“折叠”到核心(Collapsed Core):

  • 设备更少,拓扑更简单
  • 运维成本更低
  • 三层核心同时负责:
    • VLAN 间路由(SVI)
    • 网关冗余(HSRP)
    • 模拟出口(Loopback 做“外网地址”)企业网络设计与安全防护实验作业

这套实验正好符合这种企业实践:核心两台三层交换机 + 三台接入二层交换机


3. EVE-NG 拓扑搭建

3.1 设备清单(共 10 台)

  • Core-SW1 / Core-SW2:IOU L3(核心三层交换机,主/备)
  • Acc-SW1:IOU L2(研发 + 访客)
  • Acc-SW2:IOU L2(财务)
  • Acc-SW3:IOU L2(市场 + 运维)
  • VPC1~VPC5:VPCS 终端企业网络设计与安全防护实验作业

3.2 关键链路设计

  • Core-SW1 ↔ Core-SW2:双链路 EtherChannel(LACP)+ Trunk
  • 每台接入交换机各两条上行:分别到 Core-SW1 / Core-SW2,Trunk + STP 防环企业网络设计与安全防护实验作业

4. VLAN 与 IP 规划

4.1 VLAN 规划

VLAN名称用途网段
10RD研发172.16.10.0/24
20FIN财务172.16.20.0/24
30MKT市场172.16.30.0/24
40OPS运维172.16.40.0/24
50GUEST访客192.168.50.0/24
99MGMT管理172.16.99.0/24
100NATIVETrunk Native不分配地址
999UNUSED未使用端口停放不分配地址

企业网络设计与安全防护实验作业

4.2 核心网关 SVI(HSRP 虚拟网关)

  • Core-SW1:各 VLAN SVI 用 .2,HSRP priority 110(主)
  • Core-SW2:各 VLAN SVI 用 .3,HSRP priority 100(备)
  • 虚拟网关统一 .1(终端默认网关)企业网络设计与安全防护实验作业

4.3 终端静态 IP(VPCS)

# VPC1(研发)
ip 172.16.10.10 255.255.255.0 172.16.10.1# VPC2(财务)
ip 172.16.20.10 255.255.255.0 172.16.20.1# VPC3(市场)
ip 172.16.30.10 255.255.255.0 172.16.30.1# VPC4(运维)
ip 172.16.40.10 255.255.255.0 172.16.40.1# VPC5(访客)
ip 192.168.50.10 255.255.255.0 192.168.50.1

企业网络设计与安全防护实验作业

4.4 模拟“互联网出口”

  • Core-SW1:Loopback0 = 203.0.113.1/32
  • Core-SW2:Loopback0 = 203.0.113.2/32企业网络设计与安全防护实验作业

5. 配置实现:从“能通”到“安全可控”

这一部分我不追求把所有 running-config 全贴出来,而是按模块总结“有效配置命令”和关键点(完整配置可以放在附录)。


5.1 全网通用安全基线(所有设备)

  • 主机名、密码加密、enable secret
  • 只开 SSH v2,禁用 Telnet
  • Banner(登录警告)
  • VTY 只允许来自 运维网段(172.16.40.0/24)管理网段(172.16.99.0/24)
  • NTP:Core-SW1 做 master,其它设备指向 172.16.99.2企业网络设计与安全防护实验作业

示例(所有交换机通用骨架):

no ip domain-lookup
service password-encryption
enable secret Studen@2026!username admin privilege 15 secret Studen@2026!
ip domain-name corp.local
crypto key generate rsa modulus 1024
ip ssh version 2
no ip http serverbanner motd ^CUnauthorized access prohibited!^Cip access-list standard VTY-ACCESS
permit 172.16.40.0 0.0.0.255
permit 172.16.99.0 0.0.0.255
deny anyline vty 0 4
login local
transport input ssh
access-class VTY-ACCESS in

6. 核心层:SVI/HSRP/EtherChannel/Trunk/STP

6.1 STP 角色

  • Core-SW1:Root Primary(更低优先级)
  • Core-SW2:Root Secondary企业网络设计与安全防护实验作业

这样接入交换机双上行时,会形成稳定的转发路径,同时避免二层环路。


6.2 EtherChannel(LACP)核心互联

核心互联用 e0/1 + e0/2 组 LACP Port-Channel1,并作为 Trunk 承载所有 VLAN。

关键验证命令:

show etherchannel summary
show interfaces trunk


6.3 SVI + HSRP 工作机制(我怎么理解它)

  • 每个 VLAN 在核心上有一个 SVI(Vlan10/Vlan20…)
  • HSRP 在同 VLAN 的两台核心之间选举出 Active(主)与 Standby(备)
  • 终端默认网关指向 HSRP 虚拟 IP(.1)
    它不会因为主备切换而改变,终端侧“无感”
  • 当 Core-SW1 故障时,Core-SW2 快速接管 Active,业务仅短暂丢包企业网络设计与安全防护实验作业

7. 接入层:VLAN/Trunk/Port-Security/DHCP Snooping/未用口关闭

接入层统一策略:

  • 上联口 e0/0、e0/1:Trunk,Native VLAN 100,Allowed VLAN 精确放行
  • 接入口:access VLAN 对应部门
  • 终端口:Portfast + BPDU Guard
  • Port-Security:每口最多 2 个 MAC,违规 shutdown
  • DHCP Snooping:只信任上联 trunk 口
  • 未用口:放入 VLAN999 并 shutdown企业网络设计与安全防护实验作业

8. ACL 安全策略:从“可用”到“最小权限”

8.1 策略矩阵(目标效果)

  • 研发/市场:拒绝访问内部私网(10/172/192),允许 DNS/HTTP/HTTPS “上网”
  • 财务:只允许本 VLAN 内互访;其他都拒绝
  • 访客:禁止访问任何内部私网,只允许 DNS/HTTP/HTTPS
  • 运维:允许 SSH/ICMP 到各部门 + 访客;对“互联网模拟网段”允许全部企业网络设计与安全防护实验作业

8.2 ACL 应用位置与方向:为什么我很强调 “in/out”

本实验要求把 ACL 应用在各 VLAN 的 SVI 接口上,并且多是 in 方向企业网络设计与安全防护实验作业。

我的经验总结:

  • in(入方向):看的是“从该 VLAN 终端发出来、进入三层网关”的流量
  • 所以如果希望“运维能 ping 某部门”,必须考虑:
    1. 运维发起的 echo 请求是否放行(在 VLAN40 的 SVI 入方向 ACL)
    2. 对方返回的 echo-reply 是否放行(在对方 VLAN 的 SVI 入方向 ACL)

这也是我后来在 RD/MKT/FIN/GUEST 的 ACL 里加入 echo-reply 的原因:
否则会出现“运维能 ping 出去,但回包被对方 VLAN 的入方向 ACL 丢掉”的典型坑


8.3 ICMP type 3 code 13:我如何判断 ACL 在生效

当跨 VLAN ping 被拒绝时,终端会看到类似:

  • ICMP type 3 code 13
  • Communication administratively prohibited

这其实是一个很好的信号:

  • 说明三层路由路径没问题(能到达网关)
  • 是 ACL 主动拒绝并返回了管理禁止信息
  • 这正是“策略生效”的验证结果之一

8.4 ACL 规则解释(按功能拆开讲)

下面按“意图”解释

A) VTY-ACCESS(标准 ACL,保护远程管理平面)

目的:只有运维与管理网段能 SSH 到设备。

ip access-list standard VTY-ACCESS
permit 172.16.40.0 0.0.0.255
permit 172.16.99.0 0.0.0.255
deny anyline vty 0 4
access-class VTY-ACCESS in
transport input ssh

B) RD-ACCESS / MKT-ACCESS(研发/市场上网、拒绝内网)

核心思路

  • 允许同 VLAN
  • 拒绝访问私网(10/172/192)= 不能横向打内网
  • 允许 DNS/HTTP/HTTPS 到 “任意”(这里模拟成互联网)
  • 额外允许 echo-reply / established:确保运维发起的 ping/SSH 能收到回包

C) FIN-PROTECT(财务隔离最严格)

  • 允许财务 VLAN 内互访
  • 默认拒绝其他
  • 同样放行 echo-reply / established 让运维“发起”访问能够完成

D) GUEST-RESTRICT(访客只上网)

  • DNS/HTTP/HTTPS 允许
  • 访问私网全部拒绝并记录 log
  • 同样允许回包给运维(便于运维测试与管理)

E) OPS-ACCESS(运维“有权限”,但也要可控)

  • 允许 SSH/ICMP 到内网(172.16.0.0/12)以及访客(192.168.50.0/24)
  • 允许对 203.0.113.0/24 的全部(模拟外网全访问)企业网络设计与安全防护实验作业

9. 验证测试:我怎么证明它“既能用、又安全”

9.1 设备侧 show 命令(建议每台都截图)

show vlan brief

show interfaces trunk

show ip interface brief

show standby brief

show etherchannel summary

show ip route

show access-lists

show port-security

show ip dhcp snooping

show running-config(关键配置段)

9.2 终端测试(T01~T15)

终端测试结果(T01 ~ T15)

测试编号测试内容预期实际截图
T01VPC1 ping 172.16.10.1成功 成功
T02VPC2 ping 172.16.20.1成功 成功
T03VPC3 ping 172.16.30.1成功成功
T04VPC4 ping 各网关全成功全成功
T05VPC4 ping 203.0.113.1成功成功
T06VPC1 ping VPC2失败被 ACL 拒绝(ICMP type 3 code 13)
T07VPC2 ping VPC1失败失败
T08VPC5 ping VPC1失败失败
T09VPC4 SSH Core-SW1 (172.16.99.2)成功成功
T10VPC1 SSH Core-SW1失败被 ACL 阻止
T11VPC4 SSH 各接入交换机管理 IP成功成功
T12VPC4 ping 各终端全成功全成功
T13VPC5 ping 内网地址失败被拒绝
T14关闭 Core-SW1 后 ping 网关短暂中断恢复恢复
T15断 EtherChannel 一条链路仍可转发正常

10. 冗余与高可用:HSRP + EtherChannel 真的有用吗?

10.1 HSRP 切换(T14)

我的做法:

  1. 持续 ping 网关(例如 VPC1 ping 172.16.10.1)
  2. 在 EVE-NG 停止/重启 Core-SW1
  3. 观察短暂丢包后恢复
  4. 在 Core-SW2 查看 show standby brief,确认其成为 Active

10.2 EtherChannel 单链路故障(T15)

我的做法:

  1. 在 Core-SW1 shutdown EtherChannel 成员口之一(如 e0/1)
  2. show etherchannel summary 仍显示 Po1 up,另一路成员口依旧(P)
  3. 业务流量不间断(或仅轻微抖动)

11. 问题与解决(我踩过的坑)

11.1 HSRP 全 Init、SVI 全 down/down、show interfaces trunk 为空

现象

  • show interfaces trunk 没输出
  • show ip interface brief VLAN SVI 全 down/down
  • show standby brief 全 Init

根因:Trunk 没建立 → VLAN 没被承载 → SVI 无法 up → HSRP 无法选举

解决:在 IOU L3 上,Trunk 必须先指定 dot1q:

switchport trunk encapsulation dot1q
switchport mode trunk

这个点是整个实验“网络活不活”的分水岭。


11.2 ACL 拦截导致的 ICMP type 3 code 13

现象:跨 VLAN ping 显示被禁止
结论:这不是故障,而是策略正确生效的表现。

我把这张截图放到 ACL 验证章节,因为它很“能说明问题”。


12. 总结与企业网络设计思考

这次实验对我帮助最大的,不是“把命令敲完”,而是把一个企业园区网从 0 到 1 搭起来,并能解释每个模块为什么存在:

  1. 扁平化两层架构适合中小型企业:简单、成本低、可维护性强
  2. VLAN 是逻辑隔离的起点,但真正的安全隔离来自:
    • Trunk 控制(只允许必要 VLAN)
    • ACL 最小权限(默认拒绝)
    • 管理面隔离(VTY-ACCESS + SSH only)
  3. HSRP/EtherChannel 是“可用性”的关键
    主设备挂了、链路断了一条,网络仍能工作,这才是企业环境里“靠谱”的标准。
  4. 如果要进一步向真实企业靠拢,我下一步会考虑:
    • 统一 DHCP + IPAM(本实验用静态 IP 是为了可控)
    • Syslog/NTP/AAA(集中日志与认证)
    • SNMP/Telemetry(可观测性)
    • 802.1X/NAC(接入认证)
    • 出口 NAT/防火墙(更完整的互联网访问控制)
此作者没有提供个人介绍。
最后更新于 2026-02-25