双线路同运营商上网配置
2025/10/29大约 4 分钟
双线路同运营商上网配置
网络需求
现设备上申请了两条电信线路,带宽大小相同 ,通过配置实现负载均衡、冗余备份。
- 电信 1:wan1(port2)口:202.1.1.2/30,网关为 202.1.1.1
- 电信 2:wan2(port3)口:202.1.1.6/30,网关为 202.1.1.5
网络拓扑

配置要点
- 配置接口 IP
- 配置路由
- 配置 zone(untrust 和 trust)
- 配置策略
- 配置 ECMP 负载均衡方式
配置步骤
配置接口 IP,进入网络 → 接口页面,编辑 wan1(port2)、wan2(port3)internal(port4),分别配置为 202.1.1.2/30、202.1.1.6/30、192.168.1.99/24。

配置静态路由,创建两条链路的默认路由。


config router static edit 1 set gateway 202.1.1.1 set device "port2" next edit 2 set gateway 202.1.1.5 set device "port3" next end- 目的的 IP/子网掩码:由于是默认网关,使用默认的 0.0.0.0/0.0.0.0 即可
- 接口:该路由所关联的接口,wan1 口,必须正确填写,否则该路由无法工作
- 网关:下一跳 IP 地址, 即 wan1 口对端运营商设备接口的 ip 地址
- 管理距离:默认 10
- 高级选项 - 优先级:默认 1,优先级小的优先使用
- 注意:
- 要想实现两个出口线路同时工作,两条路由表的管理距离必须相同。否则路径长度长的路由条目,不会装入路由表
- 管理距离相等的同时,优先级必须相同。 如果路径相等优先级不同,则虽然两条路由都会被装入路由表,防火墙会优先采用优先级数值较小的路由工作,无法实现两条链路的流量均担
配置区域,采用区域的方式,为了配置更加快捷、精简。如果采用基于物理接口的方式,则可能需要配置多条防火墙策略。进入网络 → 接口,点击新建 → 所属区域按钮。

分别创建 Untrust 和 Trust 区域,



config system zone edit "Untrust" set interface "port2" "port3" next edit "Trust" set interface "port4" next end配置上网放通策略,进入策略 & 对象 → 防火墙策略,新建安全策略。
重要
如果选择“动态 IP 池”作为“IP 池配置”,所引用 IPPool 配置中的外部 IP 范围不能配置为现有网络中其他设备的 IP、FortiGate 的网关 IP,也不能配置为内网客户端正常上网可能访问的 IP 地址。这是由于 FortiGate 配置 IPPool 后,IPPool 中的地址属于 FortiGate 自身的 IP 地址,所有访问该 IP 的流量经过 FortiGate 时都会被 FortiGate 引流到自身,影响正常的业务。

config firewall policy edit 1 set name "to_Internet" set srcintf "Trust" set dstintf "Untrust" set action accept set srcaddr "lan" set dstaddr "all" set schedule "always" set service "ALL" set nat enable next end- 流入接口:trust
- 源地址:选择刚才定义的地址资源 lan 上网网段
- 流出接口:untrust
- 目的地址选择: all,代表所有的地址
- 时间表:always
- 服务: ALL
- 动作:ACCEPT
- NAT: 选择 "启用 NAT", 系统会自动将内网的 lan 地址段 ip,转换为 untrust 的接口组里的 wan1/wan2 接口地址,进行互联网访问
- 点击 "确定" 按钮后,系统自动保存配置,策略生效
- 注意:启用 "记录允许流量(记录流日志)" 将会给系统带来额外的资源消耗,所以非必要情况下请不要启用记录日志
配置 ECMP 负载均衡方式(具体可参考 https://community.fortinet.com/t5/FortiGate/Technical-Tip-ECMP-Load-balancing-algorithms-for-IPv4-and-IPv6/ta-p/191149 )。
FortiGate # config system settings FortiGate (settings) # set v4-ecmp-mode ? source-ip-based Select next hop based on source IP. weight-based Select next hop based on weight. usage-based Select next hop based on usage. source-dest-ip-based Select next hop based on both source and destination IPs.- 基于源 IP:默认配置,根据源地址的不同选择不同的下一跳
- 权重负载均衡 : 根据权重值来选择路由(在默认路由的 CLI 下配置)
- 比如 wan1 50, wan2 50,其他为 0 则 2 条链路会 1:1 的比例分配流量
- 比如 wan1 50, wan2 100,则流量会按照 1:2 的比例分配
- 用量:根据线路带宽用量,选择用量较少的线路
- 源目 IP:根据源地址 - 目的地址对的不同选择不同的下一跳
- 推荐采用“基于源 IP”的负载均衡方式(默认)。因为例如网银、网游会进行源 IP 的验证,如果存在不同 IP 的多条流的交互(同时通过 wan1/wan2 做不同的 NAT 转换成不同的公网 IP,一个网银 user 使用了多个公网 IP 访问网银业务),将会导致网银业务交互失败、游戏掉线等问题。
结果验证
不同的源 IP 的客户端的上网流量被分配到了不通的链路。