You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows防火墙规则无法拦截非法DHCP服务器的OFFER报文,如何配置才能仅允许指定DHCP服务器提供服务?

Windows防火墙规则无法拦截非法DHCP服务器的OFFER报文,如何配置才能仅允许指定DHCP服务器提供服务?

我来帮你排查这个问题,你遇到的核心问题其实和DHCP报文的特性以及Windows防火墙规则的细节配置有关,咱们一步步拆解:

先说说你之前配置的问题

你之前的规则犯了一个关键的端口方向错误:DHCP客户端是通过UDP 68端口接收服务器的OFFER报文的,而非法服务器发送OFFER时的源端口是UDP 67。你之前设置拦截入站的UDP 67端口,相当于拦截的是别人试图连接你的67端口(也就是把你的机器当DHCP服务器),但完全没命中非法服务器发往你68端口的OFFER报文,这就是为什么规则不起作用。

另外,用IP范围排除的方式容易出现配置疏漏,不如用"允许合法IP + 阻止所有"的组合规则,逻辑更清晰,也更容易排查问题。

正确的配置步骤

我给你整理了一套可落地的配置流程,亲测有效:

  1. 删除旧规则:先把你之前创建的范围阻止规则删掉,避免干扰新规则的生效。

  2. 创建「允许合法DHCP服务器」入站规则

    • 打开Windows Defender防火墙 → 高级设置 → 入站规则 → 新建规则
    • 规则类型选「端口」,点击下一步
    • 协议选「UDP」,目标端口填68,勾选「特定本地端口」,点击下一步
    • 动作选「允许连接」,点击下一步
    • 配置文件根据你的网络环境勾选(宿舍一般选「专用」即可),点击下一步
    • 远程IP地址选「下列IP地址」,点击「添加」,输入合法DHCP服务器的IP1.1.1.1,点击确定
    • 给规则起个好记的名字,比如「允许合法DHCP服务器发送OFFER」,完成创建
  3. 创建「阻止非法DHCP服务器」入站规则

    • 同样在入站规则里新建规则,步骤和上面类似
    • 规则类型选「端口」,UDP协议,目标端口填68
    • 动作选「阻止连接」,配置文件和上一条保持一致
    • 远程IP地址选「任何IP地址」
    • 命名为「阻止非法DHCP服务器发送OFFER」,完成创建
  4. 调整规则顺序

    • 在入站规则列表里,找到刚才创建的两条规则,把「允许合法DHCP服务器发送OFFER」拖到「阻止非法DHCP服务器发送OFFER」的上方。因为Windows防火墙是按规则顺序匹配的,先匹配到允许规则就会放行,后面的阻止规则就不会生效了。

额外验证小技巧

配置完成后,你可以用命令行验证规则是否正确:

netsh advfirewall firewall show rule name="允许合法DHCP服务器发送OFFER"

这条命令会输出规则的详细配置,确认远程IP、端口、动作都和你设置的一致。

另外,记得确保Windows防火墙处于开启状态,并且规则应用到了你当前使用的宿舍网络适配器上(可以在高级设置的「接口」选项里检查)。

备注:内容来源于stack exchange,提问作者OffByOne

火山引擎 最新活动