构建虚拟化网络安全实验室:Active Directory 与 DNS 集成

发布: (2025年12月12日 GMT+8 09:34)
6 min read
原文: Dev.to

Source: Dev.to

为什么身份服务很重要

在完成我的家庭实验室的核心网络和防火墙层后,下一步的关键工作是构建真实组织所依赖的身份基础:Active Directory。Windows Server 2022 提供了一个功能完整的域环境,集成了 DNS、集中式身份验证,并且能够在整个网络中管理设备。

对我而言,这一步尤为重要,因为虽然我凭借开发背景对 Linux 和 CLI 很熟悉,但我一直想深化对 Windows 管理和 PowerShell 的技能。学习 CompTIA A+、Network+ 和 Security+ 让我意识到企业对 Active Directory 的高度依赖,而在真实网络中自行搭建它则能把这些知识推向更深的层次。完成此部分实验室后,我已经拥有了后续安全监控、检测工程和攻击模拟项目所需的身份基础设施。

实验室架构提醒

在深入配置之前,先回顾一下此阶段的高层实验室设计。

当前环境包括

  • pfSense(路由/防火墙)
  • lab‑LAN 内部网络
  • Windows Server 2022(域控制器 + DNS)
  • Windows 11 终端
  • Ubuntu Desktop 终端
  • 通过 VPN 连接到 pfSense 的外部 Kali ThinkPad

网络已完成,身份层位于此受控环境之上。

homelab topology

第 1 部分 – 安装 Windows Server 2022

由于 Secure Boot 和 TPM 的要求,Windows Server 2022 需要稍多的工作。我最终从 virt-install 切换到 Virt‑Manager,以便更轻松地覆盖设置,但下面是我最初使用的 CLI 版本:

sudo virt-install \
  --name winserver2022 \
  --ram 8192 \
  --vcpus 4 \
  --disk path=/var/lib/libvirt/images/winserver2022.qcow2,format=qcow2,bus=virtio \
  --cdrom /var/lib/libvirt/boot/WindowsServer2022.iso \
  --network network=lab-lan,model=virtio \
  --os-variant win2k22 \
  --graphics spice \
  --boot uefi

提示: 挂载 VirtIO 驱动 ISO;Windows 在安装期间需要这些驱动才能检测到存储和网络设备。

我还创建了一个 LabConfig 目录,其中包含几个布尔值,用于覆盖 TPM 和 Secure Boot。

overriding TPM and Secure Boot

分配静态 IP(AD 必需)

Active Directory 必须运行在满足以下条件的服务器上:

  • 静态 IP
  • DNS 指向自身
  • 稳定的主机名

在 Windows Server 中:

设置
IP 地址10.0.0.25
子网掩码255.255.255.0
默认网关10.0.0.1 (pfSense)
首选 DNS10.0.0.25 (本机)

这是强制性的,因为 AD DNS 与域紧密集成。

winserver IP routing

第 2 部分 – 将服务器提升为域控制器

安装 AD DS

  1. 打开 Server ManagerManageAdd Roles and Features
  2. 选择 Active Directory Domain Services 并安装。
  3. 安装完成后,点击 Promote this server to a domain controller

创建你的域

  1. 选择 Add a new forest
  2. 根域:lab.local
  3. 设置 DSRM 密码。
  4. 接受默认设置,安装并重启。

重启后,AD DS 和 DNS 会自动上线。

验证 AD 是否正常工作

打开 PowerShell 并运行:

Get-ADDomain
Get-ADForest

如果两个命令都返回关于 lab.local 的信息,则 AD 正常。

Get-ADDomain command output

Get-ADForest command output

第 3 部分 – 配置 DNS 以实现内部和外部名称解析

为什么 DNS 转发很重要

AD DNS 处理内部查询(例如 lab.local),但也会收到外部查询。如果没有转发器,这些外部查询会失败。

在 pfSense 中修复 DNS 转发

  1. Services → DNS Resolver
  2. 启用 Forwarding Mode
  3. 设置上游 DNS 服务器(例如 8.8.8.8)。
  4. 保存并应用。

在 Windows Server 中修复 DNS 转发

  1. 打开 DNS Manager
  2. 右键单击服务器 → PropertiesForwarders
  3. 添加 10.0.0.1(pfSense LAN IP)。

这样,未知查询会先转发到 pfSense,再由 pfSense 转发到上游 DNS 服务器。

Windows Server DNS forwarders

测试

nslookup lab.local
nslookup google.com
  • lab.local 通过 AD DNS 在内部解析。
  • google.com 通过 pfSense 转发器在外部解析。

两项测试都应成功。

第 4 部分 – 将客户端加入域

A. 将 Windows 11 加入域

前置条件

  • DNS 指向 10.0.0.25(AD 服务器)。
  • 与 AD 服务器的网络连通性(ping 10.0.0.25)。
  • 系统时钟同步(Kerberos 依赖准确时间)。

加入域的步骤

  1. Settings → Accounts → Access work or school → Connect
  2. 选择 Join this device to a local Active Directory domain
  3. 输入 lab.local
  4. 重启。

验证

whoami
nltest /dsgetdc:lab.local
ipconfig /all
  • whoami 应显示域限定的用户名。
  • nltest 应返回域控制器信息。
  • ipconfig /all 应列出 DNS 服务器为 10.0.0.25
Back to Blog

相关文章

阅读更多 »