在做相关售前工作的时候,会遇到客户需求在总部和分支之间建立主备***,一旦主链路出现故障业务会自动切换到备份***。这种情况下,在两台Juniper srx设备之间,我们可以使用RPM和IP-MONITORING来配置基于路由的主备***(实验中不涉及路由实例,所以模拟的是一旦ISP1链路down掉,所有流量包括***在内全部切换到IPS2)。
一.实验需求:一旦主链路发生故障,业务流量流经备份隧道。
二.实验步骤:1.在两台SRX设置之间配置两个基于路由的***隧道(主备)。
2.配置RPM探针,目标接口为主***的外网接口。
3.配置IP-MONITOR,调用RPM探针,将***流量的下一条指定为备份的***接口。
三.实验拓扑:
四.实验过程:
1.主备***的配置:
srx320:
1.1接口地址配置:
interfaces {
ge-0/0/0 {
unit 0 {
family inet {
address 2.2.2.2/24;
}
}
}
ge-0/0/1 {
unit 0 {
family inet {
address 10.10.11.2/24;
}
}
}
ge-0/0/2 {
unit 0 {
family inet {
address 172.188.10.1/24;
}
}
}
st0 {
unit 1 {
family inet {
address 7.7.7.2/24;
}
}
unit 2 {
family inet {
address 8.8.8.2/24;
}
}
}
}
1.2安全区域配置:
security {
zones {
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/2.0;
}
}
security-zone untrsut {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/0.0;
}
}
security-zone isp2 {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/1.0;
}
}
security-zone ***-isp1 {
interfaces {
st0.1 {
host-inbound-traffic {
system-services {
all;
}
}
}
}
}
security-zone ***-isp2 {
interfaces {
st0.2 {
host-inbound-traffic {
system-services {
all;
}
}
}
}
}
}
}
1.3配置默认策略:
security {
policies {
default-policy {
permit-all;
}
}
}
1.4配置路由:
routing-options {
static {
route 0.0.0.0/0 next-hop 2.2.2.1;
route 172.16.10.0/24 next-hop st0.1;
}
}
1.5配置主备***隧道:
security {
ike {
policy p1 {
mode main;
proposal-set standard;
pre-shared-key ascii-text "$9$JWUi.QF/0BEP5BEcyW8ZUj"; ## SECRET-DATA
}
gateway G1 {
ike-policy p1;
address 1.1.1.2;
external-interface ge-0/0/0.0;
}
gateway G2 {
ike-policy p1;
address 10.10.10.2;
external-interface ge-0/0/1.0;
}
}
ipsec {
policy p1 {
proposal-set standard;
}
*** P1 {
bind-interface st0.1; ----主隧道接口st0.1
ike {
gateway G1;
ipsec-policy p1;
}
establish-tunnels immediately;
}
*** P2 {
bind-interface st0.2; ----备份隧道接口st0.2
ike {
gateway G2;
ipsec-policy p1;
}
establish-tunnels immediately;
}
}
}
1.6配置RPM探针:
services {
rpm {
probe example {
test test-1 {
probe-type icmp-ping;
target address 2.2.2.1; ----IPS1的网关地址
probe-count 3;
probe-interval 15;
test-interval 10;
thresholds {
successive-loss 3;
total-loss 3;
}
destination-interface ge-0/0/0.0;
next-hop 2.2.2.1;
}
}
}
1.7配置IP-MONITOR:
services {
ip-monitoring {
policy test {
match {
rpm-probe example;
}
then {
preferred-route {
route 172.16.10.2/32 {
next-hop 8.8.8.1; ----备份***的路由
}
route 0.0.0.0/0 {
next-hop 10.10.11.1;
}
}
}
}
}
}
srx300:
略。
五.实验验证:
1.首先检查两端设备的***状态:
可以看到phase1和phase2都已经up。
srx320:
srx300:
1.2 检查***流量:
srx320:
设备上ping对端主机172.16.10.2,
查看会话,可以看到流量通过st0.1接口也就是走了主隧道。
srx300:
流量同样通过st0.1走主隧道:
1.3关闭ISP1,检测RPM和IP-MONITOR状态:
RPM检测失败:
IP-MONITOR的状态切换:
1.4查看路由:
可以看到下一条切换到了st0.2备份接口:
1.5查看***隧道:
主隧道已经down掉。
1.6查看会话:
***流量由备份接口流出:
七.实验结论:
1.主备***切换成功。
2.切换过程中 ***流量的丢包情况:
一共丢了48个包:
通过查看session可以发现,出接口从st0.1到st0.2的转换的过程:
对此老司机的解释是:
“ip监控只是让路由的优先级变了,但是路由变了,有些会话还没有超时,切换的时间可能会更加长”
八.后续:
在基础的实验上面我们还可以做哪些?
1.假如客户对于***流量的要求很高,根本无法容忍长达一分钟的丢包,我们应该在RPM探针的参数设置上做哪些修改呢(inteval和threshold 值)?
2.老司机还介绍了另外一种方法就是***-monitor,目前还有待尝试。
3.假如添加路由实例,分支机构srx320的isp1出现问题,切换到备份路由,而总部的srx300上,只有到分支的***流量切换到备份链路,其余流量仍然走ISP1,如何操作?
4.集团单线接入,分支双线接入(类似多种具体部署环境,包括了HA ipsec主备,HA动态***主备等等)。
5.ISP3(不可行)。
转载于:https://blog.51cto.com/13582804/2066334