# route-map

モード
  グローバルコンフィグモード --> ルートマップモード
カテゴリー
  IP / 経路制御（フィルタリング）

## 構文

コマンド構文

`(config)# route-map NAME {deny|permit} <1-65535>`

`(config)# no route-map NAME [{deny|permit} <1-65535>]`

## コマンド説明

ルートマップにエントリーを追加し、ルートマップモードに移動する。あるいは、既存エントリーを編集するため、ルートマップモードに移動する。
no形式でエントリー番号を指定しなかった場合は、ルートマップ全体を削除する。
no形式でエントリー番号を指定した場合は、ルートマップから該当エントリーを削除する。
ルートマップは、経路制御プロトコルによってやりとりされる経路エントリーに対するフィルタリング機能の1つ。標準IPアクセスリストやIPプレフィックスリストなどと組み合わせて、送受信する経路エントリーを許可・破棄したり、特定の経路エントリーの属性値を書き換えたりするときに使用する。
ルートマップは複数のエントリーで構成されるリストで、検索はエントリー番号の若い順に行われる。検索時には、最初にマッチしたエントリーで以下に示す処理が行われ、マッチした時点で検索は終了する。どのエントリーにもマッチしなかった場合はdenyとなる。

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

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

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

match節で標準IPアクセスリストやIPプレフィックスリストを使用した場合、リストの検索結果が「permit」なら該当ルートマップエントリーはマッチとなり、「deny」なら非マッチとなる。
ルートマップモードからグローバルコンフィグモードに戻るにはexitコマンド（空行でCtrl/Dを押しても同じ）を、特権EXECモードに戻るにはendコマンド（Ctrl/Zキー）を使う。

## パラメーター

`NAME`
  ルートマップ名
`deny|permit`
  ルートマップエントリーのすべてのmatch節にマッチした場合のアクション（permitかdeny）。permitの場合、該当経路は許可され、set節の処理に進む。denyの場合、該当経路は破棄され、set節の処理は行われない。したがって、denyアクションのエントリーにset節を指定しても意味をなさないので注意
`<1-65535>`
  ルートマップ内におけるエントリー番号。必須パラメーター。1～65535の範囲の任意の番号を指定できる（絶対指定）。間隔をあけてエントリーを配置することにより、エントリーの追加に対応できる。既存エントリーを変更するときは、必ずエントリー番号を指定すること

## 使用例

宛先プレフィックス（アドレス部分）の先頭3オクテットが「192.168.0」の経路エントリーを破棄し、その他を許可するルートマップdenyzeroを作成する。番号付き標準IPアクセスリストを用いた例。

    awplus(config)# access-list 1 permit 192.168.0.0 0.0.0.255
    awplus(config)# route-map denyzero deny 10
    awplus(config-route-map)# match ip address 1
    awplus(config-route-map)# exit
    awplus(config)# route-map denyzero permit 20
    awplus(config-route-map)# exit

宛先プレフィックス（アドレスとプレフィックス長の組）が「192.168.0.0/24」と完全一致する経路エントリーを破棄し、その他を許可するルートマップdenyzeroNを作成する。名前付き標準IPアクセスリストを用いた例。

    awplus(config)# access-list standard zerolist permit 192.168.0.0/24 exact-match
    awplus(config)# route-map denyzeroN deny 10
    awplus(config-route-map)# match ip address zerolist
    awplus(config-route-map)# exit
    awplus(config)# route-map denyzeroN permit 20
    awplus(config-route-map)# exit

宛先プレフィックス（アドレス部分）の先頭3オクテットが「192.168.0」で、プレフィックス長が24ビットの経路エントリーを破棄するルートマップdenyzeroPを作成する。IPプレフィックスリストを用いた例。

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

宛先プレフィックス（アドレス部分）の先頭オクテットが「10」で、プレフィックス長が8～32ビットの経路エントリーだけを許可するルートマップadv10onlyを作成する。IPプレフィックスリストを用いた例。ルートマップの末尾には暗黙のdenyエントリーが存在するため、特定の経路だけを許可したい場合はpermitエントリーだけを記述すればよい。

    awplus(config)# ip prefix-list net10 permit 10.0.0.0/8 le 32
    awplus(config)# route-map adv10only permit 10
    awplus(config-route-map)# match ip address prefix-list net10
    awplus(config-route-map)# exit

## 注意・補足事項

ルートマップの末尾には、すべてをdenyする暗黙のエントリーが存在している。

## コマンドツリー

## 関連コマンド