前面几篇分别把 ESXi、AD 域控、GPO、VLAN 练了一遍。这几天把它们拼到了一起,在一台 ESXi 上用几台虚拟机搭出一个完整的域实验环境:AD + DNS + DHCP + 文件共享 + 组策略下发,网络侧用 VLAN 做了隔离。这篇是完整的搭建记录和一份资源开销清单,给同样想在家练手的同学参考。

一、实验目标与拓扑

想模拟一个小型企业网络:

  • 一台域控,同时承担 DNS 和 DHCP;
  • 一台文件服务器,提供部门共享;
  • 两台 Windows 10 客户端,加域后接受组策略管理;
  • 网络侧划分 VLAN:服务器 VLAN 10、办公 VLAN 20、访客 VLAN 30。
[ESXi 192.168.1.10]
   ├── DC01   Windows Server 2022   域控+DNS+DHCP   192.168.10.10   VLAN10
   ├── FS01   Windows Server 2022   文件服务器      192.168.10.11   VLAN10
   ├── PC01   Windows 10            办公客户端      DHCP           VLAN20
   └── PC02   Windows 10            办公客户端      DHCP           VLAN20

网关:VLAN10 → 192.168.10.1
      VLAN20 → 192.168.20.1
      (由三层交换机 / 路由器的子接口承担)

二、宿主机侧的资源分配

宿主机 32GB 内存,我这样分的:

DC01   2 vCPU / 4GB / 60GB
FS01   2 vCPU / 4GB / 80GB(共享盘给大一点)
PC01   2 vCPU / 4GB / 60GB
PC02   2 vCPU / 4GB / 60GB

合计 16GB,剩下 16GB 给宿主机和后续扩展。实际跑起来后观察:Server 2022 带桌面体验空闲时占 1.5~2GB,Win10 占 2~2.5GB,所以 4GB 是够用的下限,再低会开始卡。这里插一句,实际企业里域控一般给 4~8GB,配 Server Core 安装可以压到 2GB 以内,但学习阶段还是用带界面的,方便对照图形工具和 PowerShell 命令。

三、ESXi 网络:用端口组承接 VLAN

这一步把上一篇的 VLAN 知识用上了。ESXi 里新建两个端口组:

  • PG-Server,VLAN ID = 10
  • PG-Office,VLAN ID = 20

虚拟机的网卡挂到对应端口组,就等于插到了对应 VLAN 的 access 口上。交换机连 ESXi 的那个物理口配成 trunk 放行 10/20/30。

:ESXi 的管理网络(VMkernel 口)默认 VLAN ID 是 0(不打标签)。如果你把它改成了某个 VLAN ID,一定要确认交换机 trunk 的 native VLAN 和它一致,否则改完立刻连不上管理页面。我第一次改的时候直接把自己锁在外面,最后只能去机器前面接显示器,在 DCUI 里把网络配置改回来。

四、DC01:AD + DNS + DHCP 三件套

装域控的流程和上一篇一样,这里只记增量部分。

1. 建立林和域

Install-WindowsFeature AD-Domain-Services -IncludeManagementTools

Install-ADDSForest -DomainName "jikegang.lab" `
  -DomainNetbiosName "JIKEGANG" `
  -InstallDns `
  -SafeModeAdministratorPassword (ConvertTo-SecureString "P@ssw0rd!23" -AsPlainText -Force) `
  -Force

装完重启,先做体检:

dcdiag /v
netdom query fsmo
Get-ADDomain | Select DNSRoot, DomainMode
Get-ADForest | Select Name, ForestMode

2. DNS 转发器

这一步很多人漏。域控的 DNS 只负责 jikegang.lab 这个区域,解析外网域名时需要转发给上游。不配的话,域内机器访问互联网会解析失败。

# 图形:DNS 管理器 → 服务器 → 属性 → 转发器
# 命令行:
dnscmd 127.0.0.1 /ResetForwarders 223.5.5.5 114.114.114.114

3. DHCP 服务器

Install-WindowsFeature DHCP -IncludeManagementTools

# 授权(关键!域环境下不授权 DHCP 不会服务)
Add-DhcpServerInDC -DnsName "dc01.jikegang.lab" -IPAddress 192.168.10.10

# 建作用域:办公网段
Add-DhcpServerv4Scope -Name "Office-VLAN20" `
  -StartRange 192.168.20.100 -EndRange 192.168.20.200 `
  -SubnetMask 255.255.255.0

# 选项:网关 + DNS(DNS 必须指向域控!)
Set-DhcpServerv4OptionValue -ScopeId 192.168.20.0 `
  -Router 192.168.20.1 `
  -DnsServer 192.168.10.10 `
  -DnsDomain "jikegang.lab"

三个必踩的坑:

  1. 不授权 DHCP 不工作:,域环境下的安全机制,装完必须 Add-DhcpServerInDC,否则客户端拿不到地址,服务器管理器里 DHCP 会显示红色未授权状态。
  2. DNS 选项指向域控:填成路由器或者公网 DNS,客户端就找不到域,加域时提示"找不到域控制器"。
  3. 跨 VLAN 需要 DHCP 中继:DHCP 靠广播工作,广播过不了三层。客户端在 VLAN 20、服务器在 VLAN 10,必须在网关设备上配 ip helper-address 192.168.10.10(思科)或 dhcp select relay + dhcp relay server-ip 192.168.10.10(华为)。这一步忘了,PC 会拿到 169.254.x.x 的 APIPA 地址。

五、组织结构与用户(按 AGDLP 思路)

我按真实公司的样子建了 OU 结构,而不是把所有用户丢进 Users:

jikegang.lab
├── 公司
│   ├── 部门
│   │   ├── 技术部
│   │   ├── 财务部
│   │   └── 行政部
│   ├── 用户(按部门分)
│   └── 计算机
│       ├── 办公机
│       └── 公用机
└── 服务器

权限设计用的是 AGDLP:账号加入全局组(Global),全局组加入域本地组(Domain Local),权限赋给域本地组。这样跨部门调岗时,只需要改全局组成员,资源服务器上的 NTFS 权限不用动。这套模型在小环境里看不出优势,但它是能讲清楚的设计原则,面试时也常被问到。

批量建号(CSV + 循环)跑完 10 个测试账号:

Import-Csv C:\users.csv | ForEach-Object {
  New-ADUser -Name $_.Name `
    -SamAccountName $_.SamAccountName `
    -UserPrincipalName "$($_.SamAccountName)@jikegang.lab" `
    -Path $_.OU -Department $_.Dept `
    -AccountPassword (ConvertTo-SecureString "Init@2026" -AsPlainText -Force) `
    -Enabled $true -ChangePasswordAtLogon $true
  Add-ADGroupMember -Identity $_.Group -Members $_.SamAccountName
}

六、FS01:文件服务器与共享

FS01 加域后,建共享文件夹,权限按 共享权限 Everyone 完全控制 + NTFS 权限做细粒度控制 的经典做法:

  • 共享权限:Everyone - 完全控制(图省事,实际收口在 NTFS)
  • NTFS 权限:去掉继承,只给 DL_技术部_RW(修改)、DL_财务部_R(读取)、Domain Admins(完全控制)

用 GPO 的驱动器映射把 \\FS01\技术部 挂成 Z: 盘,按安全组做项目级目标定位,不同部门的人登录拿到不同的盘。这一条在上一篇 GPO 里写过,这次是真的在两台 PC 上验证通过了:用技术部账号登录拿到 Z 盘,换财务部账号登录 Z 盘自动变成财务共享。

七、整体验证清单

环境搭完,我按这张表逐项验证,全绿才算完成:

☑ PC01/PC02 能自动获取 192.168.20.x 地址
☑ 能 ping 通网关 192.168.20.1
☑ 能 ping 通 192.168.10.10(跨 VLAN 互通)
☑ nslookup jikegang.lab 能解析到域控
☑ 加域成功,重启后可用域账号登录
☑ 登录后 Z: 盘自动映射
☑ gpresult /r 显示 GPO 已应用
☑ 密码策略生效(改密码时长度不足被拒绝)
☑ 域账号登录 FS01 共享正常,越权访问被拒
☑ dcdiag /v 全部通过

八、下一步

这套环境留着继续用,接下来打算在上面练:

  • 加第二台域控,做 AD 复制和 FSMO 角色迁移演练;
  • 域控的系统状态备份与权威还原(这是数据库备份恢复那一块里我最想补齐的实操);
  • Windows Server Backup 定时备份到 NAS;
  • 接一台物理交换机进来,把 ESXi 的端口组和真实 trunk 打通,验证上一篇的 VLAN 配置。

小结

四天时间,从裸机到一套能跑通登录、认证、策略下发、文件权限的完整域环境。最大的体会是:这些技术单看文档都"懂",但只有真的串起来跑一遍,才会发现 DHCP 的 DNS 选项填错一格,整个加域流程就全崩。运维的价值就在于知道这一格在哪——这也是我把它完整记下来的原因。

Last modification:September 7, 2026
如果觉得我的文章对你有用,请随意赞赏