ルートマップの用途ルートマップ(route-map)は、さまざまな用途で利用されます。主な用途として次のような用途が挙げられます。 ・ポリシーベースルーティング 通常のIPルーティングはパケットの送信先IPアドレスを基にパケットの転送先を決定します。ルートマップによって、送信先IPアドレスだけではなく、送信元IPアドレスやIPヘッダのTOSフィールドの値、パケットの長さ、出力インタフェースなどに基づいてパケットをルーティングすることができます。これをポリシーベースルーティングといいます。 ポリシーベースルーティングを行うには、ルータのインタフェースに対してip policyコマンドでルートマップを適用します。 ・リディストリビューション時のルートのフィルタやメトリック、タグの設定 ルートマップを使うと、リディストリビューション時にルートをフィルタしたり、特定のルートにメトリックやタグを設定したりすることができます。 リディストリビューション時のルートのフィルタやメトリック、タグの設定を行うにはredistributeコマンドの中でルートマップを適用します。 ・BGPのルートのフィルタ、パスアトリビュートの変更 ルートマップによってBGPのアップデートに含まれるルート情報のフィルタや、個別のルート情報に付加されているパスアトリビュートの変更を行うことができます。 BGPのルートのフィルタ、パスアトリビュートの変更を行うには、ルートマップをBGPのピアに対してneighboerコマンドの中で適用します。 ・NATのアドレス変換対象の指定 NATによってIPパケットのアドレスを変換する対象のパケットをルートマップで指定することができます。ルートマップを使うことにより、より詳細なパケットの指定が可能です。 NATのアドレス変換対象の指定を行うには、ルートマップをip nat insideコマンドの中で適用します。 |
ルートマップの設定コマンドルートマップの構文は次のようになります。(config)#route-map [map-tag] [permit|deny] [seq-number] (config-route-map)#match [match criteria] (config-route-map)#set [action] ルートマップはmap-tagで指定した名前で識別します。 permit、denyはルートマップの用途によって意味が異なります。ルートマップをルート情報のフィルタに使うときには、permitはルートを許可、denyはルートを拒否することを意味します。 ポリシーベースルーティングを行うときには、denyは通常のルーティングを意味します。 そのあとのシーケンス番号(seq-number)はルートマップの処理を実行する順番です。シーケンス番号の小さい処理から行われます。このシーケンス番号によってによってルートマップの条件の追加や変更などが簡単になります。 matchのあとには、一致する条件を記述します。さまざまな一致条件があります。そして、matchの条件に一致した場合、setのアクションを行います。これらのmatchやsetは設定変更を簡単に行うことができます。 また、ルートマップの最後にはアクセスリストと同様に暗黙のdenyがあります。ルートマップを使ってルートをフィルタするときなど、最後の暗黙のdenyを忘れないように気をつけてください。 |
ルートマップの設定例ルートマップの設定例として、以下の条件に基づいてリディストリビュート時のメトリック、メトリックタイプの変更の設定を考えてみましょう。【条件】 RIPからOSPFへのリディストリビューションの設定を行います。RIPのルートのうち、192.168.1.0はシードメトリックを100、タグを10、メトリックタイプをE1として、192.168.2.0はシードメトリックを200、メトリックタイプE2として、その他のルートはシードメトリックを300にしてOSPFにリディストリビュートします。 【設定】 (config)#route-map RIP2OSPF permit 10 (config-route-map)#match ip address 1 (config-route-map)#set metric 100 (config-route-map)#set metric-type 1 (config-route-map)#set tag 10 (config-route-map)#route-map RIP2OSPF permit 20 (config-route-map)#match ip address 2 (config-route-map)#set metric 200 (config-route-map)#route-map RIP2OSPF permit 30 (config-route-map)#set metric 300 (config-route-map)#exit (config)#access-list 1 permit 192.168.1.0 (config)#access-list 2 permit 192.168.2.0 (config)#router ospf 100 (config-router)#redistribute rip subnets route-map RIP2OSPF 【解説】 リディストリビュートする際にルートごとに異なるメトリックを与えたり、メトリックタイプを変更したりするにはルートマップを使います。 192.168.1.0のルートをリディストリビュートするときにメトリックを100、タグを10、メトリックタイプをE1に変更するには、ルートマップのタグをRIP2OSPFとして次のようなルートマップの設定を行います。 (config)#route-map RIP2OSPF permit 10 (config-route-map)#match ip address 1 (config-route-map)#set metric 100 (config-route-map)#set metric-type 1 (config-route-map)#set tag 10 (config-route-map)#exit (config)#access-list 1 permit 192.168.1.0 match ip address 1という条件は、アクセスリスト番号1でpermitされているルートが該当します。そして、setコマンドで指定されているアクションを行います。 そして、192.168.2.0のルートをリディストリビュートするときにメトリックを200、メトリックタイプをE2にするには、次のようなルートマップの設定を行います。一連の処理なので、同じルートマップタグでシーケンス番号を増やします。 (config-route-map)#route-map RIP2OSPF permit 20 (config-route-map)#match ip address 2 (config-route-map)#set metric 200 (config-route-map)#exit (config)#access-list 2 permit 192.168.2.0 デフォルトのメトリックタイプはE2なので、setコマンドはシードメトリックのものだけでよいです。 そして、最後にその他のルートのシードメトリックを300にするために、同じルートマップタグでシーケンス番号を30として次の設定を行います。 (config-route-map)#route-map RIP2OSPF permit 30 (config-route-map)#set metric 300 matchコマンドがない場合、すべてのルートが一致します。残りのすべてのルートに対して、setコマンドで指定したようにメトリックが300となります。シーケンス番号30のルートマップが設定されていなければ、暗黙のdenyのためそのほかのルートがリディストリビュートされなくなるので注意が必要です。 このルートマップをredistributeコマンドの中で適用します。 (config)#router ospf 100 (config-router)#redistribute rip subnets route-map RIP2OSPF ※OSPFにリディストリビュートする際には、subnetsは必須と考えて忘れないようにしてください。 |
(C) Copyright 2000-2004 Gene All Rights Reserved