本人第一次写Blog,前端时间一直在研究juniper的策略路由,现在将相关配置分享下。
Juniper交换机的策略路由器,与cisco、H3C的逻辑原理不太一样。
SRX支持原生的RPM触发路由倒换,类似Cisco IP SLA的功能。M/T/MX/EX/QFX没有这个功能,但可通过JUNOS内置的"event-options"这个通用的自动运维特性实现一样的效果。
其原理是通过RPM监控目标地址,当监控失败后RPM会在系统日志里生成"PING_TEST_FAILED”日志,可在event-options里定义"PING_TEST_FAILED"这一事件触发后续动作,后续动作定义为设备配置更改"change-configuration", 内容为删除原有静态路由,生成新路由,然后deactive自身这条policy,active新的policy以在后面当监控目标成功后重新恢复原配置。
注意级别必须在Info级别以下才能看见RPM Trap信息
# show system syslog
user * {
any emergency;
}
file messages {
any notice;
authorization info;
}
配置RPM:
# show services
rpm {
probe my-probe {
test my-test {
probe-type icmp-ping;
target address 192.168.5.4;
probe-count 3;
probe-interval 1;
test-interval 1;
thresholds {
successive-loss 3;
}
traps test-failure;
}
}
}
配置event-options:
policy ping-fail {
events PING_TEST_FAILED;
attributes-match {
PING_TEST_FAILED.test-owner matches my-probe;
PING_TEST_FAILED.test-name matches my-test;
}
then {
change-configuration {
commands {
"delete routing-options static route 23.1.1.0/24 next-hop 12.1.1.2";
"set routing-options static route 23.1.1.0/24 next-hop 12.1.1.3";
"deactivate event-options policy ping-fail";
"activate event-options policy ping-success";
}
user-name lab;
commit-options {
log "ping fail change is succeful!";
}
}
}
}
inactive: policy ping-success {
events PING_TEST_COMPLETED;
attributes-match {
PING_TEST_COMPLETED.test-name matches my-test;
PING_TEST_COMPLETED.test-owner matches my-probe;
}
then {
change-configuration {
commands {
"set routing-options static route 23.1.1.0/24 next-hop 12.1.1.2";
"delete routing-options static route 23.1.1.0/24 next-hop 12.1.1.3";
"deactivate event-options policy ping-success";
"activate event-options policy ping-fail";
}
user-name lab;
commit-options {
log "ping ok change is succeful!";
}
}
}
}
转载于:https://blog.51cto.com/891002/1786455