温馨提示:
本文所述内容具有依赖性,可能因软硬条件不同而与预期有所差异,故请以实际为准,仅供参考。
针对路由器分出的两个接口分别接入 Kerio 防火墙,出现 IPv4 正常但其中一台(::66)IPv6 不通的现象,现总结如下:
1. 核心故障现象
- 物理连通性:防火墙 WAN 口(VLAN 聚合接口
eth2.501)能监测到外部 IPv6 Ping 包,但防火墙不响应。 - 路由表异常:故障机(::66)初始状态下缺少指向
eth2.501的默认网关(Default Route),导致回包路径错误或丢失。 - 邻居表失效:故障机邻居表条目中,网关的 Link-Local 地址显示为
STALE(陈旧)状态,且缺少全局地址网关的映射。
2. 关键发现:Metric 的决定性作用
在多 WAN 环境下,Metric(跃点数/优先级)是路由选择的生死线:
- 冲突点:系统可能已存在由 PPP 接口或其他链路生成的默认路由,默认 Metric 较高。
- 解决方案:在命令行执行
ip -6 route add default via [网关] dev eth2.501 metric 1后,IPv6 立即恢复通畅。 - 结论:手动指定
metric 1强行提升了该 VLAN 接口的优先级,确保了内核在进行源地址选择(Source Address Selection)时,能正确匹配到对应的 IPv6 地址。
3. Kerio 界面配置行为分析
Kerio Control 在处理 IPv6 静态路由时存在特定的校验与初始化逻辑:
- 全局地址校验失败:在界面手动将网关设为
2409...::全局地址时,由于内核此时无法解析其 MAC 地址(报错No route to host),导致配置无法写入内核路由表,路由立即丢失。 - 静态路由转义:手动添加指向
fe80网关且metric 1的路由后,系统会将其识别并显示为“静态路由”,且 IPv6 立即恢复通畅。 - 重启恢复机制:重启后,系统通过接收 RA(路由通告)重新触发了 NDP 过程,使网关
fe80变为REACHABLE活跃状态,并自动生成了指向全局地址的“系统路由”。
4. 故障根源总结
- 根本原因:由于 VLAN 聚合链路对 NDP(邻居发现协议)的支持不如物理直连稳定,可能导致 Kerio 在配置应用时无法通过全局 IP 映射到 MAC 地址。
- 间接原因:多 WAN 环境下的路由优先级竞争,导致流量在没有高优先级(低 Metric)强制引导时,尝试从其他错误接口流出。
5. 建议的操作方案
- 首选方案:依靠重启后的自动探测机制(RA)。既然重启能自动生成有效的系统路由,当线路发生变化时应优先选择重启 Kerio Control 防火墙。
- 备选方案:若再次断线,可在界面路由表中配置指向网关 Link-Local 地址(fe80) 的静态路由,并确保 Metric 值为 1,以维持最高优先级。
- 风险提示:尽量避免在界面配置中将网关设为全局地址如
2409...::,以防因 NDP 刷新不及时触发 Kerio 的配置校验失败导致路由删除。
相关文章:
1、《利用 Kerio Control 转发 IPv4/IPv6 请求》
2、《Kerio Control 防火墙组建 VPN 后内网 IPv6 互通方案》
3、《Kerio Control 防火墙启用 IPv6 方法及相关问题》