这是一个在 Windows 环境中非常常见的 DHCP 选项,主要用于网络引导,尤其是在部署操作系统时。

(图片来源网络,侵删)
什么是 DHCP 选项 66?
DHCP 选项 66 的官方名称是 TFTP Server Name(TFTP 服务器名称)。
它的作用是:当客户端从 DHCP 服务器获取 IP 地址后,DHCP 服务器会告诉客户端去哪个 TFTP 服务器上查找网络启动所需的文件(如启动镜像、内核文件等)。
它就像一个“路标”,引导客户端找到存放启动文件的“仓库”。
工作原理
DHCP 选项 66 的工作流程通常与 PXE(Preboot Execution Environment,预启动执行环境) 紧密相关,用于无盘工作站或网络安装,整个流程如下:

(图片来源网络,侵删)
- 客户端启动:一台客户端计算机(如一台裸机)开机,并从网卡启动(PXE 启动)。
- 广播请求:客户端在网络中广播一个 DHCP Discover 请求,以获取一个 IP 地址。
- DHCP Offer:DHCP 服务器收到请求后,除了提供一个可用的 IP 地址、子网掩码、网关等基本信息外,还会在 DHCP Offer 报文中包含 选项 66,其值为指定的 TFTP 服务器的 IP 地址或主机名。
- 客户端接收:客户端接收 DHCP Offer,并从中提取出 TFTP 服务器的地址。
- 连接 TFTP 服务器:客户端使用获取到的 TFTP 服务器地址,主动连接该服务器。
- 下载启动文件:客户端从 TFTP 服务器上下载启动所需的文件,
pxelinux.0(PXE 启动加载程序)boot.img(启动镜像)wimboot(用于启动 Windows 安装程序的引导程序)
- 执行启动:客户端加载并执行下载的文件,从而开始操作系统安装过程或进入其他启动环境。
参数值详解
DHCP 选项 66 的参数值可以有两种形式:
IP 地址格式
这是最常用和最推荐的方式。
- 格式:一个标准的 IPv4 地址,
168.1.10。 - 优点:
- 精确:直接指向一个确定的网络位置,不会产生 DNS 解析的延迟或失败。
- 可靠:不依赖于 DNS 服务器的可用性和正确性,减少了故障点。
- 适用场景:几乎所有生产环境,尤其是企业内部网络。
主机名格式
这种方式也可以使用,但不如 IP 地址可靠。
- 格式:一个完全限定域名,
tftpserver.mydomain.local。 - 缺点:
- 依赖 DNS:客户端必须能够成功地将此主机名解析为正确的 IP 地址,DNS 服务器出现问题、解析错误或主机名记录不存在,客户端将无法找到 TFTP 服务器,导致启动失败。
- 潜在延迟:DNS 解析过程会引入额外的网络延迟,可能会影响启动速度。
- 适用场景:DNS 服务非常稳定和可靠的小型网络,或者出于管理策略(如使用主机名便于变更服务器 IP)的考虑。
典型应用场景
DHCP 选项 66 主要用于 网络自动化部署,最常见的场景是:

(图片来源网络,侵删)
Windows 部署服务
这是 Windows 环境下最经典的应用,管理员使用 WDS 来批量部署 Windows 操作系统。
- 角色:一台服务器上同时运行 DHCP 服务 和 WDS 服务(或 WDS 指向另一台服务器)。
- 配置:在 DHCP 服务器上设置选项 66,指向 WDS 服务器的 IP 地址。
- 流程:客户端 PXE 启动 -> 从 DHCP 服务器获取 IP 和 WDS 服务器地址 -> 连接到 WDS 服务器 -> 下载 Windows 安装程序启动文件 -> 开始安装。
Linux 网络安装
使用 PXE 和 Kickstart/Cobbler 等工具进行 Linux 系统的无人值守安装。
- 角色:一台服务器运行 DHCP 服务,另一台服务器运行 TFTP 服务和 HTTP/FTP 服务(存放安装镜像和 Kickstart 配置文件)。
- 配置:在 DHCP 服务器上设置选项 66,指向 TFTP 服务器的 IP 地址。
- 流程:客户端 PXE 启动 -> 从 DHCP 获取 IP 和 TFTP 服务器地址 -> 从 TFTP 下载
pxelinux.0和启动菜单 -> 从 HTTP/FTP 服务器下载完整的 Linux 安装镜像和 Kickstart 自动应答文件 -> 开始自动化安装。
如何配置
配置方法取决于你的 DHCP 服务器类型。
Windows Server DHCP 服务
- 打开 DHCP 服务器管理控制台。
- 右键点击你的服务器,选择 “定义选项和筛选器” -> “配置选项”。
- 在 “选项” 列表中,找到并勾选
006 TFTP Server Name(选项 66)。 - 在 “IP 地址” 或 “主机名” 框中,输入你的 TFTP 服务器的 IP 地址(推荐)或主机名。
- 点击 “确定” 保存。
Linux 服务器 (isc-dhcp-server)
编辑 /etc/dhcp/dhcpd.conf 配置文件,在需要作用的 subnet 或 shared-network 块中添加以下行:
option tftp-server-name "192.168.1.10"; # 或者使用主机名 # option tftp-server-name "tftpserver.example.com";
配置完成后,重启 DHCP 服务:
sudo systemctl restart isc-dhcp-server
路由器/家用路由器
不同品牌路由器的界面不同,但通常路径类似:
- 登录路由器管理界面。
- 找到 DHCP 服务器 或 LAN 设置 相关选项。
- 查找 “高级设置” 或 “DHCP 选项”。
- 添加一个新选项,选项编号填
66,选项值填你的 TFTP 服务器的 IP 地址。 - 保存并重启路由器。
重要注意事项
- 防火墙:TFTP 服务器(通常是端口 69)和文件传输端口(由 TFTP 动态协商,通常是
tftp-data端口)必须在客户端和服务器之间的防火墙上放行,这是最常见的问题源。 - TFTP 服务状态:确保 TFTP 服务已经启动并且运行正常,检查其根目录下是否存在客户端需要下载的文件,并且文件权限正确。
- 选项 67 的配合使用:DHCP 选项 66 指定了“去哪里找”,而 DHCP 选项 67 (
Bootfile Name) 指定了“找什么文件”,两者通常需要一起配置才能正常工作,选项 67 可能被设置为\boot\x64\wdsmgfw.efi。 - 与 Option 43 的区别:在一些厂商(如 Cisco)的设备中,
Option 43用于在同一个 DHCP 报文中传递多个特定于厂商的信息,其中也可以包含 TFTP 服务器地址,但在标准的 Windows/Linux 环境中,直接使用Option 66是最直接和标准的方式。
| 特性 | 描述 |
|---|---|
| 名称 | TFTP Server Name (选项 66) |
| 功能 | 指示客户端从哪个 TFTP 服务器下载网络启动文件 |
| 参数值 | 推荐使用 IP 地址 (如 168.1.10),也可使用主机名 (依赖 DNS) |
| 主要用途 | PXE 网络引导,操作系统批量部署 (如 WDS, Linux Kickstart) |
| 关键依赖 | 防火墙规则 (放行 TFTP 端口) 和 TFTP 服务 的正常运行 |
| 搭档选项 | 通常与 选项 67 (Bootfile Name) 配合使用 |
希望这份详细的解释能帮助你完全理解 DHCP 选项 66!
