我在配置具有 AND 操作的多个匹配项的路由图时遇到了困难。问题是,两个匹配条件都针对 ACL,但 ACL 不同。
我想做的是
route-map TEST permit 10
match ip address 100
match ip address 110
set vrf TESTVRF
我期望上面的“AND”操作能够满足匹配要求。
然而,当我发出 show run 时,它变成了
route-map TEST permit 10
match ip address 100 110
set vrf TESTVRF
按照 Cisco 语法,这是一个“或”运算。
问题是,如何在路由映射的 AND 操作中进行多个 ACL 匹配?谢谢。
答案1
我认为最简单的方法是设置access-list
您需要的所有匹配并将其放入路线图中。
编辑
免责声明:我只是在这里猜测。
您可以尝试这个,假设access-list 100
源和access-list 110
目的地:
在这里你恢复的逻辑是access-lists
:
access-list 100 deny ip 10.0.0.0 255.255.255.0 any
access-list 100 permit any
access-list 110 deny ip any 192.168.0.0 255.255.255.0
access-list 110 permit any
然后使用deny
在你的route-map
(所以如果access-list
许可证,那么规则失败):
route-map TEST deny 10
match ip address 100
route-map TEST deny 20
match ip address 110
route-map TEST permit 30
set vrf TESTVRF
这背后的逻辑是:
if source_address is not 10.0.0.0/24 {
fail
} else {
if destination_address is not 192.168.0.0/24 {
fail
} else {
set vrf TESTVRF
}
}
基本上它会检查第一的如果来源被允许(通过access-list 100
),如果允许然后检查目的地是否被允许(access-list 101
),最后如果两个都允许设置vrf
。
然后你可以轻松地允许否access-list 100
不同的源网络米不同的目的地网络access-list 101
。
答案2
如果您不能拥有单一访问列表,那么您可以使用路由图编号来获得“OR”条件。
route-map TEST permit 10
match ip address 100
set vrf TESTVRF
route-map TEST permit 20
match ip address 110
set vrf TESTVRF
答案3
我认为您需要使用对象组来代替。单凭路线图似乎是无法实现的。
这取决于您的设备,它可能支持,也可能不支持。它可能需要 ios 升级或根本不支持。
例如对象组网络 src 1.1.1.0/24
对象组网络 dst 2.2.2.0/24