公司的华为AR路由器,2个千兆口各接入一条电信宽带,万兆光口接另一台交换机。
[AR]display ip routing-table
Route Flags: R - relay, D - download to fib, T - to vpn-instance
----------------------------------------------------------------------------
Routing Tables: Public
Destinations : 15 Routes : 16
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 D 1*.*.*.245 Dialer1
Static 60 0 D 1*.*.*.164 Dialer2
发现默认都走Dialer2的IP,想把万兆光口(XGigabitEthernet 0/0/2)下某IP指定走Dialer1的wan,鼓捣了下于是有了这个记录
一开始听AI的尝试使用PBR(policy-based-route),然后发现不行(不生效),最后使用traffic-policy+ACL实现:
[AR]dis acl 3001
Advanced ACL 3001, 1 rule
Acl's step is 5
rule 10 permit ip source 192.168.10.XXX 0 (14019702 matches)
[AR]dis traffic policy user-defined
User Defined Traffic Policy Information:
Policy: if3001tod1
Classifier: 2
Operator: OR
Behavior: 2
Precedence: 0
Classifier: if3001
Operator: OR
Behavior: tod1
Redirect:
redirect interface Dialer1
Precedence: 5
这里的意思大概就是,源为192.168.10.XXX这个IP的,跳转到Dialer1
然后再在XGigabitEthernet0/0/2里进行设置:
traffic-policy if3001tod1 inbound
interface XGigabitEthernet0/0/2进入接口设置后,直接输入上面的指令,就完成了。
我自己的理解是inbound方向且为192.168.10.XXX的流量全部走Dialer1接口实现要求。
但是这样之后有个问题,无法经过192.168.10.233访问交换机本身(192.168.10.1)了,因为流量都被转到Dialer1去了。
所以上面的policy中有一条 Classifier 2 Behavior 2
[AR-classifier-2]dis th
[V300R019C10SPC300]
#
traffic classifier 2 operator or
if-match acl 3000
#
return
[AR-behavior-2]dis th
[V300R019C10SPC300]
#
traffic behavior 2
#
return
[AR]dis acl 3000
Advanced ACL 3000, 2 rules
Acl's step is 5
rule 95 permit ip destination 192.168.10.1 0 (18456 matches)
我在这里加了个判断,大致作用就是目标为192.168.10.1的流量,匹配acl 3000,behavior内容为空,就是不做处理。
这一组Classifier+Behavior的优先级为precedence 0,所以高于ACL3001跳转Dialer1的规则,这样这组规则先被匹配到了。