◆ ip prefix-listコマンド
ip prefix-listコマンドは、それ自体でルートフィルタリングを行うわけではありません。以下のような
ルートフィルタリングを行う設定で、フィルタリング対象のルートを指定する際に使用するコマンドです。
・ BGPで使用できる neighbor 〜 prefix-list コマンド
・ OSPFで使用できる area 〜 filter-list prefix コマンド
・ 多くのルーティングプロトコルで使用できる distribute-list prefix コマンド
distribute-listではACLで対象ルートを指定できますが、ip prefix-list を使うことで以下の利点があります。
先ず、distribute-listでACLを指定するより、ip prefix-listを指定した方が高速処理される利点があります。
また、ip prefix-listコマンドの「ge」や「le」を指定することで、より柔軟に対象のルートを指定できます。
※ ip prefix-listコマンドは、access-listコマンド同様に、ip prefix-listの最後には暗黙のdenyが存在します。
◆ ip prefix-list の設定
(config)# ip prefix-list name seq number [ permit | deny ] address/length ge length le length
コマンド引数 |
説明 |
name |
プレフィックスリストの名前を適当に指定( 大文字、小文字は区別される )
|
seq number |
処理順を示すシーケンス番号の指定( 入力しない場合は作成順に 5 ずつ増えた値が適用される ) |
permit |
prefix-listに一致したルートの許可
|
deny |
prefix-listに一致したルートの拒否 |
address/length |
ネットワークアドレス/プレフィックス長の指定( 指定したlengthまでのbitが一致しているを確認 ) |
ge length |
省略可能な設定。ge値の指定。対象となるプレフィックス長が、ge値から「/32」までとなる |
le length |
省略可能な設定。le値の指定。対象となるプレフィックス長が、le値から「address/length」までとなる |
ip prefix-listコマンドにある「ge」とは「greater than or equal to」であり「以上」を意味します。そして
「le」とは「less than or equal to」であり「以下」を意味します。「未満」ではないことを認識しましょう。
◆ ip prefix-listコマンドの設定例
◆ ip prefix-list PRE01 permit 172.16.0.0/16
⇒ 先頭ビットが「172.16」に合致した上で、プレフィックス長が「/16」のルートのみが対象。
⇒ 対象ルート例:172.16.0.0/16 のみ
◆ ip prefix-list PRE01 permit 172.16.0.0/16 ge 24
⇒ 先頭ビットが「172.16」に合致した上で、プレフィックス長が「/24」以上のルートが対象。
⇒ 対象ルート例:172.16.0.0/24、172.16.1.0/24、172.16.0.0/25 など(172.16.0.0/16は含まれない)
◆ ip prefix-list PRE01 permit 172.16.0.0/16 le 24
⇒ 先頭ビットが「172.16」に合致した上で、プレフィックス長が「/24」以下のルートが対象。
⇒ 対象ルート例:172.16.0.0/16、172.16.0.0/24、172.16.0.0/20 など
◆ ip prefix-list PRE01 permit 172.16.0.0/16 ge 20 le 24
⇒ 先頭ビットが「172.16」に合致した上で、プレフィックス長が「/20 〜 /24」以下のルートが対象。
⇒ 対象ルート例:172.16.0.0/20、172.16.16.0/20、172.16.0.0/24など(172.16.0.0/16は含まれない)
◆ ip prefix-list PRE01 permit 0.0.0.0/0
⇒ デフォルトルートのみが対象
◆ ip prefix-list PRE01 permit 0.0.0.0/0 ge 32
⇒ プレフィックス長が「/32」以上のルートのみが対象(つまり、ホストルートのみが対象)
◆ ip prefix-list PRE01 permit 0.0.0.0/0 le 32
⇒ プレフィックス長が「/32」以下のルート全てが対象(つまり、全ルートが許可。permit anyと同じ)
例えば、以下の2行は対象ルートを指定する上で同じ意味を持つことになります。
⇒ access-list 1 permit 172.16.0.0 0.0.255.255
⇒ ip prefix-list PRE01 permit 172.16.0.0/16 le 32
distribute-listでACLを指定して「172.16.0.0/16」の経路を許可(拒否)する対象ルートにしたい場合に、
access-list 1 permit 172.16.0.0 0.0.255.255と設定した場合「172.16.0.0/16」以外の多くのルートが
許可されてしまうことになりますが、prefix-listなら「 ip prefix-list PRE01 permit 172.16.0.0/16 」と
設定した場合「172.16.0.0/16」だけを、許可(拒否)する対象ルートとして設定できることが分かります。
show ip prefix-list detailコマンドによって、ip prefix-listコマンドに一致したルート数を確認できます。
|