可以加健康监测:F100 策略路由(PBR)必须通过 Track(NQA/IP-Link)联动实现健康监测,不能直接把健康检测模板绑在 PBR 上。
多出口、路由优先级相同,链路正常时:不一定固定走同一个出口,要看你 PBR 配的是 主备 还是 负载分担。
下面分两部分讲:怎么配、以及 “是否固定出口”。
一、健康监测怎么加到策略路由(PBR)
1)原理
健康检测:用 NQA/IP-Link 探测下一跳 / 网关是否通,生成 Track 项(track 1、track 2…)。
PBR 动作:apply next-hop X.X.X.X track 1,Track 状态好才用这个下一跳;坏了自动跳过,走下一个可用或回退到路由表。
2)命令行示例(双出口)
① 配置 IP-Link(健康检测)
bash
运行
# 探测出口1网关 1.1.1.1
ip link 1
probe icmp
destination 1.1.1.1 # 对端网关
frequency 5000 # 5秒一次
reaction 1 fail 3 # 失败3次算断
source interface GigabitEthernet1/0/1
# 探测出口2网关 2.2.2.1
ip link 2
probe icmp
destination 2.2.2.1
frequency 5000
reaction 1 fail 3
source interface GigabitEthernet1/0/2
② 创建 Track 绑定 IP-Link
bash
运行
track 1 ip-link 1
track 2 ip-link 2
③ 策略路由 PBR 绑定 Track
bash
运行
# 匹配内网流量
acl number 3000
rule permit ip source 192.168.0.0 0.0.255.255
# PBR:主备模式(默认)
policy-based-route PBR_OUT permit node 10
if-match acl 3000
apply next-hop 1.1.1.1 track 1 # 出口1,带健康检测
apply next-hop 2.2.2.1 track 2 # 出口2,备用
# 内网接口下应用
interface GigabitEthernet1/0/3
ip policy-based-route PBR_OUT
3)Web 界面快速理解
对象 → 健康检测 → 新建(ICMP ping 网关)→ 生成 IP-Link。
策略 → 策略路由 → 新建节点 → 动作 “下一跳” → 勾选 Track → 选对应的健康检测模板。
二、多出口、路由优先级相同,链路正常时是否固定出口?
关键看 PBR 下一跳的 “工作模式”
bash
运行
apply next-hop ... # 默认:主备模式
apply loadshare next-hop ... # 负载分担模式
1)默认:主备模式(你现在大概率是这个)
bash
运行
apply next-hop 1.1.1.1 track 1
apply next-hop 2.2.2.1 track 2
链路都正常:永远只走第一个可用下一跳(1.1.1.1),不会切换,固定出口。
主链路断:自动切到第二个(2.2.2.1);恢复后切回主。
2)负载分担模式(需手动开)
bash
运行
apply loadshare next-hop 1.1.1.1 track 1
apply loadshare next-hop 2.2.2.1 track 2
链路都正常、优先级相同:
按 流哈希(默认基于源 IP)分配,同一源 IP 固定走一个出口;不同源 IP 分散走两个出口。
不是 “逐包轮询”,避免乱序。
3)如果你用的是静态路由(非 PBR)
两条默认路由优先级相同:
bash
运行
ip route-static 0.0.0.0 0 1.1.1.1 preference 60
ip route-static 0.0.0.0 0 2.2.2.1 preference 60
等价路由,负载分担(流哈希),不固定出口。
三、总结(直接回答你两个问题)
健康监测怎么加进策略路由?
用 IP-Link/NQA → Track → PBR 的 apply next-hop 绑定 track,链路断自动失效、切换。
多出口、路由优先级相同,链路正常时一直从同一个出口出吗?
PBR 默认主备:是,一直走第一个正常出口。
PBR 负载分担:否,按源 IP 哈希分流,同用户固定出口、不同用户分散。
等价静态路由:否,流哈希负载分担。
track nqa和负载分担参数才能实现链路健康切换与流量分担。以下是关键分析:nqa entry admin test1
type icmp-echo
destination ip 202.1.1.1 # 电信网关
frequency 1000 # 探测周期1秒
timeout 200 # 超时200ms
probe count 2 # 连续2次失败才判定故障
reaction 1 checked-element probe-fail threshold-type consecutive 3 action trigger-only注:需为每个出口网关单独配置NQA任务13。
policy-based-route PBR_NODE permit node 10
if-match acl 3000 # 匹配内网流量
apply next-hop 202.1.1.1 track nqa admin test1 # 电信出口绑定NQA
apply next-hop 202.2.2.1 track nqa admin test2 # 联通出口绑定NQA关键点:track nqa参数使下一跳仅在NQA探测通过时生效13。
interface GigabitEthernet1/0/0 # 内网接口
ip policy-based-route PBR_NODE nqa history admin test1 # 查看电信链路探测状态display ip policy-based-route setup # 确认硬件表项是否包含track状态apply next-hop配置在同一节点时,优先选择配置顺序靠前的下一跳(例如电信出口配置在联通之前,则始终优先走电信)。不会自动均分流量,与传统路由的"等价路径"行为不同。
apply loadshare命令:policy-based-route PBR_NODE permit node 10
if-match acl 3000
apply loadshare next-hop 202.1.1.1 track nqa admin test1 # 开启负载分担
apply loadshare next-hop 202.2.2.1 track nqa admin test2weight参数按比例分配流量(需设备版本支持):apply loadshare next-hop 202.1.1.1 weight 3 # 电信占75%
apply loadshare next-hop 202.2.2.1 weight 1 # 联通占25%例如:node 10匹配所有流量且仅配置电信出口,则node 20的联通出口永远不会被使用。
track nqa仅检测下一跳IP的连通性(需为直连网关),无法探测跨设备链路14。loadbalance link-group ISP_GROUP
fail-action reschedule
loadbalance link ISP1
router ip 202.1.1.1
track nqa admin test1 # 绑定NQA
weight 10 # 权重10(默认均分)
loadbalance link ISP2
router ip 202.2.2.1
track nqa admin test2
weight 10
virtual-server VS_LINK type link-ip
virtual ip address 0.0.0.0 0
default link-group ISP_GROUPapply next-hop ... track nqa实现链路故障自动切换,但默认不负载均衡。apply loadshare,始终优先选择配置顺序靠前的出口。loadshare 才能实现流量分担,且需确保所有下一跳均健康。track nqa。最终效果取决于配置细节:若仅需故障切换,策略路由+健康监测足够;若需同时负载分担,必须启用loadshare或改用链路负载均衡模块。
请问 怎么验证实现了负载分担呢?我测试了几次都是从相同出口出的。
请问 怎么验证实现了负载分担呢?我测试了几次都是从相同出口出的。
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明