目次
ルートマップの設定手順
ルートマップ(route-map)の設定手順は、以下の2つです。
- ルートマップを作成
- ルートマップの用途を明確にして、処理の対象と処理内容を定義する
- ルートマップの適用
- 用途に応じて、作成したルートマップを適用する
ルートマップは作成しただけではまったく意味がありません。作成したルートマップを用途に応じて適用しなければいけないことに注意してください。ルートマップの用途に応じて、設定する内容も変わってきます。ルートマップの用途を明確にしてから、ルートマップの設定をしてください。
関連記事
ルートマップの作成
ルートマップを作成するには、グローバルコンフィグレーションモードでroute-mapコマンドを利用します。
(config)#route-map <mat-tag> {permit | deny} [<seq-num>]
(config-route-map)#match <condition>
(config-route-map)#set <action>
<map-tag> : 任意のルートマップ名
permit | deny : permitまたはdenyを指定。ルートマップの用途によって意味が異なる
<seq-num> : シーケンス番号。省略すると「10」
<condition> : 条件
<action> : 追加の処理
<map-tag>でルートマップの名前を指定します。ルートマップの内容をわかりやすく反映している名前をつけるのが望ましいです。そのあとにpermitまたはdenyを指定します。
permit | deny
permitとdenyの意味は、ルートマップの用途によって変わってくるので注意してください。たとえば、PBRで利用するときには、permitは「ポリシーベースルーティングする」、denyは「ポリシーベースルーティングではなく通常のルーティングをする」という意味です。BGPネイバーに対してルートマップを適用しているときには、permitはBGPルートを許可する、denyはBGPルートを拒否するという意味です。
設定するときにpermitまたはdenyを省略してもOKです。省略すると自動的にpermitになります。
matchの設定
処理する対象を特定するためにmatchのあとに条件<condition>を指定します。設定できる<condition>はさまざまです。ルートマップの用途に応じた適切な<condition>を指定しなければいけません。たとえば、PBRで利用するルートマップのmatch条件にプレフィクスリストを関連付けても意味がありません。
match条件には、標準/拡張ACLやプレフィクスリストを関連付けることが多くなっています。標準/拡張ACLを関連付けるには、次のように設定します。
(config-route-map)#match ip address <ACL-num> | <ACL-name>
<ACL-num> : ACL番号
<ACL-name> : ACL名
プレフィクスリストを関連付けるには、次のように設定します。
(config-route-map)#match ip address prefix-list <prefix-list-name>
<prefix-list-name> : プレフィクスリスト名
match条件を複数設定することもできます。matchのあとに横に並べて条件を指定すると、ORの条件です。matchを複数行で縦に並べて設定するとAND条件になります。
matchの設定を省略すると、「すべて」が処理対象です。ただ、用途によって「すべて」が意味するものも違ってきます。たとえば、PBRでルートマップを利用しているときは、「ルータが受信するすべてのIPパケット」です。BGPネイバーに対してルートマップを適用しているときは、「すべてのBGPルート」です。
setの設定
matchの条件を満たした処理対象に対して、<map-tag>のあとのpermitまたはdenyの処理を行います。permitされた処理対象に対して、追加の処理を行うのがsetコマンドの設定です。setコマンドで設定できる内容もとてもたくさんありますが、用途に応じて適切な設定をしないと意味がありません。PBRで利用するルートマップのsetコマンドで、BGPルートのLOCAL_PREFをセットする設定をしてもまったく意味がありません。
複数の処理の設定
コマンドフォーマットの3行でルートマップの1つの処理です。matchで処理対象を決めて、permitまたはdenyとsetで処理内容を決めています。複数の処理の設定は<seq-num>を変えて、同様に設定をすればOKです。<seq-num>が小さい順に処理が行われていきます。
そして、ACLやプレフィクスリストと同様にルートマップにも暗黙のdenyが存在していることにも気をつけてください。少なくとも1つはpermitとなるシーケンスの処理が必要です。
ルートマップのpermit/denyとmatchで関連付けるACLなどのpermit/deny
ルートマップの<map-tag>の後ろのpermit/denyとmatchのあとに関連付けるACLなどのpermit/denyもルートマップのややこしいところです。
matchのあとに関連付けるACLやプレフィクスリストのpermit/denyは、match条件を満足している(permit)かしていない(deny)かという意味です。そして、match条件を満足した対象は、<map-tag>の後ろのルートマップのpermit/denyによって処理されます。match条件を満足してない対象は、そのシーケンスの処理は行わず、次のシーケンスを見ます。
ルートマップの処理の対象をルート情報として簡単なルートマップの例「test」を考えます。標準ACLでネットワークアドレスをチェックしてルート情報を特定するものとします。
route-map test deny 10 match ip address 1 route-map test permit 20 match ip address 2 ! access-list 1 permit 192.168.1.0 access-list 2 deny 172.16.1.0 access-list 2 permit 172.16.2.0
そして、以下の5つのルート情報を例として考えます。
- 192.168.1.0/24
- 192.168.2.0/24
- 172.16.1.0/24
- 172.16.2.0/24
- 10.1.1.0/24
「192.168.1.0/24」は、シーケンス10のACL1でpermitされるのでmatch条件を満足します。そして、シーケンス10はdenyなので、192.168.1.0/24はdenyの処理です。
「192.168.2.0/24」はシーケンス10のACL1でもシーケンス20のACL2でもpermitされません。暗黙のdenyでdenyされます。
「172.16.1.0/24」はシーケンス20のACL2の1行目でdenyされます。match条件を満足しません。結局は暗黙のdenyでdenyされます。
「172.16.2.0/24」は、シーケンス20のACL2の2行目でpermitされるのでmatch条件を満足します。シーケンス20はpermitなのでpermitの処理です。
「10.1.1.0/24」はシーケンス10のACL1でもシーケンス20のACL2でもpermitされないので、暗黙のdenyによってdenyされます。
関連記事
ルートマップの適用
冒頭でも触れていますが、ルートマップは作成しただけではまったく意味がありません。用途に応じて、適切に適用しなければいけません。以下で主なルートマップの適用コマンドについて解説します。
ルートマップの適用 PBR(Policy Based Routing)
ルートマップをPBRで利用するときには、ルータのインタフェースコンフィグレーションモードで次のコマンドを入力します。
(config)#interface <interface-name>
(config-if)#ip policy route-map <map-tag>
<interface-name> : インタフェース名
<map-tag> : 適用するルートマップ名
ルータ自身が生成するIPパケットに対してPBRを行うためにルートマップを適用するときにはグローバルコンフィグレーションモードで次のコマンドを入力します。
(config)#ip policy route-map <map-tag>
<map-tag> : 適用するルートマップ名
関連記事
ルートマップの適用 NAT
NAT変換対象パケットを指定するためにルートマップを利用するときには、ip nat inside sourceコマンドでルートマップを適用します。
(config)#ip nat inside source route-map <map-tag> …
<map-tag> : 適用するルートマップ名
ルートマップの適用 BGPネイバー
特定のBGPネイバーと送受信するBGPルートに対してフィルタしたりアトリビュートを付加するためには、以下のコマンドでルートマップを適用します。
(config)#router bgp <AS>
(config-router)#neighbor <ip-address> route-map <map-tag> {in|out}
<AS> : AS番号
<ip-address> : BGPネイバーのIPアドレス
<map-tag> : 適用するルートマップ名
in | out : inはBGPルート受信時。outはBGPルート送信時
関連記事
ルートマップによるBGPルートフィルタについて、以下の記事で詳しく解説しています。
ルートマップの適用 再配送
ルーティングプロセス間で再配送するときにルートマップを利用するには、redistributeコマンドの中でルートマップを適用します。
(config)#router <protocol1>
(config-router)#redistribute <protocol2> route-map <map-tag>
<protocol1> : 再配送先のルーティングプロセス
<protocol2> : 再配送元のルーティングプロセス
<map-tag> : 適用するルートマップ名
IPルーティング応用
- DNSラウンドロビン方式の負荷分散
- 負荷分散装置(ロードバランサ)の仕組み
- ルーティングプロセス ~実行中のルーティングプロトコル用のプログラム~
- 複数のルーティングプロトコルの利用
- 再配送(再配布) ~ルーティングドメイン境界で必須の設定~
- Cisco再配送(再配布)の設定 ~redistributeコマンド~
- Cisco 再配送の設定例 ~OSPFとRIPの双方向再配送~
- 再配送 設定ミスの切り分けと修正 Part1
- 再配送 設定ミスの切り分けと修正 Part2
- 再配送 設定ミスの切り分けと修正 Part3
- 再配送 設定ミスの切り分けと修正 Part4
- 再配送 設定ミスの切り分けと修正 Part5
- 再配送 設定ミスの切り分けと修正 Part6
- オフセットリスト(offset-list) ~ルート情報のメトリックを加算~
- オフセットリストの設定例 RIP
- オフセットリストの設定例 EIGRP
- ルートフィルタの概要
- ルートフィルタのポイント
- ディストリビュートリストによるルートフィルタの設定
- Ciscoディストリビュートリストによるルートフィルタの設定例
- プレフィクスリスト(prefix-list)によるルートフィルタの設定
- Ciscoプレフィクスリストによるルートフィルタの設定例
- Ciscoルートマップ(route-map)の概要 ~何をどう処理するか~
- Ciscoルートマップの設定
- Ciscoルートマップ(route-map)設定のポイント
- Ciscoルートマップによる再配送時のルート制御の設定例
- ポリシーベースルーティングの設定例
- GREトンネルインタフェース ~仮想的なポイントツーポイント接続~
- GREトンネルインタフェースの設定例
- GREトンネルの注意点 ~フラッピングしないように~
- オーバーレイネットワークとアンダーレイネットワーク
- ルート制御 ケーススタディ Part1
- ルート制御 ケーススタディ Part2
- ルート制御 ケーススタディ Part3
- VRF/VRF-Liteの概要 ~仮想的にルータを分割する~
- VRFの設定と確認コマンド [Cisco]
- VRF-Liteによるレイヤ3VPNの設定例 [Cisco]
- VRFルートリーク(スタティックルート)
- VRFルートリーク(スタティックルート)の設定例
- VRFルートリーク(MP-BGP)
- VRFルートリーク(MP-BGP)の設定例
- [FVRFの仕組み] FVRF(Front door VRF)とは
- [FVRFの仕組み] ポイントツーポイントGREトンネル:FVRFなし
- [FVRFの仕組み] ポイントツーポイントGREトンネル : FVRFあり(tunnel vrfコマンド)
- [FVRFの仕組み] IPSec VTI : FRVRFあり
- [FVRFの仕組み] IPSec VTI : FVRFあり 設定例
- [FVRFの仕組み] DMVPN : FVRFあり
- [FVRFの仕組み] DMVPN : FVRFあり 設定例 Part1
- [FVRFの仕組み] DMVPN : FVRFあり 設定例 Part2
- tunnel vrfコマンド
- tunnel vrfコマンドの設定例
- [演習] ルーティングループの防止
- [演習] 企業ネットワーク構築演習 Part1:拠点1の構築
- [演習] 企業ネットワーク構築演習 Part2:拠点2/拠点3の構築
- [演習] 企業ネットワーク構築演習 Part3:広域イーサネットの接続
- [演習] 企業ネットワーク構築演習 Part4:インターネット(AS1/AS2)の構築
- [演習] 企業ネットワーク構築演習 Part5:インターネットへの接続
- [演習] 企業ネットワーク構築演習 Part6:インターネットVPNの構築