コンテンツにスキップ

prefix-list

prefix-list は、経路プレフィックスとprefix長を条件にして、経路を選別するためのリストである。

ACL は主にパケット条件を見る。prefix-list は経路プレフィックスを見る。DRPの再配送、distribute-list、BGP neighbor policy、route-map の match 条件でよく使う。


ip prefix-list STATIC-TO-OSPF seq 10 permit 172.16.10.0/24
ip prefix-list STATIC-TO-OSPF seq 20 deny 0.0.0.0/0 le 32

prefix-list も上から順に評価され、最後には暗黙の deny がある。


ge / le を付けない場合は、prefix と prefix長の両方が一致する経路だけに一致する。

ip prefix-list DEFAULT-ONLY seq 10 permit 0.0.0.0/0

これは 0.0.0.0/0 だけに一致する。すべてのIPv4経路に一致するわけではない。


ge と le は、許可するprefix長の範囲を指定する。

設定 意味
10.0.0.0/8 10.0.0.0/8 だけ
10.0.0.0/8 le 24 10.0.0.0/8 に含まれる /8 から /24
10.0.0.0/8 ge 16 le 24 10.0.0.0/8 に含まれる /16 から /24
0.0.0.0/0 le 32 すべてのIPv4 prefix

ge / le はネットワークアドレスの範囲と、prefix長の範囲を同時に見る。10.0.0.0/8 le 24 は、10.0.0.0/8 の外側の経路には一致しない。


IPv6 では ipv6 prefix-list を使う。

ipv6 prefix-list V6-DEFAULT seq 10 permit ::/0
ipv6 prefix-list V6-INTERNAL seq 10 permit 2001:db8:100::/48 le 64

考え方はIPv4と同じで、prefixとprefix長の範囲を条件にする。


prefix-list は単体で使うより、route-map から参照されることが多い。

ip prefix-list OSPF-TO-BGP seq 10 permit 10.10.0.0/16 le 24
route-map OSPF-TO-BGP permit 10
match ip address prefix-list OSPF-TO-BGP
set local-preference 200
exit

この例では、prefix-list が「どの経路か」を選び、route-map が「その経路に何をするか」を決めている。


場面 prefix-listの役割
OSPFへ再配送 外部から入れるprefixを限定する
EIGRPへ再配送 metricを付ける対象prefixを限定する
BGPへ再配送 BGPへ載せる内部prefixを限定する
BGP neighbor policy 広告/受信するprefixを限定する

DRPでは、広く許可するprefix-listを作るほど経路流入の範囲も広がる。最初は必要なprefixだけを明示する方が事故を起こしにくい。