目次
概要
VRFによって1台のルータを仮想的に分割します。VRF同士は独立しているので、基本的にVRF間の通信はできなくなります。異なるVRFのネットワーク間で通信したいという場合に、VRFルートリークの設定を行います。
スタティックルートでのVRFルートリークについて解説します。
関連記事
VRFについて、以下の記事もあわせてご覧ください。
以下の記事は、スタティックルートのVRFルートリークの設定例です。
VRF間の通信を可能にするルートリーク
VRFは、独立した仮想的なルータです。各VRFは、独立したルーティングテーブルなどのルーティングコンテキストを持っています。そして、VRF同士は相互接続されていないので、VRF間の通信は原則としてできません。
異なるVRF間であっても、通信を可能にするためにVRFルートリークの設定を行います。VRFルートリークとは、他のVRFのネットワークのルート情報をルーティングテーブルに登録することです。それにより、VRF間の通信を可能にします。
VRFルートリークの例
以下のシンプルなネットワーク構成でVRFルートリークについて考えます。R1でVRF「AAA」とVRF「BBB」を設定しています。R1の内部で、VRF「AAA」とVRF「BBB」は相互接続されていないため、VRF間の通信はできません。
VRF「AAA」とVRF「BBB」間で通信できるようにVRFルートリークの設定を行います。ただ、無制限にVRF間の通信をできるようにすると、VRFを利用する意味がありません。たいていは、異なるVRFの特定のネットワーク間だけに限定することが多いです。そこで、VRF「AAA」の192.168.1.0/24とVRF「BBB」の172.16.1.0/24間のみ通信可能にする例を考えます。
VRFルートリークの考え方はとてもシンプルです。ルーティングの原則を思い出しましょう。「ルーティングテーブルに登録されていないネットワーク宛ての通信はできない」ということです。これは、逆にいえば「ルーティングテーブルに登録されているネットワーク宛ての通信はできる」わけです。とても基本的な、なおかつ、大事な原則です。
それぞれのVRFのルーティングテーブルには、他のVRFのネットワークのルート情報は登録されません。だから、VRF間の通信ができないのです。そして、VRFルートリークとは、「VRFのルーティングテーブルに他のVRFのルートを登録する」ことです。ルーティングテーブルに載せれれば、他のVRFのネットワークでもパケットをルーティングできるようになります。
R1のVRF「AAA」のルーティングテーブルに、通信させたいVRF「BBB」の172.16.1.0/24を登録すればOKです。通信は双方向なので、VRF「BBB」のルーティングテーブルにはVRF「AAA」の192.168.1.0/24を登録することも必要です。
なお、VRFルートリークでVRF間の通信を行うには、IPアドレスが重複していてはいけません。
VRFルートリーク(スタティックルート)の設定と確認コマンド
VRFのルーティングテーブルに通信させたい他のVRFのルートをスタティックルートで登録します。ネクストホップのIPアドレスへの到達性と出力インタフェースをどのように決めるかによって2通りの設定ができます。
- グローバルルーティングテーブルを参照する
- ネクストホップと出力インタフェースを指定する
グローバルルーティングテーブルを参照する
ネクストホップのIPアドレスへの到達性をグローバルルーティングテーブルによって確保するためにはグローバルコンフィグレーションモードで次のコマンドを入力します。
VRFルートリーク スタティックルート その1
(config)#ip route vrf <vrf-name> <network> <subnetmask> <next-hop> global
<vrf-name> : VRF名
<network> <subnetmask> : 他のVRFのネットワークアドレス/サブネットマスク
<next-hop> : ネクストホップアドレス
ポイントは「global」でネクストホップをグローバルルーティングテーブルを見るように設定することです。
ルート情報はネクストホップへ到達できない状態では有効になりません。スタティックルートのネクストホップへの到達性は、通常はルーティングテーブルの直接接続のルート情報を見ます。ですが、ネクストホップのIPアドレスは他のVRFのものです。VRF内の直接接続のルート情報ではネクストホップの到達性がありません。
そこで、ネクストホップの到達性と出力インタフェースを決めるためにグローバルルーティングテーブルを参照するように「global」を指定します。そして、グローバルルーティングテーブルにネクストホップのIPアドレスのホストルートを設定します。
グローバルルーティングテーブル ネクストホップの指定
(config)#ip route <ip-address> <subnetmask> <interface>
<ip-address> <subnetmask> : ネクストホップのIPアドレスに対するホストルート
<interface> : ネクストホップに対する出力インタフェース
ホストルートでなくてもOKではありますが、ネクストホップへの到達性を確保するための設定なので個人的にはいつもホストルートで設定しています。ネクストホップのIPアドレスのスタティックルートを出力インタフェースで指定することで、directly connected扱いになります。その結果、ネクストホップに対する出力インタフェースがわかります。
ネクストホップと出力インタフェースを指定する
もっとシンプルな設定もできます。他のVRFのルートをスタティックルートで設定するときに出力インタフェースの指定を追加してもOKです。
VRFルートリーク スタティックルート その2
(config)#ip route vrf <vrf-name> <network> <subnetmask> <interface> <next-hop>
<vrf-name> : VRF名
<network> <subnetmask> : 他のVRFのネットワークアドレス/サブネットマスク
<interface> : 出力インタフェース
<next-hop> : ネクストホップアドレス
出力インタフェースは他のVRFに割り当てられているのですが、とりあえず、出力インタフェースがわかればパケットを出力できます。
VRFルートリーク(スタティックルート)の確認コマンド
VRFルートリーク(スタティックルート)の設定を確認するための主なコマンドは次の通りです。
コマンド | 概要 |
#show ip route vrf <vrf-name> | VRFのルーティングテーブルを表示します。 |
#show ip route | グローバルルーティングテーブルを表示します。 |
#ping vrf <vrf-name> <ip-address> | VRFを指定したPingを実行します。 |
まとめ
- VRFが異なると原則として通信はできなくなります。
- VRF間で通信できるようにするために、VRFルートリークの設定を行います。
- VRFルートリークとは、VRFのルーティングテーブルに通信させたい他のVRFのルートを登録することです。
- スタティックルートでのVRFルートリークの設定は、ネクストホップへの到達性をどのように確保するかによって2通りの設定ができます。
- グローバルルーティングテーブルを参照する
- ネクストホップと出力インタフェースを指定する
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の構築