配置版本:version 7.1.064, Release 6728P25
本来想用acl规则匹配出口地址的,但是会漏,现在直接根据内网地址配置,麻烦各位大佬帮忙看看命令都对吗?如果后面有个别源ip地址想要改到192.168.100.1好像不好改了,希望也能提供点其他思路
system-view # ============ 1. 清理将替换的旧节点 ============ undo policy-based-route pbr2 permit node 1 undo policy-based-route pbr2 permit node 2 undo policy-based-route pbr2 permit node 6 undo policy-based-route pbr2 permit node 10 undo policy-based-route pbr2 permit node 20 undo policy-based-route pbr2 permit node 30 undo policy-based-route pbr2 permit node 50 # ============ 2. 源IP对象组 ============ object-group ip address srcgroup-pbr1 0 network range 192.168.0.2 192.168.0.255 quit object-group ip address srcgroup-pbr2 0 network range 192.168.1.1 192.168.1.255 quit # ============ 3. ACL ============ # callcenter 目的IP acl advanced name acl-callcenter rule 10 permit ip destination 111.230.5.161 0 quit # 192.168.0.x 源IP acl advanced name acl-pbr1 rule 10 permit ip source object-group srcgroup-pbr1 quit # 192.168.1.x 源IP acl advanced name acl-pbr2 rule 10 permit ip source object-group srcgroup-pbr2 quit # 兜底(任意IP) acl advanced name acl-default rule 10 permit ip quit # ============ 4. Node 1:callcenter(仅次 192.168.0.253)============ policy-based-route pbr2 permit node 1 if-match acl name acl-callcenter apply output-interface Dialer2 quit # ============ 5. Node 3:192.168.0.x 主备合一 ============ policy-based-route pbr2 permit node 3 if-match acl name acl-pbr1 apply next-hop 192.168.100.1 track 1 apply output-interface Dialer2 quit # ============ 6. Node 5:192.168.1.x 主备合一 ============ policy-based-route pbr2 permit node 5 if-match acl name acl-pbr2 apply output-interface Dialer2 apply output-interface Dialer3 quit # ============ 7. 后移旧有策略 ============ # 原 node 1 → node 11 policy-based-route pbr2 permit node 11 if-match acl 3000 apply next-hop 192.168.100.1 track 1 quit # 原 node 2 → node 12 policy-based-route pbr2 permit node 12 if-match acl name acl22 apply output-interface Dialer2 quit # 原 node 6 → node 13 policy-based-route pbr2 permit node 13 if-match acl name acl-overseas apply next-hop 192.168.100.1 track 1 quit # 原 node 20 → node 14 policy-based-route pbr2 permit node 14 if-match acl name acl-cn apply output-interface Dialer2 quit # ============ 8. Node 99:兜底 ============ policy-based-route pbr2 permit node 99 if-match acl name acl-default apply next-hop 192.168.100.1 track 1 quit save force
(0)
(0)
暂无评论
1policy-based-route pbr2 permit node 5
2 if-match acl name acl-pbr2
3 apply output-interface Dialer2
4 apply output-interface Dialer3
5quitapply output-interface,设备会将其作为等价多路径(ECMP)处理,即流量会在 Dialer2 和 Dialer3 之间进行负载分担。track 联动,或者依靠默认路由的优先级来实现备份。如果您确实是想让这部分流量走双线负载均衡,则当前配置没问题。1apply next-hop 192.168.100.1 track 1track 1 ip host ...)。如果没有关联具体的探测目标,Track 状态可能无法正确翻转,导致主备切换失效。1acl advanced name acl-default rule 10 permit ip192.168.100.1 处理,保证了网络的连通性。object-group 包含了整个网段(如 192.168.0.2 - 192.168.0.255),如果未来想把其中某个特定的 IP(比如 192.168.0.50)剥离出来走其他线路,直接在原对象组里删除该 IP 会影响整个网段的策略,重新划分又很麻烦。192.168.0.50 单独走 Dialer3,只需新建一个 Node 2(介于 Node 1 和 Node 3 之间):1object-group ip address srcgroup-special 0 network host 192.168.0.50
2acl advanced name acl-special rule 10 permit ip source object-group srcgroup-special
3
4policy-based-route pbr2 permit node 2
5 if-match acl name acl-special
6 apply output-interface Dialer3
7quitundo 命令秒级撤销。1# 拆分对象组
2object-group ip address srcgroup-pbr1-main 0 network range 192.168.0.2 192.168.0.49
3object-group ip address srcgroup-pbr1-main 0 network range 192.168.0.51 192.168.0.255
4object-group ip address srcgroup-pbr1-sub 0 network host 192.168.0.50
5
6# 在ACL中灵活组合
7acl advanced name acl-pbr1
8 rule 10 permit ip source object-group srcgroup-pbr1-main
9quit
10acl advanced name acl-pbr1-sub
11 rule 10 permit ip source object-group srcgroup-pbr1-sub
12quit(0)
暂无评论
一、先给你结论:你的配置 大部分正确,但有 4 个关键问题
我已经全部帮你标出来了👇
二、你的配置里 真正错误 / 风险点(必须改)
1)PBR Node 3 错误:不能同时写 next-hop + output-interface
plaintext
policy-based-route pbr2 permit node 3
if-match acl name acl-pbr1
apply next-hop 192.168.100.1 track 1
apply output-interface Dialer2 ❌ 错误
H3C MSR 系列不允许同一个 node 同时配置下一跳 + 出接口
会导致:
PBR 不生效
流量不转发
丢包 / 漏流量
正确写法(二选一,推荐带 track 高可靠)
plaintext
policy-based-route pbr2 permit node 3
if-match acl name acl-pbr1
apply next-hop 192.168.100.1 track 1
不要写 apply output-interface
2)Node 5 错误:不能写两个 output-interface
plaintext
apply output-interface Dialer2
apply output-interface Dialer3 ❌ 错误
一个 node 只能有一个出接口,不能写两条。
你想做主备,必须用 track + 多个 node 实现。
3)对象组 + ACL 写法正确,但 PBR 顺序非常关键
你现在的顺序:
node 1 → 呼叫中心
node 3 → 0 网段
node 5 → 1 网段
node 11→14 → 旧策略
node 99 → 兜底
顺序没问题,但要确保:先精细 → 再宽泛
4)你担心的:后面想把个别 IP 改成 192.168.100.1 不好改
我告诉你:非常好改,不需要动现有结构
下面给你最灵活的方案。
三、我帮你修正后的 最终可用配置(直接替换)
bash
运行
# ============ 1. 源IP对象组 ============
object-group ip address srcgroup-pbr1
network range 192.168.0.2 192.168.0.255
quit
object-group ip address srcgroup-pbr2
network range 192.168.1.1 192.168.1.255
quit
# ============ 2. ACL ============
acl advanced name acl-callcenter
rule 10 permit ip destination 111.230.5.161 0
quit
acl advanced name acl-pbr1
rule 10 permit ip source object-group srcgroup-pbr1
quit
acl advanced name acl-pbr2
rule 10 permit ip source object-group srcgroup-pbr2
quit
acl advanced name acl-default
rule 10 permit ip
quit
# ============ 3. PBR 策略(修正版) ============
policy-based-route pbr2 permit node 1
if-match acl name acl-callcenter
apply output-interface Dialer2
quit
policy-based-route pbr2 permit node 3
if-match acl name acl-pbr1
apply next-hop 192.168.100.1 track 1
quit
policy-based-route pbr2 permit node 5
if-match acl name acl-pbr2
apply output-interface Dialer2
quit
# 旧策略顺延
policy-based-route pbr2 permit node 11
if-match acl 3000
apply next-hop 192.168.100.1 track 1
quit
policy-based-route pbr2 permit node 12
if-match acl name acl22
apply output-interface Dialer2
quit
policy-based-route pbr2 permit node 13
if-match acl name acl-overseas
apply next-hop 192.168.100.1 track 1
quit
policy-based-route pbr2 permit node 14
if-match acl name acl-cn
apply output-interface Dialer2
quit
# 兜底
policy-based-route pbr2 permit node 99
if-match acl name acl-default
apply next-hop 192.168.100.1 track 1
quit
save force
四、你最关心的:
想把 个别源 IP 改成走 192.168.100.1 怎么改最灵活?
方案 A:增加一个 优先级更高的小 node(最推荐,不动现有配置)
例如:把 192.168.1.100 单独走 100.1
bash
运行
# 新建ACL
acl advanced name acl-single-ip
rule 10 permit ip source 192.168.1.100 0
quit
# 插入到 node 2(比 node3 优先级更高)
policy-based-route pbr2 permit node 2
if-match acl name acl-single-ip
apply next-hop 192.168.100.1 track 1
quit
✅ 不用动原来的任何配置
✅ 想加几个 IP 就加几个
✅ 想改出口随时改
方案 B:建立一个 “强制走 100.1” 的对象组(最适合批量管理)
bash
运行
object-group ip address FORCE-100
network host 192.168.1.10
network host 192.168.1.11
network host 192.168.1.12
quit
acl advanced name acl-force-100
rule 10 permit ip source object-group FORCE-100
quit
policy-based-route pbr2 permit node 2
if-match acl name acl-force-100
apply next-hop 192.168.100.1 track 1
quit
以后只需要往对象组里加 IP,不用改 PBR 结构。
五、你的配置整体评价
✅ 正确
对象组 + 命名 ACL 非常规范
PBR 结构清晰
先精细后兜底
用了 track 高可靠
❌ 错误(已帮你修复)
同一个 node 不能同时写 next-hop + 出接口
不能写两个出接口
六、我给你最终建议(最稳方案)
使用我上面给你的修正版配置
个别 IP 要切换出口,用 node 2 插入单独规则(不影响现网)
批量 IP 切换出口,用对象组 FORCE-100
不要在同一个 node 写多个 apply
(0)
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论