利用 Kerio Control 转发 IPv4/IPv6 请求

温馨提示:
本文所述内容具有依赖性,可能因软硬条件不同而与预期有所差异,故请以实际为准,仅供参考。

一、需求场景

有两台运行 Kerio Control 的防火墙 A 与 B,已创建 VPN 通道,有一特殊链接 C,仅有 B 可以访问,A 无法直接访问,因此在不额外增加设备的情况下,当 A 内网下的主机 D 想要直接访问 C,需要将流量转发到 B 去处理。

再复杂一点,可能 B 也无法直接处理,需要 B 内网下的主机 E 来处理(比如 E 安装了代理)。

所以原先的请求路由是:D -> A -> C,现在变成:D->A->B->E->C

二、部署方案

1、原理

A 与 B 创建 VPN 时,可以添加自定义路由,当防火墙识别到该流量时会自动转发到 VPN 接口处理。同时结合流量规则,可将流量指向目标设备处理。

2、收集目标 IP

C 可能是 IPv4、IPv6 或域名,如果是虚名需要将此域名解析为 IP,如果使用了 CDN,可能需要进一步转换为 CIDR。

如果是 IPv6,参考《Kerio Control 防火墙组建 VPN 后内网 IPv6 互通方案》,需要进一步处理使 IPv6 内网互通后,方可正常转发 IPv6 流量。

3、A 自定义路由

在 A 的界面里,找到与 B 的 VPN 链接,将上面的目标 IP 添加到自定义路由,保存后,在 A 的路由表里可以看到新增的自定义路由。

添加后,A 收到访问 C 的请求,就会转发到 B。

4、A/B 配置地址组

A 默认禁止访问,因此需要在流量规则中放行,为避免扩大访问,可以配置 IP 地址组

在 A 的IP 地址组中,创建一个新的 IP 地址组,比如 iptv 地址组,将上面的目标 IP 添加进来,这里可以同时添加 IPv6。

5、A/B 配置服务

同理,为避免扩大访问,可以配置服务

在 A 的服务中,新增一个服务,比如iptv 服务,根据 C 的特点可以指定协议、端口等。

6、A 配置流量规则

接下来就可以在 A 的流量规则中,新增一条放行规则。

比如名称为转发请求,源为可信/本地接口(为方便调试,也可以再添加防火墙),目的地为iptv 地址组,服务为iptv 服务,IP 版本为任何,操作为 允许

7、B 配置流量规则

在 B 的流量规则中,新增一条类似的放行规则,或者如果要转发到 E 处理:

比如名称为转发请求,源为所有 VPN 通道(为方便调试,也可以再添加防火墙),目的地为iptv 地址组,服务为iptv 服务,IP 版本为任何,操作为 允许(如果转发则为 MAP E 的 IP 及代理端口)。

三、测试

配置好后,请求 D->A->B->E->C 就完成了,需注意的是,我们这里的流量规则只放行了特定的服务iptv 服务,因此可以是用 curl测试,使用 pingtraceroute 等命令仍然是不通的。

四、注意事项

  • 若使用 E 来转发 IPv6 流量,注意代理软件需要同时监听 IPv6(很多默认只监听 IPv4)。
  • 若对 IPv6 进行 CIDR 缩减,目前测试 Kerio Contro 不支持 /56 块。

针对 /56 块问题,AI 回答是:

1、直连网络中一般建议使用 /64 子网,因为 IPv6 的 NDP(邻居发现协议)通常是以 /64 进行工作,跨 /64 的邻居发现/直连可能失败。
2、针对 IP 明明在 /56 范围内却无法被正确匹配的问题,很可能就是出在 NDP 跨 /64 时无法工作:即使路由表显示 /56,接口可能仍只处理其实际所配置的 /64 段。


ArmxMod for Typecho
个性化、自适应、功能强大的响应式主题

推广

 继续浏览关于 部署教程VPNipv4keriokerio control 的文章

 本文最后更新于 2025/08/14 17:39:48,可能因经年累月而与现状有所差异

 引用转载请注明: VirCloud's Blog > 运维 > 利用 Kerio Control 转发 IPv4/IPv6 请求