VIP 映射的主机访问 Internet
VIP 映射的主机访问 Internet
网络需求
某用户使用 VIP 一对一映射了一个公网 IP 到内网服务器,同时又需要此服务器通过 FortiGate 的 SNAT 访问 Internet。
网络拓扑

- 在 port1(WAN1)上通过 VIP 将 202.103.12.3 映射到内网 Server 10.10.2.100。
- 内网 PC 和 Server 都通过 port1(WAN1)做 SNAT 访问 Internet,SNAT 策略配置转换的源 IP 为借用出接口地址 202.103.12.2。
配置步骤
配置 VIP 映射,将 202.103.12.3 映射到内网 Server 10.10.2.100。
重要
建议在配置 VIP 时绑定对应的接口,详情见“结果验证”的第 2 步。

config firewall vip edit "VIP_to_Server" set extip 202.103.12.3 set mappedip "10.10.2.100" set extintf "port1" next end使用安全策略放通 Internet 到 VIP 的访问。

config firewall policy edit 1 set name "VIP_to_Server" set srcintf "port1" set dstintf "port4" set action accept set srcaddr "all" set dstaddr "VIP_to_Server" set schedule "always" set service "ALL" next end配置上网策略,允许内网 PC 和 Server 访问 Internet,并开启 SNAT,SNAT IP 池选择使用流出接口地址。

config firewall policy edit 2 set name "to_Internet" set srcintf "port3" "port4" set dstintf "port1" set action accept set srcaddr "10.10.1.0/24" "10.10.2.0/24" set dstaddr "all" set schedule "always" set service "ALL" set nat enable next end
结果验证
内网 PC 可以访问 Internet 时,SNAT 转换的源地址正确地转换为出接口 port1(WAN1)的 IP 地址 202.103.12.2。

Server 也可以正常访问 Internet,。
重要
在多公网出口环境中,VIP 配置必须按照上述配置步骤绑定对应的公网接口,否则映射的 Server 主动访问 Internet 并执行 SNAT 时,可能会选错 SNAT 源地址。

- 。
解决方法
如果要求 VIP 映射的服务器访问 Internet 时,按照上网策略的配置使用流出接口地址作为 SNAT 的源地址,则需要将上网策略的 SNAT 池改为“动态 IP 池”方式。新建 IP 池,范围配置为出接口 port1(WAN1)的 IP。

config firewall ippool edit "WAN1" set startip 202.103.12.2 set endip 202.103.12.2 next end编辑上网策略,将“IP 池配置”修改为“动态 IP 池”,选择上步创建的 IP 池。

config firewall policy edit 2 set name "to_Internet" set srcintf "port3" "port4" set dstintf "port1" set action accept set srcaddr "10.10.1.0/24" "10.10.2.0/24" set dstaddr "all" set schedule "always" set service "ALL" set nat enable set ippool enable set poolname "WAN1" next end再次使用 Server 访问 Internet,可以看到 FortiGate 使用出接口 port1(WAN1)作为 SNAT 的源地址。

如果上网策略配置了“动态 IP 池”,但 VIP 映射的 Server 又想使用 VIP 的 extip 作为 SNAT 的源地址,那么可以通过如下配置实现。在 VIP 的配置中开启 nat-source-vip 后,即使上网策略的 SNAT 使用了“动态 IP 池”,VIP 映射的主机依然会使用 VIP 的 extip 作为 SNAT 的源地址。
config firewall vip edit "VIP_to_Server" set nat-source-vip enable next end开启 nat-source-vip 后,Server 再次访问 Internet,SNAT 转换的源地址是 VIP 配置的 extip 地址 202.103.12.3。

总结
1.上网策略的 SNAT 使用“流出接口地址”作为“IP 池配置”时:VIP 映射的内网 Server 访问 Internet,FortiGate 使用 VIP 的 extip 作为 SNAT 的源 IP,而不是上网策略的出接口地址(nat-source-vip 不起任何作用)。 2.上网策略的 SNAT 使用“动态 IP 池”作为“IP 池配置”时:
- 默认情况下,VIP 映射的内网 Server 访问 Internet,FortiGate 使用 IP 池范围中的地址作为 SNAT 的源 IP,而不是 VIP 的 extip。
- 如果想使用 VIP 的 extip 作为 SNAT 的源 IP,则需要在 VIP 配置中开启 nat-source-vip。