普通互联网出口环境改造成SD-WAN环境
普通互联网的环境拓扑:
1.搭建一个普通的互联网出口环境(无SD-WAN,也是负载均衡,可以使用link-monitor进行冗余切换)
注意:建议在不需要的情况下关闭接口配置下的“设备探测”(Device detection)功能,该功能用于MAC地址厂商设备信息识别及MAC地址过滤,会消耗较多的设备资源。
1.1 配置互联网出接口
联通出口配置:
电信出口配置:
鹏博士PPPOE出口配置:使用一个全新的PPPOE配置方法,用命令行配置:
config system pppoe-interface
edit "PPPOE1_DR_PENG"
set device "port14"
set username "fortinet"
set password ENC 9imBFrjdZysQP7fJaoP/6WFGqrMy4bmPbWePupcRanAA6NqaEV90NjX/UHaoD1YvuBX5sx+G+X5hOFSPVI+Z68L9YtoCxjkWu90KT7H8dBYxxVhHge2u0eLwZwmzF9a8KwMuIUjUZd1plDu7ZBYuGl3rksqN2EaGPEWzn6GgR0zCi5jGLyrcwYD6GkHkJxGeO00JFg==
next
end
然后在GUI上可以看到这个接口“PPPOE1_DR_PENG”:
然后可以进行相应的接口参数调整:添加别名、带宽值,角色,要注意PPPOE/DHCP的默认路由管理距离默认都是5,而静态配置的静态路由管理距离都是10,如果同时使用PPPOE/DHCP的默认路由会优选,如果需要同时使用,建议将PPPOE的管理距离也改成10,这样才可以负载均衡:
修改PPPOE接口的路由管理距离为10:
内网接口LAN的配置:
建议可以将去往互联网的接口加入到一个Zone里面,方便策略的配置和调用:
接口信息汇总:
1.2 配置互联网出口路由和Link-Moniter,实现流量负载均衡以及故障切换
PPPOE接口会自动获得默认路由,由于我们修改了管理距离为10,因此在路由监控处可以看到PPPOE的默认路由,无需手工配置了:
然后再分别添加联通WAN1和电信WAN2的默认路由:
再次查看路由监控,可以看到三条负载均衡的默认路由:
FGT100E_Master # diagnose ip address list
IP=10.10.10.1->10.10.10.1/255.255.255.0 index=5 devname=dmz
IP=192.168.91.13->192.168.91.13/255.255.255.0 index=6 devname=mgmt
IP=202.100.1.10->202.100.1.10/255.255.255.0 index=7 devname=wan1
IP=101.100.1.10->101.100.1.10/255.255.255.0 index=8 devname=wan2
IP=192.168.10.1->192.168.10.1/255.255.255.0 index=11 devname=port1
IP=127.0.0.1->127.0.0.1/255.0.0.0 index=30 devname=root
IP=169.254.1.1->169.254.1.1/255.255.255.0 index=32 devname=fortilink
IP=127.0.0.1->127.0.0.1/255.0.0.0 index=34 devname=vsys_hamgmt
IP=127.0.0.1->127.0.0.1/255.0.0.0 index=35 devname=vsys_ha
IP=169.254.0.1->169.254.0.1/255.255.255.192 index=36 devname=port_ha
IP=127.0.0.1->127.0.0.1/255.0.0.0 index=37 devname=vsys_fgfm
IP=169.254.0.65->169.254.0.65/255.255.255.192 index=38 devname=havdlink0
IP=169.254.0.66->169.254.0.66/255.255.255.192 index=39 devname=havdlink1
IP=114.100.1.202->114.100.1.196/255.255.255.255 index=42 devname=PPPOE1_DR_PENG
FGT100E_Master # get router info routing-table all
Routing table for VRF=0
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
S* 0.0.0.0/0 [10/0] via 101.100.1.192, wan2
[10/0] via 114.100.1.196, PPPOE1_DR_PENG
[10/0] via 202.100.1.192, wan1
C 101.100.1.0/24 is directly connected, wan2
C 114.100.1.196/32 is directly connected, PPPOE1_DR_PENG
C 114.100.1.202/32 is directly connected, PPPOE1_DR_PENG
C 192.168.10.0/24 is directly connected, port1
C 202.100.1.0/24 is directly connected, wan1
1.3 配置上互联网的策略
配置上Link-moniter用于监控WAN1和WAN2的网关,一旦网关检测失败,则让其路由消失,不再转发流量,做到链路的负载均衡和故障切换效果(Link-moniter只能命令行配置)
FGT100E_Master # config system link-monitor
FGT100E_Master (link-monitor) # show
config system link-monitor
edit "Check_WAN1_LT"
set srcintf "wan1"
set server "202.100.1.192"
next
edit "Check_WAN2_DX"
set srcintf "wan2"
set server "101.100.1.192"
next
end
FGT100E_Master (link-monitor) # show full-configuration
config system link-monitor
edit "Check_WAN1_LT"
set addr-mode ipv4
set srcintf "wan1"
set server "202.100.1.192"
set protocol ping
set gateway-ip 0.0.0.0
set source-ip 0.0.0.0
set interval 500
set failtime 5
set recoverytime 5
set ha-priority 1
set update-cascade-interface enable
set update-static-route enable
set status enable
next
edit "Check_WAN2_DX"
set addr-mode ipv4
set srcintf "wan2"
set server "101.100.1.192"
set protocol ping
set gateway-ip 0.0.0.0
set source-ip 0.0.0.0
set interval 500
set failtime 5
set recoverytime 5
set ha-priority 1
set update-cascade-interface enable
set update-static-route enable
set status enable
next
end
FGT100E_Master (link-monitor) # end
配置完毕!
以上为一个普通的互联网出口场景的配置,具体效果是多互联网出口,按照源IP进行负载均衡处理,接口故障/健康检查失败线路可以自动故障切换,应用识别/AV/IPS/DNS等安全功能可部署与互联网出口业务上。
FGT100E_Master # config system settings
FGT100E_Master (settings) # show full-configuration | grep v4-ecmp-mode
set v4-ecmp-mode source-ip-based // 默认 是按照源IP进行负载均衡处理
FGT100E_Master (settings) # end
内网PC上网效果:
默认按照源IP负载,可以看到源IP 192.168.10.100 所有数据全部走的WAN1,源IP 192.168.10.200所有数据全部走的WAN2:
同样的互联网出口环境,切换到SD-WAN组网部署,在可以做到普通互联网组网部署的前提下同时还更加灵活和精细的控制去往互联网的流量,可以基于应用、用户、Internet service Datebase做选路的调用,可以实现更加智能的互联网出口选择和备份,这也是SD-WAN的价值所在。
2.改成SD-WAN环境,同时互联网出口的接口进行健康检查并冗余切换(负载均衡),做到和传统互联网出口组网一样的效果
2.1 从传统互联网组网部署切换到SD-WAN组网部署是大家遇到的一个常见的难点,部署SD-WAN通常是一个全新的设备进行配置,这样大家基本上不会遇到问题,而如果是已有配置的情况下,要修改成SD-WAN则比较的麻烦,会涉及到删除策略、路由、link-moniter等,SD-WAN才可以正常的配置和部署,无法直接平滑的切换,特别是在线业务,不能去进行切换SD-WAN的操作,会引起业务中断,所以SD-WAN最好是从一开始就规划并部署。
如果WAN口存在相关的配置情况下,是无法加入到SD-WAN接口组的,因此第一步就是需要将WAN接口的相关配置删除掉:
由于策略是调用的Zone,因此先将WAN1、WAN2、PPPOE接口从Zone里面移除,如果策略直接调用的WAN1、WAN2、PPPOE,则需要把策略删除。
删除路由:
删除Link-moniter的配置(只能命令行):
FGT100E_Master # config system link-monitor
FGT100E_Master (link-monitor) # purge
This operation will clear all table!
Do you want to continue? (y/n)y
FGT100E_Master (link-monitor) # end
然后,SD-WAN接口成员才可以选择WAN1、WAN2、PPPOE接口。
2.2 配置SD-WAN接口成员
配置SD-WAN默认路由:
FGT100E_Master # get router info routing-table all
Routing table for VRF=0
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
S* 0.0.0.0/0 [1/0] via 101.100.1.192, wan2
[1/0] via 114.100.1.196, PPPOE1_DR_PENG
[1/0] via 202.100.1.192, wan1
C 101.100.1.0/24 is directly connected, wan2
C 114.100.1.196/32 is directly connected, PPPOE1_DR_PENG
C 114.100.1.202/32 is directly connected, PPPOE1_DR_PENG
C 192.168.10.0/24 is directly connected, port1
C 202.100.1.0/24 is directly connected, wan1
配置SD-WAN的上网策略:
此时可以删除掉Internet_Zone:
配置SD-WAN健康检查,一旦某个出接口无法ping通外网服务器,则该出口的路由将失效,流量会进行相应的切换:
如果不配置任何的SD-WAN规则,所有的流量将会匹配到最后一条默认的隐含的SD-WAN规则,其本质就是按照源IP负载均衡的FIB路由表,就是我们手工配置的SD-WAN默认路由,按照三条默认路由进行负载均衡处理:
config system virtual-wan-link
set status enable
set load-balance-mode source-ip-based // 默认值,源IP负载均衡
默认隐含的SD-WAN规则还有更多的算法可以切换:
以上SD-WAN的配置和传统互联网出口部署效果完全一致,实现了基于源IP的负载均衡、健康检查故障切换。
3.SD-WAN环境环境下,指定优先级别高的业务/应用走优质互联网出口
需求1:去往Amazon_AWS的业务从WAN1或WAN2 之间选择延迟较低的出口出去
3.1 配置去往AWS的健康检查
3.2 配置去往AWS的SD-WAN规则
SD-WAN规则配置为:选择延迟最低的WAN1或WAN2出口。
命令行查看结果:
FGT100E_Master # diagnose sys virtual-wan-link member
Member(1): interface: wan1, gateway: 202.100.1.192, priority: 0, weight: 0
Member(2): interface: wan2, gateway: 101.100.1.192, priority: 0, weight: 0
Member(3): interface: PPPOE1_DR_PENG, gateway: 114.100.1.196, priority: 0, weight: 0
FGT100E_Master # diagnose sys virtual-wan-link health-check Default_AWS
Health Check(Default_AWS):
Seq(1): state(alive), packet-loss(1.000%) latency(107.853), jitter(1.427) sla_map=0x0 // WAN 1 延迟相对较低
Seq(2): state(alive), packet-loss(0.000%) latency(185.853), jitter(1.450) sla_map=0x0
FGT100E_Master # diagnose sys virtual-wan-link service
Service(1): Address Mode(IPV4) flags=0x0
TOS(0x0/0x0), Protocol(0: 1->65535), Mode(priority), link-cost-factor(latency), link-cost-threshold(10), health-check(Default_AWS)
Service role: standalone
Member sub interface:
Members:
1: Seq_num(1), alive, latency: 120.518, selected // 优先选择WAN1
2: Seq_num(2), alive, latency: 202.821, selected
Internet Service: Amazon-AWS(393320) Amazon-DNS(393219) Amazon-SSH(393222) Amazon-Web(393217) Acronis.Snap.Deploy(4294836274 23217) ActiveCampaign(4294836278 36481) Amazon.Ads(4294836317 43349) Amazon.Alexa(4294836318 45138) Amazon.AWS(4294836311 27210) Amazon.AWS_Console(4294836312 37172) Amazon.AWS_EC2(4294836313 36740) Amazon.AWS_S3(4294836314 35944) Amazon.AWS_S3.Download(4294836315 47432) Amazon.AWS_S3.Upload(4294836316 47433) Amazon.Cloud.Drive(4294836319 26875) Amazon.Cloud.Drive_File.Download(4294836320 35598) Amazon.Cloud.Drive_File.Upload(4294836321 26873) Amazon.CloudFront(4294836322 46289) Amazon.Mobile(4294836323 38075) Amazon.Services(4294836325 16492) Amazon_Login(4294836327 38540)
Src address:
192.168.10.0-192.168.10.255
FGT100E_Master # diagnose firewall proute list
list route policy info(vf=root):
id=2131427329 vwl_service=1(TO_AMAZON_AWS_RULE) vwl_mbr_seq=1 2 dscp_tag=0xff 0xff flags=0x0 tos=0x00 tos_mask=0x00 protocol=0 sport=0:65535 iif=0 dport=1-65535 oif=7 oif=8 // 选择延迟较低的WAN1出去
source(1): 192.168.10.0-192.168.10.255
destination wildcard(1): 0.0.0.0/0.0.0.0
internet service(21): Amazon-AWS(393320) Amazon-DNS(393219) Amazon-SSH(393222) Amazon-Web(393217) Acronis.Snap.Deploy(4294836274, 23217) ActiveCampaign(4294836278, 36481) Amazon.Ads(4294836317, 43349) Amazon.Alexa(4294836318, 45138) Amazon.AWS(4294836311, 27210) Amazon.AWS_Console(4294836312, 37172) Amazon.AWS_EC2(4294836313, 36740) Amazon.AWS_S3(4294836314, 35944) Amazon.AWS_S3.Download(4294836315, 47432) Amazon.AWS_S3.Upload(4294836316, 47433) Amazon.Cloud.Drive(4294836319, 26875) Amazon.Cloud.Drive_File.Download(4294836320, 35598) Amazon.Cloud.Drive_File.Upload(4294836321, 26873) Amazon.CloudFront(4294836322, 46289) Amazon.Mobile(4294836323, 38075) Amazon.Services(4294836325, 16492) Amazon_Login(4294836327, 38540)
FGT100E_Master # diagnose ip address list
IP=10.10.10.1->10.10.10.1/255.255.255.0 index=5 devname=dmz
IP=192.168.91.13->192.168.91.13/255.255.255.0 index=6 devname=mgmt
IP=202.100.1.10->202.100.1.10/255.255.255.0 index=7 devname=wan1
IP=101.100.1.10->101.100.1.10/255.255.255.0 index=8 devname=wan2
IP=192.168.10.1->192.168.10.1/255.255.255.0 index=11 devname=port1
IP=127.0.0.1->127.0.0.1/255.0.0.0 index=30 devname=root
IP=169.254.1.1->169.254.1.1/255.255.255.0 index=32 devname=fortilink
IP=127.0.0.1->127.0.0.1/255.0.0.0 index=34 devname=vsys_hamgmt
IP=127.0.0.1->127.0.0.1/255.0.0.0 index=35 devname=vsys_ha
IP=169.254.0.1->169.254.0.1/255.255.255.192 index=36 devname=port_ha
IP=127.0.0.1->127.0.0.1/255.0.0.0 index=37 devname=vsys_fgfm
IP=169.254.0.65->169.254.0.65/255.255.255.192 index=38 devname=havdlink0
IP=169.254.0.66->169.254.0.66/255.255.255.192 index=39 devname=havdlink1
IP=114.100.1.202->114.100.1.196/255.255.255.255 index=42 devname=PPPOE1_DR_PENG
需求2:稍微改变一下需求,去往Amazon_AWS的重要业务只从WAN1出去,进行最高优先级的保障,而WAN1也不处理其他流量只处理这些最重要的业务流量。和普通互联网出口分离开。
想要WAN1只走重要业务数据,而不走普通业务数据,需要调整路由的优先级,让WAN1出口默认不进行出方向的路由转发,仅仅只能用SD-WAN规则去强制指定业务去往WAN1,解决办法:
FGT100E_Master # config system virtual-wan-link
FGT100E_Master (virtual-wan-link) # config members
FGT100E_Master (members) # show
config members
edit 1
set interface "wan1"
set gateway 202.100.1.192
next
edit 2
set interface "wan2"
set gateway 101.100.1.192
next
edit 3
set interface "PPPOE1_DR_PENG"
next
end
FGT100E_Master (members) # show full-configuration
config members
edit 1
set interface "wan1"
set gateway 202.100.1.192
set source 0.0.0.0
set gateway6 ::
set source6 ::
set cost 0
set priority 0
set status enable
set comment ''
next
edit 2
set interface "wan2"
set gateway 101.100.1.192
set source 0.0.0.0
set gateway6 ::
set source6 ::
set cost 0
set priority 0
set status enable
set comment ''
next
edit 3
set interface "PPPOE1_DR_PENG"
set gateway 0.0.0.0
set source 0.0.0.0
set gateway6 ::
set source6 ::
set cost 0
set priority 0
set status enable
set comment ''
next
end
FGT100E_Master (members) # edit 1
FGT100E_Master (1) # set priority 100 // 设置WAN1优先级参数为100,这样下发的WAN1的SD-WAN路由也会携带此属性
FGT100E_Master (1) # next
FGT100E_Master (members) # show
config members
edit 1
set interface "wan1"
set gateway 202.100.1.192
set priority 100 // 调整WAN1的优先级为100,这样SD-WAN路由的优先级会变为100
next
edit 2
set interface "wan2"
set gateway 101.100.1.192
next
edit 3
set interface "PPPOE1_DR_PENG"
next
end
FGT100E_Master # get router info routing-table all
Routing table for VRF=0
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
S* 0.0.0.0/0 [1/0] via 101.100.1.192, wan2
[1/0] via 114.100.1.196, PPPOE1_DR_PENG
[1/0] via 202.100.1.192, wan1, [100/0] // 不用于出方向的路由转发,但是路由存在于路由表中
C 101.100.1.0/24 is directly connected, wan2
C 114.100.1.196/32 is directly connected, PPPOE1_DR_PENG
C 114.100.1.202/32 is directly connected, PPPOE1_DR_PENG
C 192.168.10.0/24 is directly connected, port1
C 202.100.1.0/24 is directly connected, wan1
然后再配置手工的SD-WAN规则,强制AWS的流量走WAN1出口出,而其他的流量将会按照源IP的负载均衡在WAN2和PPPOE出口进行负载均衡处理。
以上实现了,WAN1只跑重要的AWS数据,而其他业务数据将在WAN2和PPPOE二者之间按照源IP进行负载均衡处理。
测试结果:
关于SD-WAN调用应用程序,详细可见SD-WAN规则--Best Quality(最佳质量)中的SD-WAN规则调用应用程序说明,大致需要满足以下要求:
第一步:应用程序是需要先通过内网用户通过使用AWS,然后FGT进行应用识别的,因此策略里面一定要开启APP Control才可以,需要识别的更好需要开启SSL深度检测。
第二步:识别之后将会学习到相应的应用程序的IP地址,将会形成一个动态的应用程序IP地址数据库,最终才会将这个学习到的IP数据库加入到SD-WAN规则(策略路由)里面,因此这需要有一个学习的过程,SD-WAN中的应用程序的调用不会立即生效,因此在没有成功学习之前,SKPYE的流量会走到其他线路上去,FGT会去学习这些识别出来的应用程序的IP地址,这并非问题,而是SD-WAN调用应用的工作逻辑就是这样,学习完毕之后,新发起的流量才会匹配到SD-WAN规则(策略路由)。
FGT100E_Master # diagnose sys virtual-wan-link internet-service-app-ctrl-list
Amazon.Services(16492 4294836325): 13.225.90.34 6 443 Tue Oct 29 11:19:37 2019
Amazon.Services(16492 4294836325): 13.225.96.180 6 80 Tue Oct 29 11:19:22 2019
Amazon.Services(16492 4294836325): 100.24.108.205 6 443 Tue Oct 29 11:19:25 2019
Amazon.AWS(27210 4294836311): 13.225.89.202 6 443 Tue Oct 29 11:19:25 2019
Amazon.AWS(27210 4294836311): 13.225.95.181 6 443 Tue Oct 29 11:19:23 2019
Amazon.AWS(27210 4294836311): 13.225.96.180 6 443 Tue Oct 29 11:19:22 2019
Amazon.AWS(27210 4294836311): 13.225.102.151 6 443 Tue Oct 29 11:19:23 2019
Amazon.AWS(27210 4294836311): 54.239.20.230 6 443 Tue Oct 29 11:19:34 2019
Amazon.AWS(27210 4294836311): 63.140.45.10 6 443 Tue Oct 29 11:19:25 2019
Amazon.AWS(27210 4294836311): 66.117.24.113 6 443 Tue Oct 29 11:19:24 2019
Amazon.AWS(27210 4294836311): 205.251.242.160 6 443 Tue Oct 29 11:19:35 2019
Amazon.AWS_S3(35944 4294836314): 52.216.138.227 6 443 Tue Oct 29 11:19:39 2019
Amazon.AWS_Console(37172 4294836312): 54.239.30.25 6 443 Tue Oct 29 11:19:31 2019
如果需要学习将到的应用数据库立马完全生效,旧的会话是会保持原有出口的,想要这些旧的会话立即生效需要清除旧的会话和路由缓存信息,而新建的会话则不需要此操作,具体命令行:
FGT100E_Master # diagnose sys session filter src 192.168.10.100
FGT100E_Master # diagnose sys session clear //清除测试机器的会话,让其重新匹配新的SD-WAN规则(有skype的IP数据库更新)
FGT100E_Master # diagnose ip rtcache flush // 清除路由缓存
4.SD-WAN环境环境下,指定优先级别低的业务/应用走比较差的互联网出口
需求:指定P2P、视频等占用大量带宽的业务走PPPOE出口出去,尽量保障办公业务的正常运转。
配置SD-WAN规则将P2P、VIDEO等占用带宽较大的业务引流到PPPOE出口上去
关于SD-WAN调用应用程序,详细可见SD-WAN规则--Best Quality(最佳质量)中的SD-WAN规则调用应用程序说明,大致需要满足以下要求:
第一步:应用程序是需要先通过内网用户通过使用AWS,然后FGT进行应用识别的,因此策略里面一定要开启APP Control才可以,需要识别的更好需要开启SSL深度检测。
第二步:识别之后将会学习到相应的应用程序的IP地址,将会形成一个动态的应用程序IP地址数据库,最终才会将这个学习到的IP数据库加入到SD-WAN规则(策略路由)里面,因此这需要有一个学习的过程,SD-WAN中的应用程序的调用不会立即生效,因此在没有成功学习之前,SKPYE的流量会走到其他线路上去,FGT会去学习这些识别出来的应用程序的IP地址,这并非问题,而是SD-WAN调用应用的工作逻辑就是这样,学习完毕之后,新发起的流量才会匹配到SD-WAN规则(策略路由)。
如果需要学习将到的应用数据库立马完全生效,旧的会话是会保持原有出口的,想要这些旧的会话立即生效需要清除旧的会话和路由缓存信息,而新建的会话则不需要此操作,具体命令行:
FGT100E_Master # diagnose sys session filter src 192.168.10.100
FGT100E_Master # diagnose sys session clear //清除测试机器的会话,让其重新匹配新的SD-WAN规则(有skype的IP数据库更新)
FGT100E_Master # diagnose ip rtcache flush // 清除路由缓存
5.SD-WAN环境下,指定内网PC/用户走互联网出口直连更好的出口
SD-WAN规则可以基于IP地址和用户(FSSO)进行调度,需求:192.168.10.100 这台机器上互联网需要选择一个综合质量最好的出口出去。
配置SD-WAN规则:
质量标准自定义的计算公式:
Link Quality = (a * packet loss) + (b * latency) + (c* jitter) + (d / bandwidth).
WAN2 是 200M(双向400M)带宽
PPPOE 是 100M(双向200M)带宽
FGT100E_Master # diagnose sys virtual-wan-link service 3
Service(3): Address Mode(IPV4) flags=0x0
TOS(0x0/0x0), Protocol(0: 1->65535), Mode(priority), link-cost-factor(custom-profile-1), link-cost-threshold(10), health-check(Check_DNS_114)
Service role: standalone
Member sub interface:
Members:
1: Seq_num(2), alive, custom1: 3085.336: 0.000% 102.112 1.099, bibandwidth: 409.58Mbps, selected // 将优选剩余带宽大的出口
2: Seq_num(3), alive, custom1: 3094.062: 0.000% 102.411 1.086, bibandwidth: 204.80Mbps, selected
Src address:
192.168.10.100-192.168.10.100
Dst address:
0.0.0.0-255.255.255.255
FGT100E_Master # diagnose firewall proute list 2131951619
list route policy info(vf=root):
id=2131951619 vwl_service=3(HOST_10_100_OUT) vwl_mbr_seq=2 3 dscp_tag=0xff 0xff flags=0x0 tos=0x00 tos_mask=0x00 protocol=0 sport=0:65535 iif=0 dport=1-65535 oif=8 oif=42
source(1): 192.168.10.100-192.168.10.100
destination(1): 0.0.0.0-255.255.255.255
FGT100E_Master # diagnose ip address list
IP=10.10.10.1->10.10.10.1/255.255.255.0 index=5 devname=dmz
IP=192.168.91.13->192.168.91.13/255.255.255.0 index=6 devname=mgmt
IP=202.100.1.10->202.100.1.10/255.255.255.0 index=7 devname=wan1
IP=101.100.1.10->101.100.1.10/255.255.255.0 index=8 devname=wan2
IP=192.168.10.1->192.168.10.1/255.255.255.0 index=11 devname=port1
IP=127.0.0.1->127.0.0.1/255.0.0.0 index=30 devname=root
IP=169.254.1.1->169.254.1.1/255.255.255.0 index=32 devname=fortilink
IP=127.0.0.1->127.0.0.1/255.0.0.0 index=34 devname=vsys_hamgmt
IP=127.0.0.1->127.0.0.1/255.0.0.0 index=35 devname=vsys_ha
IP=169.254.0.1->169.254.0.1/255.255.255.192 index=36 devname=port_ha
IP=127.0.0.1->127.0.0.1/255.0.0.0 index=37 devname=vsys_fgfm
IP=169.254.0.65->169.254.0.65/255.255.255.192 index=38 devname=havdlink0
IP=169.254.0.66->169.254.0.66/255.255.255.192 index=39 devname=havdlink1
IP=114.100.1.202->114.100.1.196/255.255.255.255 index=42 devname=PPPOE1_DR_PENG
6.修改默认的按照源IP进行负载均衡SD-WAN隐含规则,让其按照会话比例进行负载均衡:
默认为源IP负载均衡:
修改SD-WAN默认规则为会话比例负载均衡:
WAN1 为 100 // 由于上述SD-WAN接口成员中WAN1的优先级为100,实际并不转发负载均衡的出方向的流量,只用来处理最高优先级保障的业务,负载均衡路由并不选择此接口进行转发。
WAN2 为 200 // 会话转发比例为 200
PPPOE 为100 // 会话转发比例为 100
相对比例为:
实际的效果是出方向上Internet的流量从WAN2和PPPOE接口出去,按照会话比例 WAN2 和 PPPOE 之间 2:1的比例进行负载均衡处理。
FGT100E_Master # get router info routing-table all
Routing table for VRF=0
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
S* 0.0.0.0/0 [1/0] via 101.100.1.192, wan2, [0/200] //优先级为默认的0 权重为 200
[1/0] via 114.100.1.196, PPPOE1_DR_PENG, [0/100] // 优先级为默认的0 权重为 100
[1/0] via 202.100.1.192, wan1, [100/100] // 优先级为 100(不转发出方向的流量),权重为100(此时的权重并没有什么效果,因为这条路由并不转发流量)
C 101.100.1.0/24 is directly connected, wan2
C 114.100.1.196/32 is directly connected, PPPOE1_DR_PENG
C 114.100.1.202/32 is directly connected, PPPOE1_DR_PENG
C 192.168.10.0/24 is directly connected, port1
C 202.100.1.0/24 is directly connected, wan1
关于路由优先级的说明可以参考KB文档: