GRE over IPSec
サイト間IPSec VPNで、インターネット経由で他の拠点のLANへパケットをルー ティングするためには、やはりルーティングテーブルをきちんと作らないとい けません。拠点の数が少なければスタティックで設定してもたいした負荷では ありませんが、拠点の数が増えるとけっこうめんどくさくなってしまいます。
また、IPSec VPNをバックアップ目的で利用している場合、通常利用している 回線がダウンしたときに、経路を切り替える必要があります。自動的な経路の 切り替えは、スタティックルーティングでは工夫が必要です。
そこで、IPSec VPN上でルーティングプロトコルによるダイナミックルーティ ングを行うことがあります。ただ、基本的にはIPSec VPN上で転送できるのは ユニキャストのパケットです。RIPやOSPFなどのルーティングプロトコルのマ ルチキャスト/ブロードキャストパケットは転送できません。
マルチキャスト/ブロードキャストパケットをIPSec VPN上で転送するために、 GREトンネルを確立します。マルチキャスト/ブロードキャストをGREでカプセ ル化して、ユニキャストパケットとします。そして、GREカプセル化したパケ ットをIPSec VPN上で転送していくことで、ルーティングプロトコルを利用で きるようになります。
※実装次第でマルチキャスト/ブロードキャストをそのままIPSec VPNで転送す ることはできます。
GRE(Generic Routing Encapsulation)
GRE over IPSecを説明するために、まずGREトンネルについて説明します。 GREトンネルは、IPv4でさまざまなネットワーク層プロトコルをカプセル化す ることができるマルチプロトコル対応のトンネリングプロトコルです。GREト ンネルを利用するには、トンネルインタフェースを作成します。トンネルイン タフェースの作成は、グローバルコンフィグレーションモードで次のコマンド を使います。
Router(config)#interface Tunnel
Router(config-if)#
トンネルインタフェースでは、デフォルトでGRE(Generic Routing Encapsulation) のカプセル化を行います。
次に転送用IPv4ヘッダのIPアドレスを指定します。tunnel destinationコマン ドで転送用IPv4ヘッダの送信先IPアドレスを指定し、tunnel sourceコマンド で転送用IPv4ヘッダの送信元IPアドレスを指定します。
Router(config)#interface Tunnel
Router(config-if)#tunnel destination
Router(config-if)#tunnel source
tunnel destinationで指定したIPアドレスへ到達可能であれば、トンネルイン タフェースはup/upの状態になります。ただし、手動トンネルを設定する両方 のルータで相手のtunnel destinationが自分のtunnel sourceに、相手の tunnel sourceが自分のtunnel destinationに設定されている必要があります。 手動トンネルのtunnel destination、tunnel sourceの設定が正しくできれば、 トンネルを設定した両方のルータは、あたかもポイントツーポイントで直接接 続されているかのように見えます。
トンネルインタフェース上で、特定のネットワーク層プロトコルの送受信/ル ーティングを行うためにはそのネットワーク層プロトコルのアドレスを設定し ます。つまり、トンネルインタフェースでIPルーティングを行うには、トンネ ルインタフェースにIP4アドレスが必要です。トンネルインタフェースでIPv6 を送受信したりルーティングするには、トンネルインタフェースにIPv6アドレ スを設定します。
GREトンネルでのパケットの受信
GREトンネルでパケットを受信するときには、転送用IPv4ヘッダをチェックし
ます。転送用IPv4ヘッダの送信先IPアドレスがtunnel sourceに一致し、転送
用IPv4ヘッダの送信元IPアドレスがtunnel destinationに一致していれば、ト
ンネルインタフェースで受信したことになります。
GREトンネルからパケットの送信
ルーティングテーブルのネクストホップがトンネルインタフェースになってい
たりなど、GREトンネルからパケットを送信するときは、元のパケットにGREヘ
ッダと転送用IPv4ヘッダをカプセル化します。
そして、実際にパケットを出力するために転送用IPv4ヘッダの送信先IPアドレ
スに対応するルーティングテーブルエントリを検索します。転送用IPv4ヘッダ
の送信先IPアドレスに対するルーティングテーブルエントリから、出力インタ
フェースを決定しレイヤ2ヘッダを付加してインタフェースから送出します。








