多线路端口映射
多线路端口映射
网络需求
将内网中的一台 WEB 服务器,分别映射到电信和联通2个互联网出口的公网 IP 上:
WEB 服务器地址: 192.168.1.2/24 网关:192.168.1.99
电信出口: 202.1.1.2/29 , 网关 202.1.1.1,服务器公网地址 202.1.1.3
联通出口: 100.1.1.2/29 , 网关 100.1.1.1,服务器公网地址 100.1.1.3
内部网段 192.168.1.0/24 需要上互联网
案例意义:
FortiGate 支持数据流源进源出
防火墙会对会话进行跟踪,从电信接口进入的访问,会优先从电信接口返回
从联通接口进入的访问,会优先从联通接口返回
条件是防火墙的路由表内,分别拥有能够匹配返回数据流的路由表,所以只需要配置电信和网通的两条默认路由即可
网络拓扑

配置要点
- 配置接口 IP
- 配置虚拟 IP(DNAT)
- 配置安全策略
配置步骤
基础上网配置,请参照策略与对象 → 多线路上网配置 → 双线路同运营商上网配置章节,接口 IP、静态路由配置如下。


重要
防火墙会对会话进行跟踪,从电信接口进入的访问,会优先从电信接口返回;从联通接口进入的访问,会优先从联通接口返回。条件是防火墙的路由表内,分别拥有能够匹配返回数据流的路由表。所以只需要配置电信和网通的两条默认路由即可。
查看路由表,存在两条等价默认路由。
FortiGate # get router info routing-table all Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default Routing table for VRF=0 S* 0.0.0.0/0 [10/0] via 100.1.1.1, port3, [1/0] [10/0] via 202.1.1.1, port2, [1/0] C 100.1.1.0/29 is directly connected, port3 C 192.168.1.0/24 is directly connected, port4 C 202.1.1.0/29 is directly connected, port2进入策略 & 对象 → 虚拟 IP,新建虚拟 IP。
重要
建议在配置 VIP 时,选择绑定接口,这样可以防止 VIP 在其他接口响应 ARP 导致的网络问题。
配置 VIP1,名称为 web1,对 HTTP 服务器进行映射,用于 wan1(电信)接口。
重要
VIP 配置中的外部 IP 不能配置为现有网络中其他设备的 IP、FortiGate 的网关 IP,也不能配置为内网客户端正常上网可能访问的 IP 地址。这是由于 FortiGate 配置 VIP 后,extip 属于 FortiGate 自身的 IP 地址,即使 VIP 没有被防火墙策略引用,所有访问该 IP 的流量经过 FortiGate 时都会被 FortiGate 引流到自身,影响正常的业务。
重要
强烈建议在配置 VIP 时,选择绑定接口,这样可以防止 VIP 在其他接口响应 ARP 导致的网络问题。

配置 VIP2,名称为 web2,对 HTTP 服务器进行映射,用于 wan2(联通)接口。

config firewall vip edit "web1" set extip 202.1.1.3 set mappedip "192.168.1.2" set extintf "port2" next edit "web2" set extip 100.1.1.3 set mappedip "192.168.1.2" set extintf "port3" next end重要
“外部的 IP 地址/范围”和“映射的 IPv4 地址/范围”数量是对应,一对一映射,可以只写一个 IP 对一个 IP 的映射关系,也可以写一个映射范围。比如 202.1.1.3-202.1.1.10,内部映射必须是 192.168.1.2-192.168.1.9,对应映射关系也是对应的,202.1.1.3 对应 192.168.1.2,202.1.14 对应 192.168.1.3,依此类推。
配置安全策略引用两个 VIP,默认配置下,两条链路需要针对两个 VIP 配置两条防火墙策略,这里我们可以通过一条策略实现,打开系统管理 → 可见功能,开启“多接口策略”功能,这样我们就可以在防火墙策略的流入接口和流出接口中选择多个接口。

配置安全策略引用两个 VIP,入接口可以选择多个接口,同时选择 wan1 和 wan2。

config firewall policy edit 1 set name "VIP_Policy" set srcintf "port2" "port3" set dstintf "port4" set action accept set srcaddr "all" set dstaddr "web1" "web2" set schedule "always" set service "HTTP" next end- 流入接口:wan1、wan2 //如内网用户也需通过虚拟 IP 访问,需将此处设置为 any
- 源地址:all
- 流出接口: internal
- 目的地址: web1 和 web2 //定义好的虚拟 IP 映射对象
- 服务: HTTP //只允许进行 HTTP 服务访问
- 注意:如内网用户也需通过虚拟 IP 访问,有 2 种方式可实现:
- 需将原策略的【流入接口】设置为 any,并在该策略上开启 NAT
- 或者添加一条【流入接口】为 internal 的内到内策略,并在该策略上开启 NAT
- NAT:根据需求开启,如果内网服务器到源客户端公网 IP 没有路由可达,仅有到达 FortiGate 内网口的路由,则需要开启 NAT,在做 DNAT 之后再做一次源 NAT,将源 IP 转换为 FortiGate 内网口 IP
- 动作:接受
配置内网网段访问两条互联网线路的放通策略。

config firewall policy edit 2 set name "to_Internet" set srcintf "port4" set dstintf "port2" "port3" set action accept set srcaddr "lan" set dstaddr "all" set schedule "always" set service "ALL" set nat enable next end
结果验证
- 分别从 2 个运营商接口访问 202.1.1.3 和 100.1.1.3 两个 IP 的 80 端口。
- 内网用户可以通过两条线路访问 Internet。
注意事项
- 强烈建议在配置 VIP 时,选择绑定接口,这样可以防止 VIP 在其他接口响应 ARP 导致的网络问题。