在“路由器(DHCP服务器)+ 防火墙(透明模式)+ 终端”的网络拓扑中,终端无法获取IP地址是一个比较常见的故障。由于防火墙处于二层透明桥接状态,不改变原有网络结构,问题通常出在防火墙对DHCP广播/组播报文的处理机制或安全策略上。
您可以按照以下四个维度进行排查与解决:
1. 检查未知MAC地址的广播报文处理(核心排查点)
原因分析: DHCP客户端发出的Discover请求是广播报文。在透明模式下,部分型号的防火墙默认不允许未知目的MAC地址的广播和组播报文通过,这会导致DHCP请求被丢弃。
解决方案: 登录防火墙管理界面,执行允许未知MAC广播报文通过的命令。以华为USG/Eudemon系列为例,需在系统视图下配置:
firewall unknown-mac broadcast flood
(若涉及其他组播协议如OSPF,还需配置 firewall unknown-mac multicast flood)。
2. 核查安全域与安全策略配置
原因分析: 即使是透明模式,防火墙依然需要依靠安全域和安全策略来控制流量。如果未将接口加入正确的安全域,或未放行相关策略,DHCP流量会被拦截。
解决方案:
- 端口划分: 确保连接路由器和交换机的物理端口已切换为二层口,并正确加入了相应的安全域(如Trust和Untrust)。
- 放通策略: 检查域间安全策略,确保双向(Trust到Untrust、Untrust到Trust)均已配置了允许(Permit)动作的策略。
- Local域交互: 如果防火墙自身也需要获取IP或存在特殊转发逻辑,请检查是否放通了到LOCAL域的访问策略。
3. 检查应用控制与高级防护功能
原因分析: 某些下一代防火墙(NGFW)的应用识别功能可能会将DHCP报文误判并默认拦截,或者因为设备兼容性导致回复包被过滤。
解决方案: 检查防火墙的“应用控制策略”或“内容安全”配置,确认DHCP相关的协议或服务已被显式放通。在排查期间,可尝试临时开启防火墙的“直通模式(Bypass)”,若直通后终端能正常获取IP,则100%确认为防火墙策略或应用控制拦截所致。
4. 抓包验证与DHCP服务器端排查
原因分析: 排除中间设备干扰,确认是报文未到达还是服务器未响应。
解决方案:
- 镜像抓包: 在连接防火墙的核心交换机上配置端口镜像,抓取防火墙上下联口的报文。观察终端的DHCP Discover是否发出,以及服务器的DHCP Offer是否返回但被防火墙丢弃。
- 绕过测试: 将终端直接连接到路由器的LAN口进行测试。如果直连可以正常获取IP,说明路由器及DHCP服务本身正常,故障点锁定在防火墙;如果直连也无法获取,需检查路由器的DHCP地址池是否耗尽、网段掩码是否匹配等基础配置。
any-any