
HomeLab 是一个在单台笔记本电脑(OMEN 16,i7-14650HX,32 GB RAM,RTX 4060 8 GB)上构建的 GNS3 实验环境,用于在同一环境中练习网络、系统管理和攻击性安全。它模拟了一个带有 DMZ(Cisco ASAv)的外围网络、一个路由核心(SW-L3 + 两台接入交换机),以及一个运行在 Windows Server 2025 上的 Active Directory 域 kooler.local。攻击者平台(Kali、ParrotOS/Exegol)位于不受信任的外部网段,与通往互联网的 NAT 网关并列。
链路:Kali/Exegol + NAT (Switch-X) → Router → ASAv Firewall(带 DMZ 支路)→ SW-L3 → L2-SW-1 / L2-SW-2(VLAN)。
| 网段 | 子网 | 备注 |
|---|---|---|
| 外部 / 不受信任 | 192.168.160.0/24 | Switch-X:Kali/Exegol、NAT 云;Router 位于 .100 |
| Router ↔ FW 外部 | 10.10.3.0/29 | Router .1,ASA outside .2 |
| FW ↔ DMZ | 10.10.2.0/30 | ASA dmz .2,Ubuntu .1 |
| FW ↔ SW-L3(内部) | 10.10.1.0/30 | ASA inside .2,SW-L3 .1 |
| VLAN 30 | 192.168.30.0/24 | PC-C、PC-D |
| VLAN 40 | 192.168.40.0/24 | 位于 L2-SW-2 之后 — Windows 10、PC-B |
| VLAN 50 | 192.168.50.0/24 | 位于 L2-SW-1 之后 — Windows Server 2025 (DC01)、PC-A |
| VLAN 100 | 192.168.100.0/24 | SW-L3 上存在 SVI;已配置 trunk,尚未加入 ASA 对象组 |
Trunk 链路 SW-L3 ↔ L2-SW-1/L2-SW-2 承载 VLAN 30、40、50、100(native VLAN 999,dot1q)。
| 设备 | 角色 | 平台 | 关键接口 |
|---|---|---|---|
| Router | 边缘路由器,NAT 侧网关 | Cisco IOSv 15.9 | Gi0/0 10.10.3.1/29(至 FW);Gi0/1 192.168.160.100/24(至 Switch-X) |
| FW | 外围防火墙,DMZ | Cisco ASAv 9.22(1)1 | outside 10.10.3.2/29;dmz 10.10.2.2/30;inside 10.10.1.2/30 |
| SW-L3 | 核心 L3 交换机,VLAN 间路由 | Cisco IOSv L2 15.2 | Gi0/0 10.10.1.1/30(至 FW);Gi0/1-0/2 至 L2-SW-1/2 的 trunk;VLAN 30/40/50/100 的 SVI |
| L2-SW-1 | 接入交换机 | Cisco IOSv L2 15.2 | VLAN 50 接入端口(WinServer2025、PC-A) |
| L2-SW-2 | 接入交换机 | Cisco IOSv L2 15.2 | VLAN 40 接入端口(Windows 10、PC-B);VLAN 30(PC-D) |
ASAv 采用 Smart Licensing Using Policy 授权,运行于评估模式,功能层级为 standard,吞吐量级别 1G 在本地声明(未注册 CSSM)。
| 主机 | 操作系统 / 版本 | 主机名 | IP / VLAN | 服务 |
|---|---|---|---|---|
| Kali | Kali Linux 2026.2(VMware amd64) | Kali | 192.168.160.130(外部网段) | 攻击者平台 |
| ParrotOS/Exegol | ParrotOS + Exegol | — | 外部网段(Switch-X) | 攻击者平台 |
| Ubuntu | Ubuntu Desktop 26.04 | ko0ler-VMware-Virtual-Platform | 10.10.2.1(DMZ) | DVWA、bWAPP、httpbin、FTP、Samba、MySQL |
| WindowsServer 2025 | Windows Server 2025 | DC01 | 192.168.50.10(VLAN 50) | ADCS、ADDS、DHCP、DNS、MSSQL — kooler.local 的域控制器 |
| Windows 10 | Windows 10 | PC1 | DHCP(VLAN 40) | 已加入域的工作站 |
| PC-A | VPCS | — | VLAN 50 (.15) | — |
| PC-B | VPCS | — | VLAN 40 (.15) | — |
| PC-C | VPCS | — | VLAN 30 (.1) | — |
| PC-D | VPCS | — | VLAN 30 (.2) | — |
域控制器:DC01(Windows Server 2025,192.168.50.10),同时运行 ADCS、ADDS、DHCP、DNS 和 MSSQL — 一个刻意过度配置的 DC,用于攻击面练习(服务账户暴露、ADCS 模板配置错误、DC 上的 SQL 等)。
| 账户 | 范围 | 备注 |
|---|---|---|
| Administrator | 本地(DC01) | 内置本地管理员 |
| Ko0ler | 域用户 | — |
| user1 | 域用户 | — |
Windows 10(PC1)已加入 kooler.local;该机器上还存在本地登录账户 ko0ler,与域账户相互独立。
| 区域对 | 方向 | 允许 |
|---|---|---|
| outside → DMZ | 入站 | 至 Ubuntu (10.10.2.1) 的 HTTP(80)、HTTPS(443)、8080、8070、8060;ICMP |
| DMZ → outside | 出站 | HTTP、HTTPS、DNS(53) |
| DMZ → inside | — | 拒绝 |
| inside → DMZ | 出站 | 至 Ubuntu 的完整 IP |
| inside → outside | 出站 | 完整 IP,通过 ASA outside 接口进行 PAT |
NAT:内部子网(192.168.30/40/50.0/24,动态,通过 ASA outside)使用 PAT,DMZ 主机使用静态 NAT(10.10.2.1 → 10.10.3.3,DMZ_MAPPED)。注意:VLAN 30/40/50 之间的 VLAN 间流量从不经过 ASA — SW-L3 在本地进行路由,因此防火墙只能看到南北向(DMZ/外部)流量。
记录于 CHANGELOG.md。
实验凭据有意不提交到此仓库。
| 范围 | 账户 | 主机 |
|---|---|---|
| 本地 | kali | Kali |
| 本地 | ko0ler | Ubuntu |
| 本地 | ko0ler | Windows 10 (PC1) |
| 本地 | Administrator | DC01 |
| 域 (kooler.local) | Ko0ler | — |
| 域 (kooler.local) | user1 | — |