双线路 ADSL
2025/10/29大约 5 分钟
双线路 ADSL
- 使用两条 ADSL 拨号接入互联网,内网为 192.168.1.0/24 网段。
- 通过策略路由,192.168.1.128/25 网段单独使用一条 ADSL2 线路上网,其他人在 ADSL1 和 ADSL2 之间负载。
网络拓扑

配置要点
- wan1(port2)口、wan2(port3)口:接 ADSL 的接口,务必开启“从服务器重新获得网关”,这样 ADSL 拨号成功后设备会自动生成默认路由,无需手动配置默认路由
- internal(port4)口: IP 地址设置格式为:192.168.1.99/24,可选择性地开启接口的管理功能
- 配置地址对象 "lan" 内容为:192.168.1.0/24, "lan1" 内容为: 192.168.1.128/25。
- 配置从 internal 到 wan1 口的策略,并开启 NAT
- 配置从 internal 到 wan2 口的策略,并开启 NAT
- 配置策略路由,强制 lan1 地址段使用 wan2 口访问互联网
配置步骤
配置 wan1 口和 wan2 口的 PPPoE,建议在 CLI 下配置 PPPoE 接口,使用此方式配置获取到 IP 后会自动添加默认路由到运营商。
重要
建议通过 CLI 的方式新建 PPPoE 虚拟接口,参考:部署前注意事项 → PPPoE 接口配置章节。
config system pppoe-interface edit "pppoe_wan1" set device "port2" set username "user1" set password ENC iPUwfhZvvT1T1+v3UPEiPkxLa7RArisivypVqKeSgnPpEGbxLuddF05fEn962jPWkP+PyJBPoKRJcigI+8qvIuzFdBwFW2Mn/EF3Dq6zkcQqTfBT= next edit "pppoe_wan2" set device "port3" set username "user2" set password ENC 1ZwM5cq6bHbQbaIYXw89RBaYTCvlGH3TVghDsO0OMj1WdIEi/jCtnSTdvG3WfL9Iy9/r0C+D/CGI4hplaN2I/ga3Fp2x/dXfeQnQ2Xf82A6FGZ1R= next end 以上命令执行后,会自动在system interface下创建同名接口,其中包含“从服务器中重新得到网关”的配置 FortiGate # show full sys int pppoe config system interface edit "pppoe_wan1" set vdom "root" set mode pppoe set type tunnel set defaultgw enable set interface "port2" next edit "pppoe_wan2" set vdom "root" set mode pppoe set type tunnel set defaultgw enable set interface "port3" next end以上配置完成后,可以在 GUI 上看到 wan1(port2)、wan2(port3)下分别多了个 PPPoE 接口,并获取到了运营商的 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 [5/0] via 101.203.100.1, pppoe_wan2, [1/0] [5/0] via 202.103.100.1, pppoe_wan1, [1/0] C 101.103.100.6/32 is directly connected, pppoe_wan2 C 101.203.100.1/32 is directly connected, pppoe_wan2 C 202.103.100.1/32 is directly connected, pppoe_wan1 C 202.103.100.6/32 is directly connected, pppoe_wan1配置 internal(port4)接口的 IP 为 192.168.1.99/24。选择性地开启接口的管理功能,建议内部开启 https、ssh、ping 服务。

配置地址资源,进入防火墙 & 对象 → 地址,点击新建地址按钮。

名称配置为 lan,地址节点选择子网:192.168.1.0/24,点击确认。

config firewall address edit "lan" set subnet 192.168.1.0 255.255.255.0 next end分别为 wan1 和 wan2 配置防火墙策略,放通内网到 Internet 的流量,并开启 NAT,点击确定按钮后,系统自动保存配置,策略生效。


config firewall policy edit 1 set name "outside_pppoe1_wan1" set srcintf "port4" set dstintf "pppoe_wan1" set action accept set srcaddr "lan" set dstaddr "all" set schedule "always" set service "ALL" set nat enable next edit 2 set name "outside_pppoe2_wan2" set srcintf "port4" set dstintf "pppoe_wan2" set action accept set srcaddr "lan" set dstaddr "all" set schedule "always" set service "ALL" set nat enable next end- 流入接口:internal(port4)
- 源地址:选择刚才定义的地址资源 lan 上网网段
- 流出接口:pppoe 接口
- 目的地址选择: all,代表所有的地址
- 时间表:always
- 服务: ALL
- 动作:ACCEPT
- NAT:选择 "启用 NAT", 系统会自动将内网的 lan 地址段 ip,转换为 wan1 接口地址,进行互联网访问
- 注意:启用 "记录允许流量(记录流日志)" 将会给系统带来额外的资源消耗,所以非必要情况下请不要启用记录日志
配置策略路由,强制 192.168.1.128/25 网段单独使用一条 ADSL2 线路上网(需要在系统管理 → 可见功能中开启高级路由)。其他地址可以在 ADSL1 和 ADSL 两条链路上负载。

config router policy edit 1 set input-device "port4" set src "192.168.1.128/255.255.255.128" set dstaddr "all" set output-device "pppoe_wan2" next end- 协议端口:协议类型,0 为所有任何协议,可以指定 6 tcp,17 udp,132 sctp 等
- 流入接口:流量进入接口 ,internal
- 源地址掩码:数据包的源地址,192.168.1.128/25
- 目的地址掩码:数据包的目的地址, 默认全部
- 目的端口:目的端口,默认为所有。从 1-65536
- 动作:流量采用的动作
- 流出接口:数据包的流出接口,pppoe_wan2
- 网关地址:流出接口的下一条网关地址, 由于是 PPPoE 拨号,不写下一跳地址,防火墙会根据静态路由表中的条目,自动使用 PPPoE 生成的静态路由的下一跳 IP
结果验证
将电脑 IP 地址设置为 192.168.1.10/24,网关设置地为 192.168.1.99,DNS 配置为当地的 DNS 即可。电脑可通过 wan1 以及 wan2 访问互联网。
更改主机 IP 为 192.168.1.168/24,主机只能通过 wan2 口访问互联网。
排障时可使用 tracert 命令,或者抓包命令来查看数据包流出接口。
FortiGate#diagnose sniffer packet any 'icmp and host x.x.x.x' 4 //x.x.x.x为测试目标地址