コンフィグレーションガイド Vol.3


23.2.2 RIP学習経路フィルタリング

〈この項の構成〉

(1) 特定宛先ネットワークの経路の学習

192.168.0.0/16宛てのRIP経路だけを学習して,ほかの宛先ネットワークへのRIP経路を学習しないように設定します。

[設定のポイント]

学習経路フィルタリングをするには,distribute-list inを設定してください。経路を宛先ネットワークでフィルタするには,ip prefix-listを使用してください。

まず,192.168.0.0/16宛ての経路だけpermitになるip prefix-listを設定します。このip prefix-listをdistribute-list inから参照することで,経路宛先ネットワークによるRIP学習経路フィルタリングをするように設定します。

[コマンドによる設定]

  1. (config)# ip prefix-list ONLY192168 seq 10 permit 192.168.0.0/16

    192.168.0.0/16だけpermitになるip prefix-listを設定します。ONLY192168にはほかに条件がないので,宛先アドレスやマスク長の異なる経路はdenyになります。

  2. (config)# router rip

    (config-router)# distribute-list prefix ONLY192168 in

    RIPで学習する経路をONLY192168でフィルタするように設定します。

(2) 特定インタフェースについて,特定宛先ネットワークの経路の学習

ポート1/1から学習した経路について,192.168.0.0/16宛ての経路だけを学習して,ほかの宛先ネットワークへの経路を学習しないように設定します。ポート1/1以外のインタフェースから学習した経路はフィルタしません。

[設定のポイント]

RIPインタフェース個別に学習経路フィルタリングをするには,distribute-list inに<Interface>を指定してください。

まず,192.168.0.0/16宛ての経路だけpermitになるip prefix-listを設定します。このip prefix-listをdistribute-list in gigabitethernet 1/1から参照することで,ポート1/1から学習した経路についてだけ,経路宛先ネットワークによるRIP学習経路フィルタリングをするように設定します。

[コマンドによる設定]

  1. (config)# ip prefix-list ONLY192168 seq 10 permit 192.168.0.0/16

    192.168.0.0/16だけpermitになるip prefix-listを設定します。ONLY192168にはほかに条件がないので,宛先アドレスやマスク長の異なる経路はdenyになります。

  2. (config)# router rip

    (config-router)# distribute-list prefix ONLY192168 in gigabitethernet 1/1

    ポート1/1から学習した経路だけを,ONLY192168でフィルタするように設定します。

(3) タグ値と宛先ネットワークの両方による学習経路フィルタリング

宛先ネットワークが192.168.0.0/16に含まれていて,かつタグ値が15ではない経路を学習しないようにします。それ以外のRIP経路はすべて学習するようにします。

[設定のポイント]

宛先ネットワーク以外を条件とする場合や経路属性を変更したい場合は,route-mapを使用します。このroute-mapをdistribute-list inから参照します。

まず,192.168.0.0/16に含まれるプレフィックスだけがpermitになるip prefix-listを設定します。次に,このip prefix-listがpermitであり,かつタグ値が15でない経路だけがdenyになるroute-mapを設定します。

最後に,このroute-mapをdistribute-list inから参照することで,タグ値と宛先ネットワークの両方によるRIP学習経路フィルタリングを設定します。

タグ値を使用するにはRIPバージョン2である必要があります。RIPバージョン1ではタグ値を使えない点に注意してください。

[コマンドによる設定]

  1. (config)# ip prefix-list PERMIT192168LONGER seq 10 permit 192.168.0.0/16 ge 16 le 32

    192.168.0.0/16に含まれる経路だけpermitになるip prefix-listを設定します。

  2. (config)# route-map TAG permit 10

    (config-route-map)# match ip address prefix-list PERMIT192168LONGER

    (config-route-map)# match tag 15

    (config-route-map)# exit

    192.168.0.0/16に含まれて,かつタグ値が15の経路がpermitになるように設定します。

  3. (config)# route-map TAG deny 20

    (config-route-map)# match ip address prefix-list PERMIT192168LONGER

    (config-route-map)# exit

    シーケンス番号10にマッチしないで,かつ192.168.0.0/16に含まれる経路がdenyになるように設定します。

  4. (config)# route-map TAG permit 30

    (config-route-map)# exit

    シーケンス番号10,20の両方にマッチしなかった経路がpermitになるように設定します。

  5. (config)# router rip

    (config-router)# distribute-list route-map TAG in

    このフィルタをRIP学習経路フィルタリングに適用して,192.168.0.0/16に含まれて,かつタグ値が15でないRIP経路だけを学習しないように設定します。

(4) 宛先ネットワークによるディスタンス値の変更

宛先ネットワークが192.168.0.0/16に含まれているRIP学習経路について,OSPF経路よりも優先されるように,ディスタンス値を50にします。

[設定のポイント]

まず,192.168.0.0/16を含む経路だけpermitになるip prefix-listを設定します。次に,このip prefix-listがpermitであればディスタンス値を50に変更するroute-mapを設定します。

最後に,このroute-mapをdistribute-list inから参照することで,宛先ネットワークに基づいてディスタンス値を変更するRIP学習経路フィルタリングを設定します。

[コマンドによる設定]

  1. (config)# ip prefix-list PERMIT192168LONGER seq 10 permit 192.168.0.0/16 ge 16 le 32

    192.168.0.0/16に含まれる経路だけpermitになるip prefix-listを設定します。

  2. (config)# route-map Distance50 permit 10

    (config-route-map)# match ip address prefix-list PERMIT192168LONGER

    (config-route-map)# set distance 50

    (config-route-map)# exit

    192.168.0.0/16に含まれる経路を,ディスタンス値を50に変更してpermitになるように設定します。

  3. (config)# route-map Distance50 permit 20

    (config-route-map)# exit

    シーケンス番号10にマッチしなかった経路を,何も変更しないでpermitになるように設定します。

  4. (config)# router rip

    (config-router)# distribute-list route-map Distance50 in

    このフィルタをRIP学習経路フィルタリングに適用して,192.168.0.0/16に含まれるRIP学習経路だけ,ディスタンス値を50に変更するように設定します。