嗨,我正在尝试将路由实例与 VPLS-* 以外的名称匹配,基本上任何以 V* 开头但不是 VPLS-* 的名称
我尝试了下面的多个不同迭代,但似乎忽略了所有以 V* 开头的名称
set groups ALLOW_MARTIAN_192 routing-instances <"![VPLS-*], V*"> routing-options martians 192.0.0.0/24 orlonger allow
有什么帮助吗?
嗨,我正在尝试将路由实例与 VPLS-* 以外的名称匹配,基本上任何以 V* 开头但不是 VPLS-* 的名称
我尝试了下面的多个不同迭代,但似乎忽略了所有以 V* 开头的名称
set groups ALLOW_MARTIAN_192 routing-instances <"![VPLS-*], V*"> routing-options martians 192.0.0.0/24 orlonger allow
有什么帮助吗?
我认为这在 Junos 应用组正则表达式的范围内是不可能的:
为了使用!
运算符来否定匹配,您必须在方括号中指定一个字符类[]
,但是将像这样的字符串VPLS-
放入字符类中,每个字符似乎都被视为逻辑 OR 例如:V or P or L or S or -
,这意味着任何包含V
因为第一个字符将被匹配和排除。
奇怪的是,虽然这并不完全一致 - 重新排列字母VPLS
会产生不同的结果,例如:PVLS-
不匹配,但SLPV-
确实 - 我不明白为什么:
groups {
RI-DESCRIPTION {
routing-instances {
"<[!VPLS-*]*>" {
description "This is from an apply-group";
}
}
}
}
root# show routing-instances | display inheritance no-comments
DIFFERENT-VR {
description "This is from an apply-group";
instance-type virtual-router;
}
PVLS-2 {
instance-type virtual-router;
}
RV-1 {
description "This is from an apply-group";
instance-type virtual-router;
}
SLPV-1 {
description "This is from an apply-group";
instance-type virtual-router;
}
VPLS-1 {
instance-type vpls;
}
VPLS-2 {
instance-type vpls;
}
VREF-2 {
instance-type virtual-router;
}
一种解决方案可能是set routing-instance VPLS-xxx apply-groups-except ALLOW_MARTIAN_192
在每个 VPLS 实例下使用- 不幸的是,您必须手动执行此操作,因为您无法apply-groups-except
在groups
与<VPLS-*>
.