1. 它们的用途是什么?
IP Prefix List(IP前缀列表)
用于在网络设备上处理路由信息时过滤和匹配IP地址前缀的工具。
看起来功能与访问控制列表(ACL)类似,但IP Prefix List因其针对性和效率在路由选择和过滤中更适合使用。
举个例子
※本文中的例子均基于Arista系列交换机的康菲格(config)。
ip prefix-list ANON_TOKYO seq 10 permit 192.168.1.0/24
这个命令定义了一个名叫小糖人 ANON_TOKYO
的IP前缀列表,序号为10
,放行(permit)网络地址为192.168.1.0/24
的IP。
- 序号有什么用?
系统从最低的序号开始匹配,一旦匹配成功就不再进行后续检查(注意)。 -
在哪“匹配”,又是对谁“放行”?
别急,继续往下看先。
Route Map(路由图)
用于在网络设备(如路由器和交换机)上控制和修改路由的处理。(废话一般的说明)
举个例子
route-map MY_ROUTE permit 10
match ip address prefix-list ANON_TOKYO
set metric 30
set metric-type type-1
这组命令定义了一个名叫MY_ROUTE
的路由图,序号为10
。对于符合ANON_TOKYO
前缀列表所定义地址(前述,192.168.1.0/24)的路由条目,设置该条目的度量为30
,度量类型为Type-1
(OSPF参数)。
- 序号有什么用?
较小的序号优先匹配。 -
在哪“匹配”?
别急,继续往下看先。 -
🤔那如果
ANON_TOKYO
设置不是permit
而是deny
会怎样?对于符合
ANON_TOKYO
前缀列表所定义地址的路由条目符合→不符合
2. 用在什么地方?
一般将路由图写在动态路由设置中。以下为基于上述设置的OSPF设置例:
router ospf 100 vrf VRF_ROUTE_0
router-id 6.6.6.6
bfd default
passive-interface Vlan666
redistribute static route-map MY_ROUTE
network 192.168.2.0/24 area 0.0.0.0
max-lsa 12000
注意第5行,这里使用了刚才定义的路由图MY_ROUTE
,意为:对于满足路由图MY_ROUTE
指定条件(由ANON_TOKYO
定义)的静态路由条目,以MY_ROUTE
中指定设置(度量30
,度量类型Type-1
)进行再分发(redistribute)。比如,如果本地静态路由中有到192.168.1.100
的路由,则会被再分发;而192.168.3.100
这种的就会被过滤掉。
路由图设置亦可写在BGP的neighbor
中,如:
neighbor 192.168.10.1 route-map MY_ROUTE in
表示接收来自邻居192.168.10.1
且符合MY_ROUTE
条件的路由。
通过这个例子不难看出动态路由设置→路由图→IP前缀列表的引用关系。
3. 必须这么写吗?
非也。其实路由图也可以引用ACL,比如下例中的路由图设置就使用了序号为10
的ACL设置:
route-map MY_ROUTE permit 10
match ip address 10
...
当然,如果你说既不使用IP前缀列表也不使用ACL,那纯粹是想多了。