ルートマップ(route-map)とは

ルートマップ(route-map)とは、処理するべき対象を特定するための条件と処理内容をまとめているリストです。 ルートマップによって、IPパケットの転送経路を決めたり、ルーティングプロトコルのルート情報のメトリックなどのパラメータを変更するなどさまざまな制御が可能です。 ルートマップで処理するべき対象の条件はmatch条件で決めます。そして、処理内容はpermit/denyおよびsetコマンドで設定します。

図 ルートマップの概要
図 ルートマップの概要
ルートマップのポイント
  • ルートマップの用途を明確にすることが一番大事です。
  • 用途によって、処理対象を決めるmatchコマンドの設定や処理内容を決めるsetコマンドの設定が変わります。

ルートマップの主な用途

ルートマップは慣れないと難しく感じてしまうでしょう。ルートマップはとてもいろんな用途で利用されます。そして、その用途に応じて処理する対象と処理内容が違ってきます。この点が、ルートマップが難しいと感じてしまう理由でしょう。

ルートマップについて詳しく解説されていることがあまりなく、みようみまねで設定をして数をこなしていくとなんとなくわかってくることがほとんどです。この記事を読んでいる方は、数をこなしてなんとなくルートマップがわかってくるということをショートカットしましょう。ルートマップを理解するには、まず、ルートマップの用途を明確にしておくことが重要なポイントです。

ルートマップの用途ごとに処理する対象が違うので、処理するべき対象を特定するmatch条件の設定が変わります。また、処理内容も違ってくるのでsetコマンドで設定すべき内容も変わります。

ルートマップの設定をするときには、どんな用途で、何が処理対象なのかを明確にしておくことが重要です。ルートマップの主な用途として、以下が挙げられます。

  • Policy Based Routing(PBR)
  • NAT変換対象パケットの指定
  • BGPルートをフィルタしアトリビュートの指定
  • 再配送時にルートをフィルタしメトリックの変更、ルートタグの付加など

以降で、これらの用途ごとに処理する対象と主な処理内容を解説します。

他にもルートマップの用途はあります。

ルートマップの用途:Policy Based Routing

処理の対象

ルートマップをPBRで利用するときは、処理する対象はルータが受信するIPパケットです。ルータが受信するどんなIPパケットを対象とするかをmatchの条件で特定できるようにします。そのために、標準/拡張ACLを関連付けることが多いです。

処理の内容

matchの条件に一致してルートマップでpermitされたIPパケットがPBRの処理対象です。そして、setコマンドでパケットの転送先(ネクストホップ)や出力インタフェースを指定したり、IPヘッダのIP PrecedenceやDSCPの値をセットしたりなどができます。

図 ルートマップの用途:PBR
図 ルートマップの用途:PBR

ルートマップの用途:NAT変換対象パケットの指定

処理の対象

NAT変換対象パケットを指定するためにルートマップを利用できます。処理する対象は、ルータが受信するIPパケットです。ルータが受信するIPパケットのうち、NAT変換したいIPパケットをmatch条件で特定できるようにします。そのために、標準/拡張ACLを関連付けることが多いです。

処理の内容

matchの条件に一致してルートマップでpermitされたIPパケットがNAT変換されます。この用途のときにはsetコマンドで追加の処理を設定することはありません。matchの条件に一致せずに、ルートマップでdenyされたIPパケットはNAT変換されないだけで、破棄されるわけではありません。

図 ルートマップの用途:NAT変換対象パケットの指定
図 ルートマップの用途:NAT変換対象パケットの指定

BGPルートをフィルタしアトリビュートの指定

処理の対象

特定のBGPネイバーと送受信するルート情報をフィルタしたり、アトリビュートをセットするためにルートマップを利用できます。処理の対象はBGPルートです。match条件でBGPルートを特定できるように設定します。そのために、さらにプレフィクスリストや標準/拡張ACLを関連付けることが多いです。BGPルートなのでAS_PATHアクセスリストを関連付けることもよくあります。

処理の内容

match条件に一致してルートマップでpermitされたBGPルートに対してsetコマンドで追加の処理ができます。LOCLA_PREFやMED、COMMUNITYなどのパスアトリビュートをセットする設定が多いです。ルートマップでdenyされたBGPルートは、破棄されます。

図 ルートマップの用途 BGPルートをフィルタしアトリビュートの指定
図 ルートマップの用途 BGPルートをフィルタしアトリビュートの指定

再配送時にルートをフィルタしメトリックの変更、ルートタグの付加など

処理の対象

ルーティングプロセス間で再配送するルートをフィルタしたり、メトリックを変更したりするためにルートマップを利用できます。処理の対象は、再配送するルート情報です。match条件でネットワークアドレス/サブネットマスクといったルート情報を特定できるように設定します。たいていは、プレフィクスリストやACLを関連付けます。

処理の内容

match条件に一致してルートマップでpermitされたルート情報は再配送されます。そして、メトリックの値やメトリックタイプを変更したり、ルートタグを付加できます。どのような設定ができるかは再配送先のルーティングプロセスによって異なります。ルートマップでdenyされたルート情報は再配送されません。

図 ルートマップの用途: 再配送時にルートをフィルタしメトリックの変更、ルートタグの付加など
図 ルートマップの用途: 再配送時にルートをフィルタしメトリックの変更、ルートタグの付加など

ルートマップの用途ごとの処理対象と処理内容のまとめ

ここまで解説したルートマップの用途ごとの処理対象と処理内容をまとめます。

用途処理対象処理内容
PBR(Policy Based Routing)ルータが受信するIPパケット
標準/拡張ACLを関連付ける
ポリシーベースルーティングを行う
指定したネクストホップへ転送する,DSCPをセットするなど
NAT変換対象の指定 ルータが受信するIPパケット
標準/拡張ACLを関連付ける
NAT変換する
denyされたパケットはNAT変換しないだけ
BGPルートBGPで送受信するルート情報
ACL,プレフィクスリスト,AS_PATH ACLを関連付ける
BGPルートを許可/拒否する
許可したルートは追加でパスアトリビュートをセットできる
再配送時のフィルタ再配送するルート情報
ACL,プレフィクスリストを関連付ける
再配送を許可/拒否する
許可したルートは追加でメトリック値やメトリックタイプ、ルートタグの付加なども可能
表 ルートマップの用途ごとのまとめ

IPルーティング応用