先介绍下分支SRX 做IP 监控的应用场景
1,单机SRX多线接入,需要监控SP的线路质量,特别有IPSec ***的时候用的比较多。
2,双机HA有多线接入,由于SP线路只能提供一个接入点,SRX上联需要加交换机,当交换机与SP之间或是SP的线路有故障的时候,SRX是感知不到的,很容易产生网络不通。

Juniper 的IP监控主要有两种方式,一种是BFD(双向转发检测),一种是RPM。场景1 一般可以用到BFD和RPM;场景2一般只能用到RPM,因为BFD是设备都支持,SP那边的光猫不一定支持BFD。而×××设备基本都支持。

BFD的配置比较简单。
root@# show routing-options | display set
set routing-options static route 192.168.10.0/24 next-hop 192.168.20.1
set routing-options static route 100.200.200.0/24 qualified-next-hop 10.30.30.1
set routing-options static route 100.200.200.0/24 bfd-liveness-detection minimum-interval 200
set routing-options static route 100.200.200.0/24 bfd-liveness-detection neighbor 10.30.30.1
set routing-options static route 100.200.200.0/24 bfd-liveness-detection local-address 10.20.20.1
set routing-options static route 100.200.200.0/24 bfd-liveness-detection minimum-receive-ttl 1
set routing-options static route 100.200.200.0/24 resolve
set routing-options static route 10.30.30.0/24 next-hop 10.20.20.2

需要注意的就是bfd 的interval值建议不要设置过小,不然会消耗过多的设备资源,单位是ms,一般200ms,300ms。interval 值会自动协商,取较大的值。动态协议也可以使用,加快收敛。

RPM的配置相对多点,需要注意的地方也稍微多点。下面的配置是现网中使用的,SH到JP有两台SP线路,隐了公网IP,建了两条***线路,客户对线路的冗余性要求比较高。使用RPM做监控,主线路故障,切换到备线路,测试用时20s以内,线路恢复,自动切换到主线路,无丢包。

set routing-options static route 0.0.0.0/0 next-hop 1.1.1.10
set routing-options static route 0.0.0.0/0 qualified-next-hop 2.2.2.10 preference 20
set routing-options static route 192.168.1.100/32 next-hop st0.0
set routing-options static route 192.168.1.100/32 qualified-next-hop st0.1 preference 20
set routing-options static route 8.8.8.8/32 next-hop 1.1.1.10
set routing-options static route 8.8.4.4/32 next-hop 2.2.2.10

set services rpm probe ips-primary test paysvr target address 8.8.8.8
set services rpm probe ips-primary test paysvr probe-count 4
set services rpm probe ips-primary test paysvr probe-interval 5
set services rpm probe ips-primary test paysvr test-interval 5
set services rpm probe ips-primary test paysvr source-address 1.1.1.1
set services rpm probe ips-primary test paysvr thresholds successive-loss 4
set services rpm probe ips-secondary test paysvr target address 8.8.4.4
set services rpm probe ips-secondary test paysvr probe-count 4
set services rpm probe ips-secondary test paysvr probe-interval 5
set services rpm probe ips-secondary test paysvr test-interval 5
set services rpm probe ips-secondary test paysvr source-address 2.2.2.2
set services rpm probe ips-secondary test paysvr thresholds successive-loss 4
set services ip-monitoring policy primay match rpm-probe ips-primary
set services ip-monitoring policy primay then preferred-route route 0.0.0.0/0 next-hop 2.2.2.10
set services ip-monitoring policy primay then preferred-route route 192.168.1.100/32 next-hop st0.1
set services ip-monitoring policy secondary match rpm-probe ips-secondary
set services ip-monitoring policy secondary then preferred-route route 0.0.0.0/0 next-hop 1.1.1.10
set services ip-monitoring policy secondary then preferred-route route 192.168.1.100/32 next-hop st0.0

实际中要注意的有几点,1,监测的地址最好不要一样,因为SRX是session based,会话如果没有rst,会延长故障恢复时间。
2,建议在master route 里面加上监测地址的明细路由,线路故障后,ip-monitoring 的policy 会生效,路由表会为另外一条路由的preference 赋值1,只有默认路由的话,在路由层面也是有点问题。
3,如果使用fbf和rib-group import 的时候有个坑,需要将routing-instance 里所有相关路由写到master路由里面去,这个在使用fbf配置route-based ipsec ***的时候同样存在,要注意。
4,RPM默认是使用icmp ping,也可以使用tcp、udp协议,可根据客户需求做相应配置。

由于设备的管理权限已交接给客户,测试过程中也没有截图,下次实施、测试的时候再补上。

同样的cisco,HUAWEI也有类似的监控方式,cisco的是sla,华为的还没有研究,现网中都有比较多的部署。这一功能在多SP部署时自动切换还是非常有效。有需求的童鞋可以私信我细节部分。