# IP / 経路制御（フィルタリング）

経路情報のフィルタリング機能について説明します。
Note

本解説編は「IP」の章ですが、共通のコマンドが多いため、ここではIPv6の経路フィルタリングについても触れています。

ここでのフィルタリングとは、あらかじめ指定した条件にしたがって経路情報を分類・識別し、特定の経路を許可・破棄したり、経路情報の属性を変更したりすることを指します。
本製品には、ダイナミックルーティングプロトコル使用時に経路情報をフィルタリングする方法として、それぞれ次の機能が用意されています。

表 1：RIP用の経路フィルタリング機能
名称 | 対象 | 機能 | 分類・識別方法
ディストリビュートリスト | RIP経路の送受信時 | RIPパケットの受信時に特定の経路を受け入れないよう設定したり、RIPパケットの送信時に特定の経路を通知しないよう設定したりする | 標準IPアクセスリストかIPプレフィックスリスト
オフセットリスト | RIP経路の送受信時 | RIPパケットの受信時に特定の経路のメトリック値を大きくしたり、RIPパケットの送信時に特定の経路のメトリック値を大きくしたりする | 標準IPアクセスリスト
再通知用ルートマップ | 非RIP経路のインポート時 | 再通知のため非RIP経路をインポートするときに、特定の経路を除外したり、特定の経路の属性を変更した上でインポートしたりする | ルートマップ

表 2：OSPF用の経路フィルタリング機能
名称 | 対象 | 機能 | 分類・識別方法
エリアフィルターリスト | エリア間経路の送受信時 | ABRにおいて、特定エリアに対して他エリアの経路情報（タイプ3LSA）を通知しないよう設定したり、特定エリアの経路情報（タイプ3LSA）を他のエリアに通知しないよう設定したりする | 標準IPアクセスリストかIPプレフィックスリスト
ディストリビュートリスト | OSPF経路表からIP経路表へのインポート時（in） 非OSPF経路のインポート時（out） | OSPF経路表からIP経路表に経路情報を取り込むときや、非OSPF経路をAS内に再通知するときに特定の経路をフィルタリングする（後者はASBRでのみ有効） | 標準IPアクセスリストかルートマップ
再通知用ルートマップ | 非OSPF経路のインポート時 | ASBRにおいて、再通知のため非OSPF経路をインポートするときに、特定の経路を除外したり、特定の経路の属性を変更した上でインポートしたりする | ルートマップ

表 3：RIPng用の経路フィルタリング機能
名称 | 対象 | 機能 | 分類・識別方法
ディストリビュートリスト | RIPng経路の送受信時 | RIPngパケットの受信時に特定の経路を受け入れないよう設定したり、RIPngパケットの送信時に特定の経路を通知しないよう設定したりする | 標準IPv6アクセスリストかIPv6プレフィックスリスト
オフセットリスト | RIPng経路の送受信時 | RIPngパケットの受信時に特定の経路のメトリック値を大きくしたり、RIPngパケットの送信時に特定の経路のメトリック値を大きくしたりする | 標準IPv6アクセスリスト
再通知用ルートマップ | 非RIPng経路のインポート時 | 再通知のため非RIPng経路をインポートするときに、特定の経路を除外したり、特定の経路の属性を変更した上でインポートしたりする | ルートマップ

表 4：OSPFv3用の経路フィルタリング機能
名称 | 対象 | 機能 | 分類・識別方法
再通知用ルートマップ | 非OSPFv3経路のインポート時 | ASBRにおいて、再通知のため非OSPFv3経路をインポートするときに、特定の経路を除外したり、特定の経路の属性を変更した上でインポートしたりする | ルートマップ

経路情報をフィルタリングするためには、何らかの条件にしたがって経路情報を分類・識別したり、分類した経路情報に対する処理を指定したりする必要がありますが、そのための機能としては、次のものがあります。

- 標準IPアクセスリスト（次の2種類がある）
  - 番号付き標準IPアクセスリスト（access-list(standard)コマンド）
  - 名前付き標準IPアクセスリスト（access-list standardコマンド）
- IPプレフィックスリスト（ip prefix-listコマンド）
- 標準IPv6アクセスリスト（次の1種類のみ）
  - 名前付き標準IPv6アクセスリスト（ipv6 access-list standardコマンド）
- IPv6プレフィックスリスト（ipv6 prefix-listコマンド）
- ルートマップ（route-mapコマンドほか。ルートマップ中で標準IPアクセスリスト、IPプレフィックスリスト、標準IPv6アクセスリスト、IPv6プレフィックスリストを使うこともある）

以下では、まずこれら分類・識別のための機能について説明し、次に各ルーティングプロトコルにおける経路フィルタリングの設定について具体例を挙げながら説明します。
ダイナミックルーティングなどの関連機能については以下のセクションをご覧ください。

- RIP
- OSPF
- RIPng
- OSPFv3
- ポリシーベースルーティング

## 経路の分類・識別

ここでは、経路情報を分類・識別するための各機能について解説します。

### 標準IPアクセスリスト

標準IPアクセスリストは、IPアドレスを1つだけ指定できるアクセスリストです。始点IPアドレスに基づくアクセス制御が本来の用途ですが、宛先ネットワークアドレス（プレフィックス）に基づく経路エントリーの分類・識別にも使用できます。
標準IPアクセスリストは複数のエントリーから構成されるリストで、検索はエントリーの追加順に行われます。検索時には、最初にマッチしたエントリーで処理（permitかdeny）が行われるか結果（permitかdeny）が返され、マッチした時点で検索は終了します。どのエントリーにもマッチしなかった場合はdenyとなります。
標準IPアクセスリストには、各リストを番号で識別するタイプと名前で識別するタイプがあり、それぞれ以下のコマンドで設定を行います。

- 番号で識別するタイプ：access-list(standard)コマンド
- 名前で識別するタイプ：access-list standardコマンド

両者は分類条件の指定方法が若干異なるだけで、経路フィルタリングの各機能においてはどちらも同じように使用できます。
以下では、標準IPアクセスリストを用いて経路エントリーを分類・識別する方法について解説します。
標準IPアクセスリストを使ってトラフィック（パケット）の分類・識別や制御を行う方法については、「トラフィック制御」の「アクセスリスト」をご覧ください。

#### 番号付き標準IPアクセスリスト

番号で識別するタイプの標準IPアクセスリストを作成するには、access-list(standard)コマンドを使います。
番号付き標準IPアクセスリストでは、宛先プレフィックスのアドレス部分に対してのみマッチングを行います。このとき、ワイルドカードマスク（リバースマスクまたはORマスクともいう）を使うことで、柔軟なアドレス指定が可能です。次にいくつか例を示します。
Note

番号付き標準IPアクセスリストの末尾には「deny any」、すなわち、すべてをdenyする暗黙のエントリーが存在していることにご注意ください。

- 宛先プレフィックス（アドレス部分）の先頭オクテットが「10」の経路エントリー（アドレス部分が10.0.0.0～10.255.255.255の範囲内）を破棄し、その他は許可する。

      awplus(config)# access-list 1 deny 10.0.0.0 0.255.255.255
      awplus(config)# access-list 1 permit any

- 宛先プレフィックス（アドレス部分）の先頭2オクテットが「172.16」の経路エントリー（アドレス部分が172.16.0.0～172.16.255.255の範囲内）を破棄し、その他は許可する。

      awplus(config)# access-list 2 deny 172.16.0.0 0.0.255.255
      awplus(config)# access-list 2 permit any

- 宛先プレフィックス（アドレス部分）の先頭3オクテットが「192.168.10」の経路エントリー（アドレス部分が192.168.10.0～192.168.10.255の範囲内）を破棄し、その他は許可する。

      awplus(config)# access-list 3 deny 192.168.10.0 0.0.0.255
      awplus(config)# access-list 3 permit any

- 宛先プレフィックス（アドレス部分）の先頭25ビットが「192.168.10.128」の経路エントリー（アドレス部分が192.168.10.128～192.168.10.255の範囲内）を破棄し、その他は許可する。

      awplus(config)# access-list 4 deny 192.168.10.128 0.0.0.127
      awplus(config)# access-list 4 permit any

- 宛先プレフィックス（アドレス部分）が「192.168.10.128」と完全一致する経路エントリーを破棄し、その他は許可する。このケースでは、ワイルドカードマスク「0.0.0.0」は省略可能。

      awplus(config)# access-list 5 deny 192.168.10.128 0.0.0.0
      awplus(config)# access-list 5 permit any

#### 名前付き標準IPアクセスリスト

名前で識別するタイプの標準IPアクセスリストを作成するには、access-list standardコマンドを使います。
名前付き標準IPアクセスリストでは、つねに「アドレス/プレフィックス長（サブネットマスクの長さ）」の組に対してマッチングを行います。次にいくつか例を示します。
Note

名前付き標準IPアクセスリストの末尾には「deny any」、すなわち、すべてをdenyする暗黙のエントリーが存在していることにご注意ください。

- 宛先プレフィックス（アドレス部分）の先頭オクテットが「10」で、プレフィックス長が8～32ビットの経路エントリーを破棄し、その他は許可する。

      awplus(config)# access-list standard n1 deny 10.0.0.0/8
      awplus(config)# access-list standard n1 permit any

- 宛先プレフィックス（アドレス部分）の先頭2オクテットが「172.16」で、プレフィックス長が16～32ビットの経路エントリーを破棄し、その他は許可する。

      awplus(config)# access-list standard n2 deny 172.16.0.0/16
      awplus(config)# access-list standard n2 permit any

- 宛先プレフィックス（アドレス部分）の先頭3オクテットが「192.168.10」で、プレフィックス長が24～32ビットの経路エントリーを破棄し、その他は許可する。

      awplus(config)# access-list standard n3 deny 192.168.10.0/24
      awplus(config)# access-list standard n3 permit any

- 宛先プレフィックス（アドレス部分）の先頭25ビットが「192.168.10.128」で、プレフィックス長が25～32ビットの経路エントリーを破棄し、その他は許可する。

      awplus(config)# access-list standard n4 deny 192.168.10.128/25
      awplus(config)# access-list standard n4 permit any

- 宛先プレフィックス（アドレス部分）の先頭25ビットが「192.168.10.128」で、プレフィックス長が25ビットの経路エントリーを破棄し、その他は許可する。具体的には「192.168.10.128/25」と完全一致する経路エントリーだけを破棄する。

      awplus(config)# access-list standard n5 deny 192.168.10.128/25 exact-match
      awplus(config)# access-list standard n5 permit any

  本例は前の例とよく似ていますが、前の例が「192.168.10.128/25」、「192.168.10.192/28」、「192.168.10.248/29」など複数の経路エントリーとマッチするのに対し、本例は経路エントリー「192.168.10.128/25」とだけマッチします。
  Note

  名前付き標準IPアクセスリスト（access-list standardコマンド）の指定値M（マスク長）は、アドレス部分の先頭何ビットを比較対象とするかを指定すると同時に、プレフィックス長も指定します。exact-matchオプションを指定した場合は、経路エントリーのプレフィックス長がMと一致するときだけマッチします。exact-matchオプションを指定しなかった場合は、経路エントリーのプレフィックス長がM以上（M～32）のときにマッチします。

### IPプレフィックスリスト

IPプレフィックスリストは、標準IPアクセスリストとは異なり、経路エントリーの分類・識別に特化した仕組みです。
IPプレフィックスリストではつねに「アドレス/プレフィックス長（サブネットマスクの長さ）」の組に対してマッチングを行います。
IPプレフィックスリストは複数のエントリーから構成されるリストで、検索はエントリー番号の若い順に行われます。検索時には、最初にマッチしたエントリーで処理（permitかdeny）が行われるか結果（permitかdeny）が返され、マッチした時点で検索は終了します。どのエントリーにもマッチしなかった場合はdenyとなります。
IPプレフィックスリストを作成するには、ip prefix-listコマンドを使います。
次にいくつか例を示します。
Note

IPプレフィックスリストの末尾には「deny any」、すなわち、すべてをdenyする暗黙のエントリーが存在していることにご注意ください。

- 宛先プレフィックス（アドレス部分）の先頭オクテットが「10」で、プレフィックス長が8～32ビットの経路エントリーを破棄し、その他は許可する。

      awplus(config)# ip prefix-list p1 deny 10.0.0.0/8 le 32
      awplus(config)# ip prefix-list p1 permit any

- 宛先プレフィックス（アドレス部分）の先頭2オクテットが「172.16」で、プレフィックス長が16～32ビットの経路エントリーを破棄し、その他は許可する。

      awplus(config)# ip prefix-list p2 deny 172.16.0.0/16 le 32
      awplus(config)# ip prefix-list p2 permit any

- 宛先プレフィックス（アドレス部分）の先頭3オクテットが「192.168.10」で、プレフィックス長が24～32ビットの経路エントリーを破棄し、その他は許可する。

      awplus(config)# ip prefix-list p3 deny 192.168.10.0/24 le 32
      awplus(config)# ip prefix-list p3 permit any

- 宛先プレフィックス（アドレス部分）の先頭25ビットが「192.168.10.128」で、プレフィックス長が25～32ビットの経路エントリーを破棄し、その他は許可する。

      awplus(config)# ip prefix-list p4 deny 192.168.10.128/25 le 32
      awplus(config)# ip prefix-list p4 permit any

- 宛先プレフィックス（アドレス部分）の先頭25ビットが「192.168.10.128」で、プレフィックス長が25ビットの経路エントリーを破棄し、その他は許可する。具体的には「192.168.10.128/25」と完全一致する経路エントリーだけを破棄する。

      awplus(config)# ip prefix-list p5 deny 192.168.10.128/25
      awplus(config)# ip prefix-list p5 permit any

- 宛先プレフィックス（アドレス部分）の先頭3オクテットが「192.168.10」で、プレフィックス長が25～28ビットの経路エントリーを破棄し、その他は許可する。具体的には「192.168.10.0/25」や「192.168.10.128/28」などの経路エントリーにマッチします。

      awplus(config)# ip prefix-list p6 deny 192.168.10.0/24 ge 25 le 28
      awplus(config)# ip prefix-list p6 permit any

### 標準IPv6アクセスリスト

標準IPv6アクセスリストは、IPv6アドレスを1つだけ指定できるアクセスリストです。
標準IPアクセスリストのIPv6版と考えればよいでしょう。
標準IPv6アクセスリストは複数のエントリーから構成されるリストで、検索はエントリーの追加順に行われます。検索時には、最初にマッチしたエントリーで処理（permitかdeny）が行われるか結果（permitかdeny）が返され、マッチした時点で検索は終了します。どのエントリーにもマッチしなかった場合はdenyとなります。
標準IPv6アクセスリストは、標準IPアクセスリストと異なり、各リストを名前で識別するタイプしかありません。設定はipv6 access-list standardコマンドで行います。
以下では、標準IPv6アクセスリストを用いて経路エントリーを分類・識別する方法について解説します。
標準IPv6アクセスリストを使ってトラフィック（パケット）の分類・識別や制御を行う方法については、「トラフィック制御」の「アクセスリスト」をご覧ください。

#### 名前付き標準IPv6アクセスリスト

名前で識別するタイプの標準IPv6アクセスリストを作成するには、ipv6 access-list standardコマンドを使います。
名前付き標準IPv6アクセスリストでは、つねに「アドレス/プレフィックス長」の組に対してマッチングを行います。次にいくつか例を示します。
Note

名前付き標準IPv6アクセスリストの末尾には「deny any」、すなわち、すべてをdenyする暗黙のエントリーが存在していることにご注意ください。

- 宛先プレフィックス（アドレス部分）の先頭32ビットが「2001:db8」で、プレフィックス長が32～128ビットの経路エントリーを破棄し、その他は許可する。

      awplus(config)# ipv6 access-list standard n1 deny 2001:db8::/32
      awplus(config)# ipv6 access-list standard n1 permit any

- 宛先プレフィックス（アドレス部分）の先頭48ビットが「2001:db8:10」で、プレフィックス長が48～128ビットの経路エントリーを破棄し、その他は許可する。

      awplus(config)# ipv6 access-list standard n2 deny 2001:db8:10::/48
      awplus(config)# ipv6 access-list standard n2 permit any

- 宛先プレフィックス（アドレス部分）の先頭48ビットが「2001:db8:10」で、プレフィックス長が48ビットの経路エントリーを破棄し、その他は許可する。具体的には「2001:db8:10::/48」と完全一致する経路エントリーだけを破棄する。

      awplus(config)# ipv6 access-list standard n3 deny 2001:db8:10::/48 exact-match
      awplus(config)# ipv6 access-list standard n3 permit any

  本例は前の例とよく似ていますが、前の例が「2001:db8:10::/48」、「2001:db8:10::/64」、「2001:db8:10:10::/64」、「2001:db8:10:10::1/128」など複数の経路エントリーとマッチするのに対し、本例は経路エントリー「2001:db8:10::/48」とだけマッチします。
  Note

  名前付き標準IPv6アクセスリスト（ipv6 access-list standardコマンド）の指定値M（マスク長）は、アドレス部分の先頭何ビットを比較対象とするかを指定すると同時に、プレフィックス長も指定します。exact-matchオプションを指定した場合は、経路エントリーのプレフィックス長がMと一致するときだけマッチします。exact-matchオプションを指定しなかった場合は、経路エントリーのプレフィックス長がM以上（M～128）のときにマッチします。

### IPv6プレフィックスリスト

IPv6プレフィックスリストは、標準IPv6アクセスリストとは異なり、経路エントリーの分類・識別に特化した仕組みです。
IPプレフィックスリストではつねに「アドレス/プレフィックス長」の組に対してマッチングを行います。
IPプレフィックスリストは複数のエントリーから構成されるリストで、検索はエントリー番号の若い順に行われます。検索時には、最初にマッチしたエントリーで処理（permitかdeny）が行われるか結果（permitかdeny）が返され、マッチした時点で検索は終了します。どのエントリーにもマッチしなかった場合はdenyとなります。
IPv6プレフィックスリストを作成するには、ipv6 prefix-listコマンドを使います。
次にいくつか例を示します。
Note

IPv6プレフィックスリストの末尾には「deny any」、すなわち、すべてをdenyする暗黙のエントリーが存在していることにご注意ください。

- 宛先プレフィックス（アドレス部分）の先頭32ビットが「2001:db8」で、プレフィックス長が32～128ビットの経路エントリーを破棄し、その他は許可する。

      awplus(config)# ipv6 prefix-list p1 deny 2001:db8::/32 le 128
      awplus(config)# ipv6 prefix-list p1 permit any

- 宛先プレフィックス（アドレス部分）の先頭48ビットが「2001:db8:10」で、プレフィックス長が48～128ビットの経路エントリーを破棄し、その他は許可する。

      awplus(config)# ipv6 prefix-list p2 deny 2001:db8:10::/48 le 128
      awplus(config)# ipv6 prefix-list p2 permit any

- 宛先プレフィックス（アドレス部分）の先頭48ビットが「2001:db8:10」で、プレフィックス長が48ビットの経路エントリーを破棄し、その他は許可する。具体的には「2001:db8:10::/48」と完全一致する経路エントリーだけを破棄する。

      awplus(config)# ipv6 prefix-list p3 deny 2001:db8:10::/48
      awplus(config)# ipv6 prefix-list p3 permit any

- 宛先プレフィックス（アドレス部分）の先頭32ビットが「2001:db8」で、プレフィックス長が48～64ビットの経路エントリーを破棄し、その他は許可する。具体的には「2001:db8:10::/48」や「2001:db8:abcd:10::/64」などの経路エントリーにマッチします。

      awplus(config)# ipv6 prefix-list p4 deny 2001:db8::/32 ge 48 le 64
      awplus(config)# ipv6 prefix-list p4 permit any

### ルートマップ

ルートマップは、宛先プレフィックスだけでなく、ネクストホップやメトリックなどのさまざまな基準に基づいて経路エントリーを分類・識別し、分類した経路を破棄したり、経路属性を書き換えたりするための機能です。
ルートマップは複数のエントリーで構成されるリストで、検索はエントリー番号の若い順に行われます。検索時には、最初にマッチしたエントリーで以下に示す処理が行われ、マッチした時点で検索は終了します。どのエントリーにもマッチしなかった場合はdenyとなります。

- マッチしたエントリーのアクションがpermitなら、該当経路は許可され、set節があればそれも実行される
- マッチしたエントリーのアクションがdenyなら、該当経路は破棄され、set節は実行されない

ルートマップ内の各エントリーは、0～複数個のmatch節、1個のアクション（denyかpermit）、0～複数個のset節によって構成されます。match節、アクション、set節は、それぞれ次の役割を持ちます。

- match節は、経路エントリーと照合するための条件。match節のないエントリーはすべてにマッチする
- アクションは、マッチした経路を許可（permit）するか破棄（deny）するかの指定。許可された経路には引き続きset節が適用される
- set節は、許可（permit）された経路の属性を変更するための指定。1つのエントリーにおいて、複数種の属性を変更することができる

なお、match節では、以下の情報を条件として使用できます。

- 宛先プレフィックス（match ip addressコマンド、match ipv6 addressコマンド）
- ネクストホップインターフェース（match interfaceコマンド）
- ネクストホップアドレス（match ip next-hopコマンド）
- メトリック（match metricコマンド）
- OSPF外部経路のメトリックタイプ（match route-typeコマンド）
- OSPF外部経路のタグ（match tagコマンド）

宛先プレフィックス、ネクストホップアドレスのマッチングには、前述した標準IPアクセスリスト、IPプレフィックスリスト、標準IPv6アクセスリスト、IPv6プレフィックスリストを利用します。なお、ルートマップエントリーで標準IPアクセスリストやIPプレフィックスリストを使用する場合は、これらのリストを単独で使用する場合とdeny、permitの意味が異なるため注意してください。
また、set節では以下の情報を変更できます。

- ネクストホップアドレス（set ip next-hopコマンド）
- メトリック（set metricコマンド）
- OSPF外部経路のメトリックタイプ（set metric-typeコマンド）
- OSPF外部経路のタグ（set tagコマンド）

ルートマップの設定は次の流れで行います。

1. 必要に応じて、宛先プレフィックスやネクストホップアドレスのマッチングを行うための標準IPアクセスリスト、IPプレフィックスリスト、標準IPv6アクセスリスト、IPv6プレフィックスリストを作成します。
   このとき、リスト中のdeny、permitは経路エントリーを破棄するかどうかの指定でなく、該当経路エントリーをルートマップエントリーにマッチさせるかどうかの指定である点に注意してください。経路エントリーを破棄するかどうかは、リストのアクションではなく、ルートマップエントリーのアクションで指定します。
2. route-mapコマンドでルートマップエントリーを作成し、アクションを指定します。同コマンドを実行すると、ルートマップエントリーの内容を編集するためのルートマップモードに移行します。
3. ルートマップエントリーにmatch節を追加して分類条件を指定します。このとき、必要に応じて標準IPアクセスリストやIPプレフィックスリストなどを指定します。なお、match節のないルートマップエントリーは、すべての経路エントリーにマッチします。
4. 手順2で指定したルートマップエントリーのアクションがpermitの場合は、必要に応じてset節を追加し、経路属性を変更するための設定を追加します。属性変更をしない場合、set節は不要です。

以下、ルートマップの作成例をいくつか示します。
Note

ルートマップの末尾には、すべてをdenyする暗黙のエントリーが存在していることにご注意ください。

Note

前にも述べたとおり、ルートマップのmatch節で使用する標準IPアクセスリスト、IPプレフィックスリスト、標準IPv6アクセスリスト、IPv6プレフィックスリストでは、deny、permitの意味が通常とは逆転しているので注意してください。

- 192.168.0.0/24と完全一致する宛先プレフィックスを持つ経路エントリーを破棄し、その他は許可する。

      awplus(config)# ip prefix-list p0 permit 192.168.0.0/24
      awplus(config)# route-map r1 deny 10
      awplus(config-route-map)# match ip address prefix-list p0
      awplus(config-route-map)# exit
      awplus(config)# route-map r1 permit 20
      awplus(config-route-map)# exit

- ネクストホップアドレスが172.16.10.3の経路エントリーを破棄し、その他は許可する。

      awplus(config)# access-list 10 permit 172.16.10.3 0.0.0.0
      awplus(config)# route-map r2 deny 10
      awplus(config-route-map)# match ip next-hop 10
      awplus(config-route-map)# exit
      awplus(config)# route-map r2 permit 20
      awplus(config-route-map)# exit

- 宛先プレフィックス（アドレス部分）の先頭2オクテットが「172.31」の経路エントリーに対し、OSPF外部経路タグ値「31」をセットする。その他の経路エントリーは変更しない。

      awplus(config)# access-list 20 permit 172.31.0.0 0.0.255.255
      awplus(config)# route-map r3 permit 10
      awplus(config-route-map)# match ip address 20
      awplus(config-route-map)# set tag 31
      awplus(config-route-map)# exit
      awplus(config)# route-map r3 permit 20
      awplus(config-route-map)# exit

- 「2001:db8:10::/48」に内包されるすべての経路エントリーを破棄した上で、経路エントリー「2001:db8:20:aaaa::/64」と「2001:db8:30:aaaa::/64」のメトリックに1を加算する。その他の経路エントリーは変更しない。

      awplus(config)# ipv6 access-list standard no_redist permit 2001:db8:10::/48
      awplus(config)# ipv6 access-list standard redist_addmet permit 2001:db8:20:aaaa::/64 exact-match
      awplus(config)# ipv6 access-list standard redist_addmet permit 2001:db8:30:aaaa::/64 exact-match
      awplus(config)# route-map r4 deny 10
      awplus(config-route-map)# match ipv6 address no_redist
      awplus(config-route-map)# exit
      awplus(config)# route-map r4 permit 20
      awplus(config-route-map)# match ipv6 address redist_addmet
      awplus(config-route-map)# set metric +1
      awplus(config-route-map)# exit
      awplus(config)# route-map r4 permit 30
      awplus(config-route-map)# exit

## RIPにおける経路フィルタリング

ここでは、RIPを使用してダイナミックルーティングを行う場合の経路フィルタリングの方法について解説します。

### ディストリビュートリスト（RIP）

ディストリビュートリストは、RIPパケットの受信時に特定の経路を受け入れないよう設定したり、RIPパケットの送信時に特定の経路を通知しないよう設定したりするための機能です。
ディストリビュートリストは、RIPモードのdistribute-listコマンドで設定します。経路エントリーの分類条件は、標準IPアクセスリストかIPプレフィックスリストで定義します。
RIPパケットの受信時に特定の経路を受け入れないようにするには、distribute-listコマンドを「in」方向で設定します。
たとえば、RIPインターフェースvlan20において、10.0.0.0/8に包含される経路エントリーを受け入れないようにするには、次のようにします。

1. 宛先プレフィックスの先頭オクテットが「10」の経路エントリーを破棄し、その他は許可する標準IPアクセスリスト1を作成します。

       awplus(config)# access-list 1 deny 10.0.0.0 0.255.255.255
       awplus(config)# access-list 1 permit any

2. RIPモードに移行して、受信用のディストリビュートリストをvlan20に設定します。このとき、分類条件として標準アクセスリスト1を指定します。

       awplus(config)# router rip
       awplus(config-router)# distribute-list 1 in vlan20

RIPパケットの送信時に特定の経路を通知しないようにするには、distribute-listコマンドを「out」方向で設定します。
たとえば、RIPインターフェースvlan10において、192.168.0.0/16に包含される経路エントリーを通知しないようにするには、次のようにします。

1. 宛先プレフィックスの先頭2オクテットが「192.168」の経路エントリーを破棄し、その他は許可する標準IPアクセスリスト2を作成します。

       awplus(config)# access-list 2 deny 192.168.0.0 0.0.255.255
       awplus(config)# access-list 2 permit any

2. RIPモードに移行して、送信用のディストリビュートリストをvlan10に設定します。このとき、分類条件として標準アクセスリスト2を指定します。

       awplus(config)# router rip
       awplus(config-router)# distribute-list 2 out vlan10

### オフセットリスト（RIP）

オフセットリストは、RIPパケットの受信時に特定の経路のメトリック値を大きくしたり、RIPパケットの送信時に特定の経路のメトリック値を大きくしたりするための機能です。
オフセットリストは、RIPモードのoffset-listコマンドで設定します。経路エントリーの分類条件は、標準IPアクセスリストで定義します。
RIPパケットの受信時に特定の経路のメトリックを大きくするには、offset-listコマンドを「in」方向で設定します。
たとえば、RIPインターフェースvlan20で経路情報を受信するとき、経路エントリー172.16.20.0/24の場合だけメトリックを4加算した上でRIP経路表に取り込むよう設定するには、次のようにします。

1. 宛先プレフィックスが「172.16.20.0/24」に完全一致する経路エントリーをpermitし、その他はdenyする名前付き標準IPアクセスリスト「add4」を作成します。オフセットリストで使用するアクセスリストでは、メトリックを変更したい経路をpermit、変更したくない経路をdenyするよう設定します。

       awplus(config)# access-list standard add4 permit 172.16.20.0/24 exact-match

2. RIPモードに移行して、受信用のオフセットリストをvlan20に設定します。このとき、分類条件として名前付き標準アクセスリスト「add4」を指定します。メトリック加算値は「4」とします。

       awplus(config)# router rip
       awplus(config-router)# offset-list add4 in 4 vlan20

RIPパケットの送信時に特定の経路のメトリックを大きくするには、offset-listコマンドを「out」方向で設定します。
たとえば、RIPインターフェースvlan10から経路情報を送信するとき、経路エントリー192.168.10.0/24の場合だけメトリックを5加算した上で通知するよう設定するには、次のようにします。

1. 宛先プレフィックスが「192.168.10.0/24」に完全一致する経路エントリーをpermitし、その他はdenyする名前付き標準IPアクセスリスト「add5」を作成します。オフセットリストで使用するアクセスリストでは、メトリックを変更したい経路をpermit、変更したくない経路をdenyするよう設定します。

       awplus(config)# access-list standard add5 permit 192.168.10.0/24 exact-match

2. RIPモードに移行して、送信用のオフセットリストをvlan10に設定します。このとき、分類条件として名前付き標準アクセスリスト「add5」を指定します。メトリック加算値は「5」とします。

       awplus(config)# router rip
       awplus(config-router)# offset-list add5 out 5 vlan10

### 再通知用ルートマップ（RIP）

再通知用ルートマップは、再通知のため非RIP経路をインポートするときに、特定の経路を除外したり特定の経路の属性を変更した上でインポートしたりするための機能です。
再通知用ルートマップは、RIPモードのredistributeコマンドで再通知の設定を行うときに、route-mapパラメーターで指定します。
非RIP経路のインポート時に、特定の経路をインポートしないよう設定したり、特定の経路の属性を変更した上でインポートするよう設定したりするには、redistributeコマンドのroute-mapパラメーターでルートマップを指定します。
たとえば、OSPF経路をRIPにインポートするとき、経路エントリー172.24.0.0/16をインポート対象から除外するには、次のようにします。

1. 経路エントリー172.24.0.0/16を破棄し、その他を許可するルートマップr24を作成します。

       awplus(config)# ip prefix-list p24 permit 172.24.0.0/16
       awplus(config)# route-map r24 deny 10
       awplus(config-route-map)# match ip address prefix-list p24
       awplus(config-route-map)# exit
       awplus(config)# route-map r24 permit 20
       awplus(config-route-map)# exit

2. RIPモードのredistributeコマンドでOSPF経路再通知の設定をするときに、route-mapパラメーターでルートマップ名を指定します。

       awplus(config)# router rip
       awplus(config-router)# redistribute ospf route-map r24

## OSPFにおける経路フィルタリング

ここでは、OSPFを使用してダイナミックルーティングを行う場合の経路フィルタリングの方法について解説します。

### エリアフィルターリスト

エリアフィルターリストは、ABRにおいて、特定エリアに対して他エリアの経路情報（タイプ3LSA）を通知しないよう設定したり、特定エリアの経路情報（タイプ3LSA）を他のエリアに通知しないよう設定したりするための機能です。
エリアフィルターリストは、OSPFモードのarea filter-listコマンドで設定します。経路エントリーの分類条件は、標準IPアクセスリストかIPプレフィックスリストで定義します。
ABRにおいて、あるエリアに対して他エリアの経路情報（タイプ3LSA）を通知しないよう設定するには、area filter-listコマンドを方向「in」で設定します。
たとえば、エリア1のABRに対し、エリア1には172.23.0.0/16の範囲におさまるタイプ3LSA（他エリアの経路情報）を通知しないよう設定するには、次のようにします。

1. 172.23.0.0/16に包含される宛先プレフィックスを持つ経路エントリーを破棄し、その他は許可するIPプレフィックスリストdpS23を作成します。

       awplus(config)# ip prefix-list dpS23 deny 172.23.0.0/16 le 32
       awplus(config)# ip prefix-list dpS23 permit any

2. OSPFモードに移行して、エリア1に対する方向「in」のエリアフィルターリストを設定します。このとき、分類条件としてIPプレフィックスリストdpS23を指定します。

       awplus(config)# router ospf
       awplus(config-router)# area 1 filter-list prefix dpS23 in

ABRにおいて、あるエリアの経路情報（タイプ3LSA）を他のエリアに通知しないよう設定するには、area filter-listコマンドを方向「out」で設定します。
たとえば、エリア2のABRに対し、エリア2内部の経路172.22.254.0/24を他エリアにタイプ3LSAで通知しないよう設定するには、次のようにします。

1. 172.22.254.0/16に包含される宛先プレフィックスを持つ経路エントリーを破棄し、その他は許可するIPプレフィックスリストdp254を作成します。

       awplus(config)# ip prefix-list dp254 deny 172.22.254.0/24
       awplus(config)# ip prefix-list dp254 permit any

2. OSPFモードに移行して、エリア2に対する方向「out」のエリアフィルターリストを設定します。このとき、分類条件としてIPプレフィックスリストdp254を指定します。

       awplus(config)# router ospf
       awplus(config-router)# area 2 filter-list prefix dp254 out

### ディストリビュートリスト（OSPF）

ディストリビュートリストは、OSPF経路表からIP経路表に経路情報を取り込むときや、非OSPF経路をAS内に再通知するときに特定の経路をフィルタリングするための機能です。
ディストリビュートリストは、OSPFモードのdistribute-listコマンドで設定します。経路エントリーの分類条件は、標準IPアクセスリストかルートマップで定義します。
OSPF経路表からIP経路表に経路情報を取り込むときに特定の経路を受け入れないようにするには、distribute-listコマンドを「in」方向で設定します。
たとえば、vlan10経由の10.10.0.0/16宛て経路を受け入れないようにするには、次のようにします。

1. 「10.10.0.0/16」に合致するIPプレフィックスリストplを作成します。

       awplus(config)# ip prefix-list pl permit 10.10.0.0/16

2. vlan10経由の10.10.0.0/16宛て経路のみを破棄し、その他の経路は受け入れるルートマップrmを作成します。

       awplus(config)# route-map rm deny 1
       awplus(config-route-map)# match ip address prefix-list pl
       awplus(config-route-map)# match interface vlan10
       awplus(config-route-map)# exit
       awplus(config)# route-map rm permit 20
       awplus(config-route-map)# exit

3. OSPFモードに移行して、ルートマップrmにもとづくディストリビュートリスト（in）を設定します。

       awplus(config)# router ospf
       awplus(config-router)# distribute-list route-map rm in

非OSPF経路をAS内に再通知するときに特定の経路を通知しないようにするには、distribute-listコマンドを「out」方向で設定します。本設定はASBRでのみ有効です。
たとえば、ASBRにおいて、RIP経由で学習した外部経路のうち、「10.30.10.0/24」をOSPFでは再通知しないよう設定するには次のようにします。

1. 経路エントリー「10.30.10.0/24」のみを破棄し、他は許可する標準IPアクセスリストnothirtyを作成します。

       awplus(config)# access-list standard nothirty deny 10.30.10.0/24 exact-match
       awplus(config)# access-list standard nothirty permit any

2. OSPFモードに移行して、標準アクセスリストnothirtyにもとづくディストリビュートリスト（out）をRIP経路に対して設定します。

       awplus(config)# router ospf
       awplus(config-router)# distribute-list nothirty out rip

### 再通知用ルートマップ（OSPF）

再通知用ルートマップは、ASBRにおいて再通知のため非OSPF経路をインポートするときに、特定の経路を除外したり、特定の経路の属性を変更した上でインポートしたりするための機能です。
再通知用ルートマップは、OSPFモードのredistributeコマンドで再通知の設定を行うときに、route-mapパラメーターで指定します。
ASBRにおいて非OSPF経路をインポートするときに、特定の経路をインポートしないよう設定したり、特定の経路の属性を変更した上でインポートするよう設定したりするには、redistributeコマンドのroute-mapパラメーターでルートマップを指定します。
たとえば、ASBRにおいてRIP経路をOSPFにインポートするとき、経路エントリー10.100.10.0/24をインポート対象から除外するには、次のようにします。

1. 経路エントリー10.100.10.0/24を破棄し、その他を許可するルートマップrhtを作成します。

       awplus(config)# ip prefix-list pht permit 10.100.10.0/24
       awplus(config)# route-map rht deny 10
       awplus(config-route-map)# match ip address prefix-list pht
       awplus(config-route-map)# exit
       awplus(config)# route-map rht permit 20
       awplus(config-route-map)# exit

2. OSPFモードのredistributeコマンドでRIP経路再通知の設定をするときに、route-mapパラメーターでルートマップ名を指定します。

       awplus(config)# router ospf
       awplus(config-router)# redistribute rip route-map rht

ASBRにおいて、デフォルト経路をAS内に再通知するときに、特定の条件を満たしたときだけデフォルト経路を再通知したり、デフォルト経路の属性を変更した上で再通知するよう設定したりするには、default-information originateコマンドのroute-mapパラメーターでルートマップを指定します。基本的な設定方法は、redistributeコマンドと同じです。

## RIPngにおける経路フィルタリング

ここでは、RIPngを使用してダイナミックルーティングを行う場合の経路フィルタリングの方法について解説します。考え方はIPv4のRIPと同じです。

### ディストリビュートリスト（RIPng）

ディストリビュートリストは、RIPngパケットの受信時に特定の経路を受け入れないよう設定したり、RIPngパケットの送信時に特定の経路を通知しないよう設定したりするための機能です。
ディストリビュートリストは、RIPngモードのdistribute-listコマンドで設定します。経路エントリーの分類条件は、標準IPv6アクセスリストかIPv6プレフィックスリストで定義します。
RIPngパケットの受信時に特定の経路を受け入れないようにするには、distribute-listコマンドを「in」方向で設定します。
たとえば、RIPngインターフェースvlan20において、2001:db8:10cc::/48に包含される経路エントリーを受け入れないようにするには、次のようにします。

1. 宛先プレフィックスの先頭48ビットが「2001:db8:10cc」でプレフィックス長が48～128ビットの経路エントリーを破棄し、その他は許可する標準IPv6アクセスリストdist20_inを作成します。

       awplus(config)# ipv6 access-list standard dist20_in deny 2001:db8:10cc::/48
       awplus(config)# ipv6 access-list standard dist20_in permit any

2. RIPngモードに移行して、受信用のディストリビュートリストをvlan20に設定します。このとき、分類条件として標準IPv6アクセスリストdist20_inを指定します。

       awplus(config)# router ipv6 rip
       awplus(config-router)# distribute-list dist20_in in vlan20

RIPngパケットの送信時に特定の経路を通知しないようにするには、distribute-listコマンドを「out」方向で設定します。
たとえば、RIPngインターフェースvlan10において、2001:db8:3c::/48に包含される経路エントリーを通知しないようにするには、次のようにします。

1. 宛先プレフィックスの先頭48ビットが「2001:db8:3c」でプレフィックス長が48～128ビットの経路エントリーを破棄し、その他は許可する標準IPv6アクセスリストdist10_outを作成します。

       awplus(config)# ipv6 access-list standard dist10_out deny 2001:db8:3c::/48
       awplus(config)# ipv6 access-list standard dist10_out permit any

2. RIPngモードに移行して、送信用のディストリビュートリストをvlan10に設定します。このとき、分類条件として標準IPv6アクセスリストdist10_outを指定します。

       awplus(config)# router ipv6 rip
       awplus(config-router)# distribute-list dist10_out out vlan10

### オフセットリスト（RIPng）

オフセットリストは、RIPngパケットの受信時に特定の経路のメトリック値を大きくしたり、RIPngパケットの送信時に特定の経路のメトリック値を大きくしたりするための機能です。
オフセットリストは、RIPngモードのoffset-listコマンドで設定します。経路エントリーの分類条件は、標準IPアクセスリストで定義します。
RIPngパケットの受信時に特定の経路のメトリックを大きくするには、offset-listコマンドを「in」方向で設定します。
たとえば、RIPngインターフェースvlan20で経路情報を受信するとき、経路エントリー「2001:db8:10:10::/64」の場合だけメトリックを4加算した上でRIPng経路表に取り込むよう設定するには、次のようにします。

1. 宛先プレフィックスが「2001:db8:10:10::/64」に完全一致する経路エントリーをpermitし、その他はdenyする名前付き標準IPv6アクセスリスト「add4」を作成します。オフセットリストで使用するアクセスリストでは、メトリックを変更したい経路をpermit、変更したくない経路をdenyするよう設定します。

       awplus(config)# ipv6 access-list standard add4 permit 2001:db8:10:10::/64 exact-match

2. RIPngモードに移行して、受信用のオフセットリストをvlan20に設定します。このとき、分類条件として名前付き標準IPv6アクセスリスト「add4」を指定します。メトリック加算値は「4」とします。

       awplus(config)# router ipv6 rip
       awplus(config-router)# offset-list add4 in 4 vlan20

RIPngパケットの送信時に特定の経路のメトリックを大きくするには、offset-listコマンドを「out」方向で設定します。
たとえば、RIPngインターフェースvlan10から経路情報を送信するとき、経路エントリー「2001:db8:20:20::/64」の場合だけメトリックを5加算した上で通知するよう設定するには、次のようにします。

1. 宛先プレフィックスが「2001:db8:20:20::/64」に完全一致する経路エントリーをpermitし、その他はdenyする名前付き標準IPアクセスリスト「add5」を作成します。オフセットリストで使用するアクセスリストでは、メトリックを変更したい経路をpermit、変更したくない経路をdenyするよう設定します。

       awplus(config)# ipv6 access-list standard add5 permit 2001:db8:20:20::/64 exact-match

2. RIPngモードに移行して、送信用のオフセットリストをvlan10に設定します。このとき、分類条件として名前付き標準アクセスリスト「add5」を指定します。メトリック加算値は「5」とします。

       awplus(config)# router ipv6 rip
       awplus(config-router)# offset-list add5 out 5 vlan10

### 再通知用ルートマップ（RIPng）

再通知用ルートマップは、再通知のため非RIPng経路をインポートするときに、特定の経路を除外したり、特定の経路の属性を変更した上でインポートしたりするための機能です。
再通知用ルートマップは、RIPngモードのredistributeコマンドで再通知の設定を行うときに、route-mapパラメーターで指定します。
非RIPng経路のインポート時に、特定の経路をインポートしないよう設定したり、特定の経路の属性を変更した上でインポートするよう設定したりするには、redistributeコマンドのroute-mapパラメーターでルートマップを指定します。
たとえば、スタティック経路をRIPngにインポートするとき、「2001:db8:1234::/48」に包含される経路エントリーをインポート対象から除外するには、次のようにします。

1. 宛先プレフィックスの先頭48ビットが「2001:db8:1234」でプレフィックス長が48～128ビットの経路エントリーを破棄し、その他を許可するルートマップr_staticを作成します。

       awplus(config)# ipv6 prefix-list p1234 permit 2001:db8:1234::/48 le 128
       awplus(config)# route-map r_static deny 10
       awplus(config-route-map)# match ipv6 address prefix-list p1234
       awplus(config-route-map)# exit
       awplus(config)# route-map r_static permit 20
       awplus(config-route-map)# exit

2. RIPngモードのredistributeコマンドでスタティック経路再通知の設定をするときに、route-mapパラメーターでルートマップ名を指定します。

       awplus(config)# router ipv6 rip
       awplus(config-router)# redistribute static route-map r_static

## OSPFv3における経路フィルタリング

ここでは、OSPFv3を使用してダイナミックルーティングを行う場合の経路フィルタリングの方法について解説します。サポートするフィルタリング機能には差分がありますが、考え方はIPv4のOSPFと同じです。

### 再通知用ルートマップ（OSPFv3）

再通知用ルートマップは、ASBRにおいて再通知のため非OSPFv3経路をインポートするときに、特定の経路を除外したり、特定の経路の属性を変更した上でインポートしたりするための機能です。
再通知用ルートマップは、OSPFv3モードのredistributeコマンドで再通知の設定を行うときに、route-mapパラメーターで指定します。
ASBRにおいて非OSPFv3経路をインポートするときに、特定の経路をインポートしないよう設定したり、特定の経路の属性を変更した上でインポートするよう設定したりするには、redistributeコマンドのroute-mapパラメーターでルートマップを指定します。
たとえば、ASBRにおいてRIPng経路をOSPFv3にインポートするとき、経路エントリー2001:db8:100:10::/64をインポート対象から除外するには、次のようにします。

1. 経路エントリー2001:db8:100:10::/64を破棄し、その他を許可するルートマップrhtを作成します。

       awplus(config)# ipv6 prefix-list pht permit 2001:db8:100:10::/64
       awplus(config)# route-map rht deny 10
       awplus(config-route-map)# match ipv6 address prefix-list pht
       awplus(config-route-map)# exit
       awplus(config)# route-map rht permit 20
       awplus(config-route-map)# exit

2. OSPFv3モードのredistributeコマンドでRIPng経路再通知の設定をするときに、route-mapパラメーターでルートマップ名を指定します。

       awplus(config)# router ipv6 ospf
       awplus(config-router)# redistribute rip route-map rht