【GREについて】

      このHPはGREの機能についてまとめたものです



1-1 GREとは

「GRE」とは、Ciscoが開発したトンネリングプロトコルであり、様々なプロトコルのパケットをIPトンネル内でカプセル化することによって、リモートネットワークにあるルータへの仮想ポイントツーポイントを提供する。

GREのトンネル区間の両端は、通常ルータ。下記の図はGREを使用したトンネリングの例を示す。





上図の大阪支社のイントラネットにはクライアントPCがあり、東京本社にはサーバーがある。このクライアントPCとサーバー間の通信において、インターネット区間をトンネリングしている。

具体的には、新しいIPヘッダを付与することで、拠点間の通信を可能にする。新しいIPヘッダの宛先/送信元IPアドレスは、GREの設定を行っているルータのWAN側のIPアドレス。

このトンネリングに用いられているカプセル化用プロトコルがGRE。
また、GREでは暗号化は行われないため、暗号化する場合は、IPsecを併用する必要がある。



◆GREのパケット概要図とヘッダ

GREは、あるプロトコルのパケットを、他のプロトコルによるネットワークをカプセル化してトンネリングさせるためのプロトコル。下記にGREパケットの概要図とヘッダレイアウトを示す。






ペイロードパケットは、カプセル化したい通信パケットそのもの。配送プロトコルは、実際にこのパケットを扱うプロトコルになる。
例えば、IPネットワークを経由してペイロードパケットを配送する場合は、配送プロトコルは「IP」になる。












1-2 GREの特徴

GREには、下記の様な特徴がある。

◆GREは様々なパケットタイプ(IP、IPX、AppleTalk等)に対応している。

◆GREは、ユニキャスト/ブロードキャスト/マルチキャストパケットをトンネリング可能。
⇒IPsecは、基本的にユニキャストパケットしか転送できない。
OSPFやRIP等のルーティングプロトコルでは、マルチキャスト/ブロードキャストが使用されるため、このままでは転送不可だが、この場合にもGREが利用される。

◆GREは、暗号化の機能が無し。
⇒通常は、IPsecの暗号化機能を利用する。この様なGREとIPsecを併用する方式を「GRE over IPsec」方式という。













1-3 Gre over IPsec方式

GREには暗号化の機能は無い。そのため、通常はIPsecの暗号化機能を利用する。この様な、GREとIPsecを併用する方式を「GRE over IPsec」方式と呼ぶ。

IPsecVPNで拠点間を接続するときは、ルーティングも考慮し、他の拠点宛のパケットをVPNゲートウェイにルーティングできる様に、ルーティングテーブルを作成しなければならない。

しかしIPsecは、基本的にユニキャストパケットしか転送できないため、拠点間のルートをルーティングプロトコルで学習することが不可で、ルーティングプロトコルで利用するマルチキャストパケットをIPsec化することが出来ない。

IPsecVPN上でルーティングプロトコルを使用し、ダイナミックにルーティングテーブルを作成するための方法の1つが「GRE over IPsec」方式。
VPNゲートウェイ間でGREトンネルを作成し、GREトンネルから出力されるパケットを対象としてIPsec化する。







また、GRE over IPsecは、トンネルモードとトランスポートモードの両方で利用が可能だが、トランスポートモードを用いることが推奨されている。










◆GRE over IPsecの設定

IPsecVPN上で、ルーティングプロトコルを利用してダイナミックルーティングテーブルを作成するための方法が「GRE over IPsec」。
VPNゲートウェイ間で、GREトンネルを作成して、GREトンネルから出力されるパケットを対象としてIPsec化する。

GRE over IPsecを実現するためには、両端のルータにトンネルインターフェイスを作成し、仮想的なポイントツーポイントリンクを確立する。
トンネルインターフェイスでは、送信元IPアドレスと宛先IPアドレスを指定する必要がある。

GRE over IPsecでやり取りされるトラフィックの送信元IPアドレスと宛先IPアドレスは、トンネルインターフェイスで指定されたアドレスに変更される。
従って、暗号化対象となるトラフィックは、トンネルインターフェイスの送信元IPアドレスと宛先IPアドレスになる。