网络工程 · 9 6 月, 2025 0

路由设置:IP Prefix List和Route Map

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,那纯粹是想多了。