dhcpsrv 2.5.2 中文介绍与使用教程:Windows 下绿色免安装的 DHCP 服务器

dhcpsrv 2.5.2(全称 DHCP Server for Windows)是一款只有一百多 KB 的绿色免安装 DHCP 服务器:解压到任意目录,用自带的 dhcpwiz.exe 向导点六步生成一份 INI 配置,就能让一台普通 Windows 电脑给局域网里的设备自动分配 IP 地址。它同时集成了 TFTP、DNS 和 HTTP 状态页,常被用来做 PXE 网络启动、机房批量装机、临时测试网段的地址分配。本文整理 dhcpsrv 2.5.2 官方下载直链、百度网盘备用地址、完整配置步骤、dhcpsrv.ini 进阶写法与常见故障排查。

需要先说明一个容易踩坑的背景:官网明确写着,2.5.2 及更早版本属于免费软件,可免费使用与自由分发;从 2.6 版开始需捐赠(1 欧元起)后才能通过邮件拿到下载链接。因此 2.5.2 是官方下载页上最后一个公开、免费、可直接下载的版本,这也是至今各种教程和网盘里流传的都是它的原因。

一、dhcpsrv 是什么

DHCP Server for Windows 由 dhcpserver.de 维护,是一个极简的 DHCP 服务端实现。官方首页对它的定位是「a very simple and easy to use implementation of a DHCP Server for Windows based systems」,官网称支持从 Windows 98 到 Windows 11 的各代 Windows 系统(运行文档写成 Windows 95 起)。

它和 Windows Server 自带的 DHCP 角色、路由器里的 DHCP 功能最大的区别有三点:

  • 不需要安装:官方明确说明它是 portable application,解压到任意目录(例如 D:\dhcpsrv)就能运行,也可以作为 Windows 服务或托盘程序常驻。
  • 配置即数据库:dhcpsrv.ini 既是配置文件,也保存客户端的租约与地址分配记录,官方原话是该文件是「the configuration and the database」。备份这一个文件就等于备份了整套服务。
  • 不止 DHCP:同一个进程里还能开启集成的 DNS Server、TFTP Server 和 HTTP 状态页,配合 PXE / BOOTP 做网络启动时不必再单独搭一堆服务。

二、为什么是 2.5.2:版本与授权说明

项目 说明
版本 V2.5.2,发布日期 2016 年 7 月 17 日
该版更新内容 修复内置 HTTP Server 处理路径与文件名中 + 号的问题,并为 HTTP 文件服务加入目录列表功能
授权 2.5.2 及更早版本为免费软件:官方写明可免费用于学术与个人用途并自由再分发,无版税、无 GNU 类 copyleft 限制,也不要求保留版权标识;软件按「原样」提供,不含任何担保
2.6 及以后 需在官网捐赠至少 1 欧元,下载链接发送到 PayPal 注册邮箱,有效期 100 天
官网当前最新版 V2.10.6(2026 年 8 月 23 日),另提供 Windows 32/64 位与树莓派 32/64 位版本;新版需捐赠获取
文件大小 官方 2.5.2 压缩包 dhcpsrv2.5.2.zip 约 109 KB(实测 111319 字节)

使用前请留意:2.5.2 是 2016 年的版本,十年间没有再收到安全更新。它适合实验环境、封闭内网、临时装机或 PXE 调试;生产网络、对外可达的网段建议改用 Windows Server DHCP 角色,或向官方捐赠获取持续维护的新版。

三、功能特性

功能 说明
DHCP 地址分配 通过 IPPOOL_x 定义地址池,支持多网卡、多作用域与 DHCP Relay Agent(官方称最多 10 个作用域)
静态地址绑定 在 INI 里按 MAC 地址写客户端段,配合 IgnoreUnknownClients=1 可实现「只给已知设备发地址」
租约与下发参数 LEASETIME 租期,SUBNETMASK、ROUTER_1 网关、DNS_1、DOMAINNAME、WINS 及自定义 DHCP Options
过滤规则 IPSCOPE_n 表达式可按 MAC、client id、十六进制 option 值筛选客户端,也能做黑白名单
集成 DNS / TFTP / HTTP DNS 转发与 A / PTR 记录;TFTP 根目录与端口范围(配合 PXE 启动);HTTP 状态页实时查看已分配租约
状态与排障 浏览器打开 http://127.0.0.1/dhcpstatus.xml 看在线客户端,托盘图标右键可直接打开;另有 dhcptrace.txt 跟踪日志
运行方式 托盘应用程序或 Windows 服务;支持 -install / -start 等命令行参数,方便脚本与无人值守部署
多实例 主 INI 的 [Servers] 段可指向多个子 INI 文件,把一台机器虚拟成多个独立 DHCP Server

四、下载包内容与系统要求

解压 dhcpsrv2.5.2.zip 后,官方运行文档列出的文件是:

  • dhcpsrv.exe —— DHCP 服务器主程序
  • dhcpwiz.exe —— 六步配置向导,用来首次生成 INI 文件
  • readme.txt —— 说明文件
  • wwwroot 目录 —— 内置 HTTP 状态页所需的样式与图片(dhcpstyle.xsl、index.html 等)

系统方面,官网称覆盖 Windows 98 到 Windows 11 的 32 位与 64 位系统;较新的 Windows 10 / 11 上可以正常使用,但需要管理员权限才能安装为服务或修改 Windows 防火墙例外。另外有两个实操前提经常被忽略:

  1. 本机网卡要设静态 IP。官方建议选择一张「自身不通过 DHCP 获取地址」的网卡,否则容易和本服务冲突。
  2. 同一网段里不能再有第二个 DHCP。如果路由器 / 光猫已经开着 DHCP,必须先关掉其中一个,否则客户端会随机拿到错误网段的地址,表现为「能连上网但上不了网」或 IP 冲突。

五、下载与安装

  1. 从本文第八节的官方直链或百度网盘备用链接下载 dhcpsrv2.5.2.zip。
  2. 解压到一个普通目录,例如 D:\dhcpsrv。不建议放进 C:\Program Files,因为程序运行时要往同目录写 dhcpsrv.ini(记录租约),受 UAC 保护时可能被虚拟化或写入失败。
  3. 给准备提供 DHCP 服务的网卡配置一个固定 IP,例如 192.168.10.1,子网掩码 255.255.255.0。
  4. 暂时关闭该网段上路由器 / 其他 DHCP 服务,避免双 DHCP 冲突。
  5. 右键以管理员身份运行 dhcpwiz.exe。整个软件没有安装程序,这一步就是「安装」。

六、使用方法:dhcpwiz 六步向导

官方把 dhcpwiz.exe 定义为首次配置用的向导(wizard style configuration program),用来生成运行所需的 INI 文件。

第 1 步:欢迎页

直接点 Next。

第 2 步:选择网卡

向导会列出当前识别到的所有网络接口,必须选中一张作为 DHCP 服务使用的接口。官方特别提醒:优先选择本身没有启用 DHCP 客户端、IP 是手工指定的那张网卡;如果选错,后续地址池与实际网段不匹配,客户端会拿到不可用的地址。

第 3 步:启用哪些协议

勾选要启用的 TCP/IP 协议。官方建议顺手把 HTTP(Web Server) 打开,之后才能用浏览器看实时状态页,排障方便很多。需要 PXE 装机时再考虑 TFTP、DNS。

第 4 步:配置地址池

定义要分配给客户端的 IP 范围,例如 192.168.10.2-49。向导会根据所选网卡自动填好默认值,两个按钮值得点开看:

  • Advanced:子网掩码、网关(Router)、DNS / WINS 服务器。
  • DHCP Options:next server(TFTP 服务器地址)、bootfile、域名以及自定义 DHCP 选项,PXE 网络启动主要在这里配。

注意地址池要和本机网卡在同一个网段,并且排除掉网关、服务器、打印机等已占用的静态地址。

第 5 步:写入 INI 文件

确认路径指向解压目录下的 dhcpsrv.ini(例如 D:\dhcpsrv\dhcpsrv.ini)。官方强调 INI 文件必须与 dhcpsrv.exe 放在同一目录。点「Write INI file」生成后再点 Next。

「Overwrite existing file」默认不勾选,这是官方有意的设计:向导只用于首次配置,不打算让你用它反复编辑 INI。后续要改配置请直接用记事本编辑 dhcpsrv.ini;如果确实重跑向导,注意别把改过的配置覆盖掉,改前先备份一份。

第 6 步:防火墙与启动

点「Configure」把 dhcpsrv.exe 加入 Windows 防火墙例外,等状态从 Not configured 变成 configured;没有管理员权限时先点「Admin…」提权。随后二选一:

  • 点 Install + Start 装成 Windows 服务,状态要从 Not installed 变成 Running,适合长期常驻;
  • 或勾选 Run DHCP server immediately 直接以托盘应用程序方式运行,适合临时测试。

DHCP 服务使用 UDP 67(服务端)/ 68(客户端),若防火墙是手工管理的,需要放行这两个端口以及 dhcpsrv.exe;启用 TFTP 时还要放行 UDP 69,启用状态页时放行 HTTP 端口(默认 80,可用 PORT_80 改)。

七、启动、验证与命令行

如果第 6 步没有启动服务,手动运行 dhcpsrv.exe 即可。在 Windows NT / 2000 / XP / Vista / 7 / 8 / 10 / 11 上会弹出一个控制对话框,可选择装成服务、配置防火墙,或点「Continue as a tray app」退到托盘;勾选「Don’t show this window next time」后下次直接进托盘。更老的 Windows 98 则直接以托盘图标运行。

验证是否真的在工作,用这三招最快:

  1. 浏览器打开 http://127.0.0.1/dhcpstatus.xml(或托盘图标右键 → Open status),能看到配置的连接与当前客户端;若改过 PORT_80,加上对应端口。
  2. 在客户端执行 ipconfig /renew,看拿到的 IP 是否落在地址池里,网关与 DNS 是否正确。
  3. 用 ipconfig /all 确认「DHCP Server」一栏显示的正是这台 Windows 机器的 IP,避免被路由器抢答。

官方从 V1.7 起支持命令行参数,适合写进批处理或无人值守脚本(参数从左到右解析,顺序任意,安装为服务需要管理员权限):

参数 作用
-install / -remove 安装 / 卸载为 Windows 服务
-start / -stop 启动 / 停止服务
-control 打开服务控制对话框
-runapp 强制以应用程序(托盘)模式运行,忽略已安装的服务
-ini 文件名 指定 INI 文件路径,仅在应用程序模式下有效,默认是 dhcpsrv.ini
-configfirewall / -removefirewall 添加 / 移除 dhcpsrv.exe 的防火墙例外
-help 显示帮助对话框

官方示例:dhcpsrv -install -start 一条命令装好并启动服务。

八、dhcpsrv.ini 进阶配置

INI 里每条设置都是单行 name=value,分号 ; 开始注释,值里若含分号或需要保留空格要用双引号。特别提醒:IPSCOPE_n 这类表达式可能长达数百字符,必须保持在一行,从邮件或聊天窗口复制时被自动换行是最常见的配置错误来源。

最简动态分配

[General]
SUBNETMASK=255.255.255.0
ROUTER_1=192.168.10.1
DNS_1=192.168.10.1
LEASETIME=86400

[Settings]
IPBIND_1=192.168.10.1
IPPOOL_1=192.168.10.2-49

IPPOOL_x 是地址池,IPBIND_x 是本机绑定的网卡 IP,LEASETIME 单位是秒(86400 为一天)。官方说明实际租期取「客户端请求值」与「INI 配置值」中的较小者,租期设得太短会让网络里不断出现续约流量。

固定 IP(静态绑定)

[00-E0-00-1C-AB-68]
IPADDR=192.168.10.50

[Settings]
IPBIND_1=192.168.10.1
IgnoreUnknownClients=1

按 MAC 地址写客户端段即可固定分配。两个官方强调的细节:静态段不要写 AutoConfig,否则会被当成自动生成的租约记录而被改写;全静态分配时应移除 IPPOOL_x,并可用 IgnoreUnknownClients=1 拒答未登记的设备。

多网卡 / 多子网

[Settings]
AssociateBindsToPools=1
IPBIND_1=192.168.10.1
IPBIND_2=192.168.11.1
IPPOOL_1=192.168.10.2-49
IPPOOL_2=192.168.11.2-49

[General_1]
LEASETIME=3600

[General_2]
LEASETIME=86400

官方特别指出:多子网时务必加 AssociateBindsToPools=1,否则服务器会把所有 IPPOOL_x 当成一个不区分子网的大地址池。不同网卡的参数可以写进 [General_x],编号与 IPBIND_x 对应;DOMAINNAME 则必须放在 [General]。

集成服务片段

[DNS-Settings]
EnableDNS=1
FORWARD=192.168.2.1

[TFTP-Settings]
EnableTFTP=1
PortRange=AUTO
WritePermission=0
Root="c:\tftproot\"

[HTTP-Settings]
EnableHTTP=1
Root="c:\httproot\"

启用 TFTP 时记得放行 UDP 69;HTTP 状态页依赖解压包 wwwroot 里的 dhcpstyle.xsl,官方说明它要放在 HTTP 根目录下。PORT_80 写在 [Settings],可避开 80 端口被占用的情况。更完整的参数请查官方 INI 文档(文末有链接)。

九、常见问题与故障排查

现象 排查方向
客户端完全拿不到 IP 先按官方 FAQ 的建议:手工给客户端配一个静态 IP 验证网络本身通不通;网络都不通时 DHCP 帮不上忙。再检查防火墙是否放行 UDP 67/68、服务状态是否为 Running、地址池是否与网卡同网段
拿到 169.254 开头的地址 客户端没收到任何 DHCP 应答(APIPA 自动地址),通常是服务没启动、防火墙拦截、或选错了网卡
IP 能拿到但上不了网 / 网段不对 八成是路由器 DHCP 没关,同一网段两个 DHCP 在抢答;关掉其中一个,再 ipconfig /release + ipconfig /renew
地址池用完 扩大 IPPOOL_x 或缩短 LEASETIME;官方说明池满时会回收「租约过期最久」的客户端条目
提示权限不足 / 装服务失败 安装为服务、修改防火墙例外都需要管理员权限,用「Admin…」提权或右键以管理员身份运行
INI 改动不生效 确认改的是与 dhcpsrv.exe 同目录的那份 dhcpsrv.ini;改完重启服务。注意 INI 每条设置不能换行
重跑向导后配置被覆盖 向导默认不勾 Overwrite existing file,是防误覆盖设计;修改前先备份 INI,日常改配置直接用文本编辑器
状态页打不开 第 3 步是否勾选了 HTTP、防火墙是否放行、端口是否被占用(可用 PORT_80 改端口)、wwwroot 是否完整
服务已停,浏览器还显示状态页 官方 FAQ 明确说明这是浏览器缓存造成的,清理缓存即可
怎么卸载 官方说明软件没有安装 / 卸载程序:托盘模式直接退出并删目录;服务模式先 Stop 再 Remove(或在 Windows 服务管理里删除,需管理员权限),之后删除文件夹即可
PXE 网络启动不成功 检查 DHCP Options 里的 next server 与 bootfile、TFTP 根目录与 UDP 69 放行情况;官方另有专门的 PXE FAQ 页面

十、相关网络工具

搭好地址分配后,通常还要验证连通性和后续运维:批量看多台主机在线状态可用 PingInfoView 中文介绍与使用教程;测端口与服务可达性可参考 使用 curl 测试 FTP 连通性;域名指向临时改 hosts 用 SwitchHosts! 使用教程;连上服务器传文件或登录终端分别看 WinSCP 使用教程 与 PuTTY 使用教程;如果需要的是文件服务端而非地址分配,还有 FileZilla Server 介绍与配置。

十一、dhcpsrv 2.5.2 下载地址

下载后建议先核对压缩包内主程序版本与文件完整性;第三方站点提供的所谓「汉化版 / 增强版」并非官方发布,涉及网络基础设施服务,优先从官网或本文备用链接获取。

小结

dhcpsrv 2.5.2 的价值在于「轻」:一个百来 KB 的绿色包,六步向导生成一份 INI,就能在任意 Windows 上临时撑起一个 DHCP 服务,配上 TFTP 还能做 PXE 装机。它的边界同样清楚——2016 年之后不再更新,配置项全靠手写 INI,且同一网段绝不能和路由器 DHCP 并存。把它用在实验、内网临时分配和无盘启动调试很顺手;如果是长期运行的生产网络,还是建议用 Windows Server DHCP 角色或官网持续维护的新版。


© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享