
很多人在规划办公网或园区网络时都会遇到一个问题终端数量一多手动配 IP 肯定不行用普通路由器当 DHCP 又经常不够灵活最后决定把 DHCP 服务放到交换机上。这里有一个很容易混淆的点交换机上配置 DHCP 服务器时地址池可以建在全局也可以建在接口下。标题里说的“基于全局地址池 DHCP 服务器”本质是把所有可分配地址段统一放在全局配置里再让各 VLAN 接口去关联调用。这篇文章适合正在做 VLAN 规划、想用交换机当 DHCP 服务器的网络管理员最关键的是理解全局地址池和接口地址池的差异并知道先规划什么、再配置什么、最后怎么验证。下面按实际落地顺序拆一遍不绕弯。1. 先搞清楚“全局地址池 DHCP”到底解决什么问题1.1 没有统一规划时DHCP 分配容易乱很多网络一开始规模不大有人在路由器上开 DHCP有人在服务器上装 DHCP还有人直接在某个交换机上随手配置一段地址。这在小网络里看不出问题一旦终端数量超过百台、部门开始划分 VLAN问题就很明显。典型现象是不同网段之间互相冲突地址重复分配。打印机、监控摄像头、门禁主机被随机分到地址后期找设备非常困难。地址池分散在不同设备上改一个 DNS 要登录好几台设备。网络出现问题后根本说不清当前终端是从哪台设备拿到的地址。全局地址池这种模式就是把这些散落的 DHCP 地址段统一收口到交换机上管理。它不关心终端接在哪个物理口只关心终端在哪个 VLAN、哪个三层网段。1.2 全局地址池和接口地址池的核心区别先解释两个基础概念。接口地址池也叫局部地址池是把地址池直接配置在某个接口或 VLANIF 接口下。这个地址池只在当前接口生效终端从该接口所在网段获取地址时才会用到它。全局地址池是在交换机全局配置区域统一创建地址池再让接口去“选择”使用全局池。全局池本身不绑定接口它定义的是一套完整的地址分配规则包括网段、掩码、网关、DNS、租期、排除地址等。两者对比看下面这张表。对比项全局地址池接口地址池配置位置全局配置区域统一创建配置在接口或 VLANIF 下多 VLAN 管理集中维护改一次全局配置即可每个接口分别维护工作量大网段与接口关系地址池与接口逻辑分离地址池强绑定接口跨三层中继配合中继转发更清晰中继场景下配置相对繁琐适用规模多 VLAN、多网段、园区网单网段、小规模、接口数量少如果只有十几个终端、一个网段用接口地址池其实更直观。但如果网络里有 5 个以上 VLAN或者后续大概率要扩展我建议直接上全局地址池。因为后期加一个网段只需要新增一个地址池再在对应 VLANIF 接口上启用不用到处找旧的配置片段。1.3 什么场景优先选全局地址池优先选全局地址池的场景有几个共同点交换机本身作为终端网关通常是三层交换机或具备 DHCP 服务功能的设备。网络划分了多个 VLAN每个部门或每种业务对应独立网段。希望 DHCP 配置集中在一台或少数几台设备上而不是散落在接入层。有集中管理的需求比如统一改 DNS、统一调整租期、统一排查地址冲突。如果你的环境属于这类全局地址池就是比较合适的选择。如果只是在家用路由器上给十几台设备分地址不需要全局地址池这个概念也没有必要把家用场景的配置方式套到企业交换机上。2. 配置前先定好三张表很多人拿到交换机就直接敲命令结果后面反复返工。配置 DHCP 之前我建议先把下面三张表想清楚。2.1 VLAN 与网关规划表第一张是 VLAN 和网关规划表。你要明确一共有多少个业务网段。每个网段用什么 VLAN ID。每个网段的网关地址是多少。网关在哪个设备上是不是就是这台开启 DHCP 的交换机。举个例子VLAN业务用途网段网关VLAN 10办公终端192.168.10.0/24192.168.10.254VLAN 20访客网络192.168.20.0/24192.168.20.254VLAN 30摄像头监控192.168.30.0/24192.168.30.254这张表决定了你后面要建几个全局地址池。每个地址池的网段必须和对应 VLANIF 接口所在网段保持一致。如果地址池里写的是 192.168.10.0/24VLANIF 10 的 IP 却配成 192.168.99.254/24客户端大概率拿不到地址或者拿到地址后网关不通。这个错误非常常见而且不容易一眼看出来因为配置本身不报错。2.2 地址分配规则表第二张表是地址分配规则表。确定每个网段里哪些地址要排除哪些地址要保留租期设多长。需要排除的地址通常包括默认网关。DNS 服务器地址。网络打印机、扫描仪。监控摄像头、门禁主机。服务器和网络设备的管理地址。如果这些地址不排除DHCP 有可能把它们分给普通终端后期一定会出现 IP 冲突。不要指望设备自动避开除非你明确配置了排除范围。租期方面办公终端可以设置 1 天或 24 小时访客网络可以设置 4 到 8 小时监控摄像头这类固定设备可以设置更长租期比如 7 天。租期太短会增加 DHCP 交互频率太长的坏处是地址规划调整时终端很久都不更新。我一般会先用一个较短的租期做测试比如 10 分钟方便验证配置。验证通过后再改回正式租期。2.3 设备角色和网络环境确认第三张表是设备角色表。你要确认几件事这台交换机是否支持 DHCP 服务功能。DHCP 服务器地址池是建在核心交换机上还是建在独立服务器上。客户端所在 VLAN 的网关接口在哪台设备上。客户端和 DHCP 服务器之间是否跨三层如果跨三层中继怎么配置。如果 DHCP 功能打算建在核心交换机上那么客户端网关通常也在这台核心交换机上。此时客户端通过 VLANIF 接口和核心交换机三层互通DHCP 请求直接到达交换机不需要额外配置 DHCP 中继。如果 DHCP 服务器是一台独立的 Windows 服务器交换机只做网关那就要在交换机上配置 DHCP 中继把客户端的 DHCP 广播报文转成单播转发给服务器。这个区别一定要提前确认否则很容易把“交换机开启 DHCP”和“交换机转发 DHCP 报文”搞混。3. 基于全局地址池 DHCP 的配置步骤下面按配置顺序拆解。不同厂商的交换机命令差异很大这里不写具体厂商命令只写通用配置思路。落地时打开对应设备的手册搜索“全局地址池”“DHCP server”“VLANIF”这几个关键词找到真实命令再操作。3.1 先创建 VLAN 并配置 VLANIF 网关第一步先创建 VLAN并把 VLANIF 接口 IP 配好。VLANIF 接口的 IP 就是终端网关。为什么要先做这一步因为 DHCP 分配的地址一定要和终端网关在同一网段。如果 VLANIF 没配好或者接口 down后面地址池建得再完整也没有意义终端根本联系不上网关。配置顺序建议1. 创建 VLAN 10 2. 把终端接入端口划入 VLAN 10 3. 创建 VLANIF 10配置 IP 地址为 192.168.10.254/24 4. 确保 VLANIF 10 接口状态是 up如果你的交换机只是作为 DHCP 服务器而终端网关在另一台设备上那这一步就改为确认好网关设备上的 VLANIF 配置而不是在这台交换机上重复配置。3.2 在全局创建 DHCP 地址池第二步创建全局地址池。一个网段对应一个地址池。地址池里通常需要设置以下参数参数作用建议网段定义可分配的地址范围必须与对应 VLANIF 网段一致掩码定义网段大小常见 /24具体按规划默认网关下发给终端的网关地址一般填对应 VLANIF 地址DNS 服务器下发给终端的 DNS填内网 DNS 或公共 DNS租期客户端使用地址的时间长度办公环境 1 天测试环境 10 分钟排除地址不参与自动分配的地址段建议把网关、DNS、打印机等排除保留绑定给固定 MAC 分配固定 IP服务器、打印机、摄像头场景使用这里最容易忽略的就是排除地址。如果不填排除地址DHCP 看到网关地址也是“空闲”的可能会把它分给某个终端。配置里也不会报错直到某个终端的 IP 和网关冲突你才能发现。建议在配置阶段就把每个网段的排除地址想完整。网关、DNS、网络打印机、摄像头汇聚主机都放到排除范围里。3.3 在接口或 VLANIF 上启用 DHCP第三步不是再建地址池而是让接口“启用 DHCP”。在基于全局地址池的模式下通常需要在对应 VLANIF 接口下执行一条类似“dhcp select global”的命令。不同厂商的语法不一样但逻辑相同告诉这个接口客户端发来的 DHCP 请求用全局地址池来响应。这一步只在你需要分配地址的 VLANIF 接口上做。不需要在物理接口上逐口启用。终端接入物理口向上走 VLAN到达 VLANIF再由 VLANIF 关联全局地址池。很多新手误以为要在每个接入端口上开 DHCP这是不对的。二层端口只需要透传 VLANDHCP Server 功能开启在三层 VLANIF 上。3.4 补充 Option、静态绑定和告警如果业务需要还要在地址池里配置一些进阶参数。Option 3默认网关。Option 6DNS 服务器。Option 15域名后缀。Option 66TFTP 服务器地址。Option 121无类静态路由。其中 Option 3 和 Option 6 是基础项。没有网关终端出不了网段没有 DNS终端访问不了域名。很多终端能拿到 IP 却上不了网问题往往就出在 DNS 没有下发或者下发了一个错误的内网地址。静态绑定适用于服务器、打印机、门禁主机这类需要固定 IP 的设备。通过 MAC 地址和 IP 地址绑定保证设备每次获取到同一个地址。注意静态绑定要提前收集好设备的 MAC不要靠猜。3.5 通用配置示意下面是一份伪配置示意不代表某个厂商的真实命令。它表达的是配置思路真实环境下请替换成设备支持的语法。1. VLAN 配置部分 VLAN 10 VLANIF 10 IP 192.168.10.254/24 2. 全局地址池部分 全局地址池 vlan10_pool 网段 192.168.10.0 掩码 255.255.255.0 默认网关 192.168.10.254 DNS 服务器 192.168.10.2 租期 1天 排除地址 192.168.10.1 - 192.168.10.100 3. VLANIF 启用 DHCP 部分 interface vlanif 10 启用 DHCP 全局地址池不同设备的差异主要在第三步的命令关键字上。有的厂商叫“dhcp select global”有的叫“ip helper-address”或“dhcp server”。我的建议是不要死记命令先理解“地址池建在全局接口关联全局池”这个流程再对照手册写命令。4. 验证和排错怎么看它真的生效配置完不是结束必须验证。很多人配完直接在交换机上敲几行 show 命令就觉得完成了结果客户端根本拿不到地址。正确的验证顺序应该从客户端开始。4.1 客户端侧验证方法找一台测试终端接入对应 VLAN 的端口然后执行下面几步。第一步释放旧地址并重新获取。ipconfig /release ipconfig /renew第二步查看获取到的地址信息。ipconfig /all正常的输出应该包含IP 地址属于规划网段。子网掩码正确。默认网关是 VLANIF 地址。DNS 服务器地址正确。DHCP 租约获取时间和过期时间正常。第三步测试连通性。ping 网关地址 ping DNS 服务器地址如果网关能通DNS 也能通再考虑测试访问互联网。如果网关都不通问题大概率出在 VLAN 划分、端口类型或 VLANIF 配置上而不是 DHCP 本身。如果需要更细的排查可以在客户端和交换机上同时抓包。正常情况下应该能看到四条报文Discover、Offer、Request、Ack。如果只看到 Discover没有 Offer说明 DHCP 服务器没有响应重点查交换机或服务器如果看到 Offer 但没有 Request说明客户端可能收到了多个 DHCP 响应或者客户端网卡有缓存需要先 release。4.2 交换机侧查看方式交换机上一般可以查看这些信息地址池列表确认网段、掩码、排除范围是否完整。地址池利用率看还有多少地址可用。DHCP 绑定表看哪个 MAC 拿到了哪个 IP从哪个接口接入。DHCP 冲突记录看是否有地址冲突。DHCP 日志看分配过程是否正常。不要只看地址池有没有创建成功还要看绑定表有没有条目。如果客户端已经拿到地址绑定表里应该有对应记录。如果绑定表为空但客户端显示获取到了地址有可能是 DHCP 服务器另有其人这时候要注意网络中是否有人私建了 DHCP 服务。4.3 常见现象和排查顺序下面是几个常见现象和对应的优先排查点。现象优先排查点客户端拿不到地址VLANIF 是否 up、DHCP 是否启用、网段是否匹配拿到地址但 ping 不通网关VLAN 划分、接入端口类型、网关 IP拿到地址但上不了网DNS 是否下发正确、出口路由、防火墙策略地址冲突排除地址范围、静态 IP 设备、ARP 扫描获取地址非常慢租期过短、地址池耗尽、客户端网卡缓存排查顺序我建议这样先确认客户端在哪个 VLAN物理链路是否正常。再在客户端上 ping 网关。然后看交换机上的 DHCP 状态和绑定表。再检查地址池配置重点看网段、排除地址、租期。如果跨三层检查 DHCP 中继配置。最后再考虑安全特性比如 DHCP Snooping、端口隔离是否误杀。不要一上来就怀疑交换机坏了也不要一上来就改地址池。大多数问题出在规划不清晰或配置和规划不一致上。5. 从单 VLAN 到多网段批量落地的经验单 VLAN 跑通之后很多人会开始加 VLAN、加网段。这时候要注意全局地址池的“全局”不等于“一个池包含所有网段”。5.1 多网段怎么组织地址池多网段环境下我建议一个网段建一个地址池池名称用 VLAN 号或业务名称来区分。比如vlan10_officevlan20_guestvlan30_camera不建议把多个网段塞进同一个地址池。因为地址池的核心是“网段 掩码 网关”这组信息如果混淆客户端可能被分配到不属于自己网段的地址后期排查非常痛苦。多地址池的管理重点每个地址池单独配置排除地址。每个 VLANIF 接口启用对应的全局地址池。地址池命名有规律方便一看就懂。配置前先在测试 VLAN 上改参数验证通过后再批量复制。批量操作时很多人喜欢直接把第一条配置复制几份然后只改 IP。这样做容易漏改网关、排除地址或 DNS。我建议每配置完一个 VLAN就在客户端上做一次 renew 测试不要等全部配完再测。5.2 跨三层中继时全局池怎么配合如果交换机本身既是网关又是 DHCP 服务器配置相对简单客户端通过 VLANIF 直接访问 DHCP 服务器不需要中继。如果 DHCP 服务器不在客户端所在的三层设备上比如 DHCP 服务器在核心交换机上但客户端网关在汇聚交换机上客户端发送的 DHCP 请求是广播报文默认不会跨三层转发。这时需要在汇聚交换机的 VLANIF 接口上配置 DHCP 中继把广播转换为单播转发到核心交换机上的 DHCP 服务器地址。配置中继时要注意中继目标地址必须写 DHCP 服务器的实际管理地址或业务地址。不要写成本机 VLANIF 地址除非你的中继和服务器在同一设备上且设备支持特殊处理。跨三层场景下客户端所在网段仍然要有对应的全局地址池。如果 DHCP 服务器在核心交换机交换机上可能同时存在地址池和中继配置要分清角色避免出现报文循环。这里建议画一张简单的数据流向图。不需要多专业只要标清楚客户端、接入交换机、网关设备、DHCP 服务器四个点就能避免很多配置错误。5.3 地址池监控、日志和配置备份地址池不是一次配完就不管了。长期运行时要关注几个指标。地址池利用率。如果利用率长期超过 80%说明地址不够用需要扩容网段、缩短租期或清理长期不用的绑定。不要等到终端拿不到地址才去查。地址冲突数量。冲突数持续增长说明网络里有静态 IP 配置不规范或者排除范围没有覆盖完整。要结合 ARP 表定位。DHCP 日志。日志能告诉你哪个 MAC 在什么时间拿到了哪个 IP来自哪个接口。这个信息在网络溯源时非常有用。配置备份。地址池、排除范围、DHCP 绑定这些配置要定期备份。尤其是变更前一定要先备份否则改坏了很难短时间恢复。如果网络规模比较大可以考虑用 SNMP 或脚本定期拉取地址池利用率和绑定表。但我不建议一开始就做很复杂的自动化先把手工查看的流程跑顺再考虑自动化。6. 我踩过的一些坑和最终建议配置交换机全局地址池 DHCP 本身不复杂真正容易出问题的是配置顺序和规划一致性。6.1 最容易忽略的配置顺序问题有一个顺序问题我踩过很多次先把全局地址池建好再配 VLANIF最后才在接口上启用 DHCP。看起来顺序合理但实际调试时容易出问题。更好的顺序是先配 VLAN把 VLANIF 网关配好。再建全局地址池填好网段、网关、DNS、排除范围。然后在 VLANIF 接口下启用 DHCP。最后用客户端测试 renew 和 ping。原因是 DHCP 分配依赖三层网络通畅。VLANIF 没有配好地址池再完整也发不出去。先配 VLANIF可以减少干扰项把问题控制在 DHCP 配置本身。6.2 不要一次把高级特性全部打开很多人配置 DHCP 时会顺手把 DHCP Snooping、Option82、防私设 DHCP 服务器、端口安全全部打开。想法是好的但这些功能会干扰 DHCP 报文交互。如果一开始就全开遇到问题很难分清是地址池配置错误还是安全策略误杀。我建议先保持最小配置只做基本 DHCP 分配。等终端稳定获取地址后再逐项开启安全功能。每次只开一个然后重新验证客户端能否正常拿到地址。比如开启 DHCP Snooping 后要确认连接合法 DHCP 服务器的端口被设置为信任口。如果不设置信任口交换机可能会丢弃来自 DHCP 服务器的 Offer 和 Ack 报文导致客户端拿不到地址。6.3 长期运行前的检查清单最后留一份检查清单是我自己在上线前会过一遍的内容。每个 VLAN 的 VLANIF 网关是否配置正确。全局地址池网段是否和 VLANIF 网段一致。排除地址是否覆盖网关、DNS、打印机、摄像头。静态绑定设备的 MAC 是否收集完整。租期是否符合业务需求。DNS 服务器地址是否可达。客户端能否正常 renew 并 ping 通网关和 DNS。跨三层场景是否配置了正确的 DHCP 中继。是否开启了 DHCP 日志和地址池告警。配置是否已经备份。如果你正在规划把 DHCP 从独立服务器迁到交换机上或者准备在核心交换机上开启全局地址池 DHCP我建议先拿一个测试 VLAN 跑通再扩展到多 VLAN。先从单网段验证再考虑跨三层中继每一步都确认清楚再放开批量上线。这个方案真正落地时最该盯住的不是功能列表而是地址池与 VLANIF 网段是否匹配、排除地址有没有漏、日志和告警是否开启。