GRE トンネル インターフェイスの設定
一般的なルーティングカプセル化の理解
一般ルーティングカプセル化(GRE)は、パケットをカプセル化(またはトンネリング)することにより、パブリックネットワークを介してパケットを転送するためのプライベートで安全なパスを提供します。
このトピックでは、以下について説明します。
GREの概要
GREはデータパケットをカプセル化し、カプセル化を解除して最終宛先にルーティングするデバイスにリダイレクトします。これにより、送信元ルーターと宛先ルーターは、あたかも互いに仮想ポイントツーポイント接続があるかのように動作できます(GREによって適用される外部ヘッダーは、カプセル化されたペイロードパケットに対して透過的であるため)。たとえば、GREトンネルを使用すると、RIPやOSPFなどのルーティングプロトコルは、インターネットを介してあるルーターから別のルーターにデータパケットを転送できます。さらに、GREトンネルは、インターネット経由で送信するためにマルチキャストデータストリームをカプセル化できます。
GRE は RFC 2784 に記載されています(以前の RFC 1701 および 1702 では廃止されました)。ルーターはRFC 2784をサポートしていますが、完全ではありません。(制限事項の一覧については、「 設定の制限事項」を参照してください)。
トンネル送信元ルーターとして、ルーターは、トンネルを介して宛先ネットワークに送信されるペイロードパケットをカプセル化します。ペイロードパケットは、まず GRE パケットにカプセル化され、次に GRE パケットが配信プロトコルにカプセル化されます。トンネルリモートルーターの役割を果たすルーターは、トンネリングされたパケットを抽出し、そのパケットを宛先に転送します。
ACX1100-ACおよびACX500ルーター上のGRE、NAT、IPSecサービスのサービスチェイニングはサポートされていません。
GRE 上のレイヤー 2 は、ACX2200ルーターではサポートされていません。
ACX ルーターは、WAN インターフェイス上で GRE トンネルが設定されている場合、OSPF ルーティング プロトコルをサポートします。
GRE トンネリング
データは、ルート テーブルで確立されたルートを介して、システムによって GRE エンドポイントにルーティングされます。(これらのルートは、静的に設定することも、RIP や OSPF などのルーティング プロトコルによって動的に学習することもできます。)データパケットがGREエンドポイントによって受信されると、カプセル化が解除され、宛先アドレスに再度ルーティングされます。
GREトンネルは ステートレスです。つまり、トンネルのエンドポイントには、リモートトンネルのエンドポイントの状態や可用性に関する情報が含まれていません。そのため、トンネル送信元ルーターとして動作するルーターは、リモート エンドポイントに到達できない場合、GRE トンネル インターフェイスの状態を down に変更できません。
GRE トンネリングの詳細については、以下を参照してください。
ルーターでのカプセル化とカプセル化解除
カプセル化—トンネル送信元ルーターとして動作するルーターは、次のようにGREパケットをカプセル化および転送します。
ルーターは、トンネリングするデータパケット(ペイロード)を受信すると、そのパケットをトンネルインターフェイスに送信します。
トンネル インターフェイスは、データを GRE パケットにカプセル化し、外部 IP ヘッダーを追加します。
IP パケットは、外部 IP ヘッダーの宛先アドレスに基づいて転送されます。
カプセル化解除—トンネルリモートルーターとして動作するルーターは、GREパケットを次のように処理します。
宛先ルーターがトンネル インターフェイスから IP パケットを受信すると、外部 IP ヘッダーと GRE ヘッダーが削除されます。
パケットは、内部 IP ヘッダーに基づいてルーティングされます。
ルーターで許可される送信元および宛先トンネルの数
ACXルーターは、GRE上でIPv4またはIPv6ペイロードパケットを送信するルーター間で最大64のGREトンネルをサポートします。
設定の制限事項
一部のGREトンネリング機能は、現在ACXシリーズルーターでは利用できません。ACXルーターでGREを設定する場合は、以下の制限に注意してください。
サポートされていない機能—ACXルーターのGREは、次の機能 をサポートしていません 。
GRE上の仮想ルーティング
GRE分散モード上のBFD(双方向フォワーディング検出)プロトコル
MPLS over GRE トンネル
GREキープアライブ
GRE鍵、ペイロードパケットのフラグメント化、フラグメントパケットのシーケンス番号
BGP 動的トンネル
RFC 1701 および RFC 1702
RFC 2890—GRE への鍵とシーケンス番号の拡張
配信ヘッダーとしての IPv6
GREパスMTU検出
NNI が ECMP の場合のロード バランシング
GRE インターフェイスのインターフェイス統計情報
GREトンネル上のサービスクラスとファイアウォール
ルーティングプロトコル—ACXルーターは、GREインターフェイスのルーティングプロトコルをサポートしていません。[edit protocols]階層の下にあるGREインターフェイスでルーティングを無効にする必要があります。例えば
[edit] user@host# show protocols ospf { area 0.0.0.0 { interface all; interface gr-0/0/10.0 { disable; } } }
手記:この制限は、すべてのルーティング プロトコル(OSPF、ISIS など)に適用されます。
関連項目
汎用ルーティングカプセル化トンネリングの設定
トンネリングは、 IPカプセル化プロトコルと呼ばれるトランスポートプロトコル内でパケットをカプセル化することにより、パブリックネットワークを介してパケットを転送するためのプライベートでセキュアなパスを提供します。汎用ルーティングカプセル化(GRE)は、ネットワーク上でパケットを転送するために使用されるIPカプセル化プロトコルです。情報は、GRE トンネルを介して 1 つのネットワークから別のネットワークに送信されます。
GRE トンネリングは、既存の物理エンドポイントおよびその他の論理エンドポイント上で動作するルーティング可能なトンネル エンドポイントを介して実現されます。GREトンネルは、1つのエンドポイントを別のエンドポイントに接続し、それらの間に明確なデータパスを提供します。
このトピックでは、以下について説明します。
GRE トンネル ポートの設定
ルーターで GRE トンネルを設定するには、ルーターのネットワーク ポートまたはアップリンク ポートをトンネル サービス用の GRE トンネル ポートに変換します。gr-fpc/pic/port という名前の各物理トンネル ポートは、それぞれが GRE トンネルである 1 つ以上の論理インターフェイスを持つことができます。
GRE トンネル ポートに変換した後は、物理ポートをネットワーク トラフィックに使用できなくなります。
ルーターで GRE トンネル ポートを設定するには、トンネル サービス用に予約するために、論理トンネル インターフェイスとギガビット/秒の帯域幅を作成する必要があります。[edit chassis fpc slot-number pic number
] 階層レベルで tunnel-services bandwidth (1g | 10g)
ステートメントを含めます。
GREトンネルポートを設定するには、ルーターの未使用の物理ポートを使用して、次に示すように論理トンネルインターフェイスを作成します。
user@host# edit chassis fpc 0 { pic 0 { tunnel-services { port port-number; } } }
これにより、gr- インターフェイスも作成されます。
総称ルーティングカプセル化を使用するためのトンネルの設定
通常、GREトンネルポートは、設定されるとすぐに起動し、有効なトンネル送信元アドレスが存在するか、インターフェイスが動作している限り、稼働したままになります。ポートで設定する各論理インターフェイスは、送信元または GRE トンネルのエンドポイントとして設定できます。
GREを使用するようにトンネルポートを設定するには:
GREキープアライブ時間の概要
一般的なルーティングのカプセル化(GRE)トンネル インターフェイスには、トンネルがダウンしたことを検出するメカニズムは組み込まれていません。キープアライブ メッセージを検出メカニズムとして機能させることができます。
GRE トンネル インターフェイスでキープアライブ メッセージを有効にすると、インターフェイスは一定間隔でキープアライブ要求パケットをリモート エンドポイントに送信します。GRE トンネルのデータ パス転送がすべてのポイントで正しく機能する場合、キープアライブ応答パケットが発信元に返されます。これらのキープアライブメッセージは、ルーティングエンジンによって処理されます。
物理または論理 GRE トンネルインターフェイスでキープアライブメッセージを設定できます。物理インターフェイスで設定された場合、キープアライブメッセージは物理インターフェイスの一部であるすべての論理インターフェイスで送信されます。個々の論理インターフェイスで設定された場合、キープアライブはその論理インターフェイスでのみ送信されます。
キープアライブ メッセージを送信する頻度と、トンネルを動作上ダウンとしてマークするまでインターフェイスがキープアライブ応答を待機する時間の長さを設定します。
キープアライブ要求パケットを 図 1 に示します。
キープアライブペイロードには、GRE キープアライブプロセスを担当するアプリケーションにキープアライブ応答が正しく配信されるようにするための情報が含まれています。
外側の GRE ヘッダーには、次のものが含まれます。
送信元 IP アドレス—キープアライブ要求を開始したエンドポイントの IP アドレス
宛先 IP アドレス—キープアライブ要求を受信するエンドポイントの IP アドレス
GREプロトコルID—IP
内部 GRE ヘッダーには次のものが含まれます。
送信元 IP アドレス—キープアライブ要求を受信するエンドポイントの IP アドレス
宛先 IP アドレス—キープアライブ要求を開始したエンドポイントの IP アドレス
GREプロトコルID—パケット転送エンジンがGREキープアライブパケットとして認識する値
Junos OSリリース17.3R1以降、MXシリーズルーターでIPv6汎用ルーティングカプセル化(GRE)トンネルインターフェイスを設定できます。これにより、IPv6 ネットワーク上で GRE トンネルを実行できます。IPv6 GREトンネル内でカプセル化できるパケットペイロードファミリーには、IPv4、IPv6、MPLS、ISOなどがあります。IPv6 配信パケットのフラグメント化と再構成はサポートされていません。
IPv6 GREトンネルインターフェイスを設定するには、[interfaces gr-0/0/0 unit 0 tunnel]
階層レベルでsource
とdestination
のIPv6アドレスを指定します。
キープアライブはGRE IPv6ではサポートされていません。
関連項目
GRE キープアライブ時間の設定
GRE トンネル インターフェイスのキープアライブ時間とホールド時間の設定
[edit protocols oam gre-tunnel interface interface-name]
階層レベルで keepalive-time
ステートメントと hold-time
ステートメントの両方を含めることで、GRE(汎用ルーティング カプセル化)トンネル インターフェイスでキープアライブを設定できます。
GRE インターフェイスでキープアライブを適切に動作させるには、[edit interfaces interface-name unit unit]
階層レベルに family inet
ステートメントを含める必要もあります。このステートメントを含めない場合、インターフェイスはダウンとしてマークされます。
GRE トンネル インターフェイスを設定するには:
GRE トンネル インターフェイスのキープアライブ時間を設定するには:
GRE トンネル インターフェイスの
[edit protocols]
階層レベルで運用、管理、保守(OAM)プロトコルを設定します。[edit] user@host# edit protocols oam
OAM プロトコルの GRE トンネル インターフェイス オプションを設定します。
[edit protocols oam] user@host# edit gre-tunnel interface interface-name
GRE トンネル インターフェイスのキープアライブ時間を 1 秒から 50 秒に設定します。
[edit protocols oam gre-tunnel interface interface-name] user@host# set keepalive-time seconds
保留時間を 5 秒から 250 秒に設定します。ホールドタイムはキープアライブ時間の少なくとも2倍でなければならないことに注意してください。
[edit protocols oam gre-tunnel interface interface-name] user@host# set hold-time seconds
GRE キープアライブ時間設定の表示
GRE トンネル インターフェイスでのキープアライブ時間情報の表示
目的
キープアライブ時間とホールドタイムのパラメータが設定されている場合、およびホールド時間が切れたときに、GREトンネルインターフェイスの現在のステータス情報を表示します。
アクション
GRE トンネル インターフェイス(gr-3/3/0.3 など)で現在のステータス情報を確認するには、 show interfaces gr-3/3/0.3 terse
を実行し、運用コマンド show interfaces gr-3/3/0.3 extensive
します。
ショー インターフェース GR-3/3/0.3 terse
user@host> show interfaces gr-3/3/0.3 terse Interface Admin Link Proto Local Remote gr-3/3/0.3 up up inet 192.0.2.1/24 mpls
ショーインターフェース GR-3/3/0.3 拡張
user@host> show interfaces gr-3/3/0.3 extensive Logical interface gr-3/3/0.3 (Index 73) (SNMP ifIndex 594) (Generation 900) Flags: Point-To-Point SNMP-Traps 0x4000 IP-Header 10.1.19.11:10.1.19.12:47:df:64:0000000000000000 Encapsulation: GRE-NULL Gre keepalives configured: On, Gre keepalives adjacency state: down ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Traffic statistics: Input bytes : 15629992 Output bytes : 15912273 Input packets: 243813 Output packets: 179476 Local statistics: Input bytes : 15322586 Output bytes : 15621359 Input packets: 238890 Output packets: 174767 Transit statistics: Input bytes : 307406 0 bps Output bytes : 290914 0 bps Input packets: 4923 0 pps Output packets: 4709 0 pps Protocol inet, MTU: 1476, Generation: 1564, Route table: 0 Flags: Sendbcast-pkt-to-re Addresses, Flags: Dest-route-down Is-Preferred Is-Primary ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Destination: 192.0.2/24, Local: 192.0.2.1, Broadcast: 192.0.2.255, Generation: 1366 Protocol mpls, MTU: 1464, Maximum labels: 3, Generation: 1565, Route table: 0
ホールドタイムが終了すると、次のようになります。
インターフェイスがトラフィックを送受信できない場合でも、GRE トンネルはアップしたままになります。
Link
ステータスは [Up
] になり、Gre keepalives adjacency state
は [Down
] になります。
意味
キープアライブ時間とホールドタイムのパラメータを持つGREトンネルインターフェイスの現在のステータス情報は、ホールド時間が経過すると期待通りに表示されます。
GRE トンネルでのフラグメント化の有効化
GRE(汎用ルーティングのカプセル化)トンネルで IPv4 パケットのフラグメント化を有効にするには、[edit interfaces]
階層レベルで既存の GRE 設定の一部として、トンネルの clear-dont-fragment-bit
ステートメントと最大送信単位(MTU)設定を含めます。
[edit interfaces] gr-fpc/pic/port { unit logical-unit-number { clear-dont-fragment-bit; ... family inet { mtu 1000; ... } } }
このステートメントは、パケットサイズに関係なく、パケットヘッダーのDF(Don't Fragment)ビットをクリアします。パケット サイズがトンネル MTU 値を超える場合、パケットはカプセル化前にフラグメント化されます。ASまたはマルチサービスPICで設定可能な最大MTUサイズは9192バイトです。
clear-dont-fragment-bit
ステートメントは、MXシリーズルーターおよびM320ルーターを除くすべてのM Seriesルーターでのみサポートされています。
SRX プラットフォームでは、GRE トンネルでの DF ビットのクリアは、デバイスがパケット モードまたは選択パケット モードの場合にのみサポートされます。この機能はフロー モードではサポートされていません。その結果、フロー モードでは、GRE インターフェイスに clear-dont-fragment-bit
が設定されていても、DF ビットが設定された GRE インターフェイスの MTU を超えるパケットはドロップされます。
フラグメント化は、IPv4 ベースの GRE トンネルでカプセル化される IPv4 パケットでのみ有効になります。
この設定は、ASまたはマルチサービスインターフェイス上のGREトンネルでのみサポートされます。標準のトンネルPICインターフェイスでカプセル化タイプとして gre-fragmentation
コミットした場合、PICがオンラインになったときに次のコンソールログメッセージが表示されます。
gr-fpc/pic/port: does not support this encapsulation
パケット転送エンジンは、GRE カプセル化パケットの外部 IP ヘッダーの IP 識別フィールドを更新して、フラグメンテーション後にパケットを再構成できるようにします。 clear-dont-fragment-bit
ステートメントまたは allow-fragmentation
ステートメントを使用したトンネル キーのいずれかを設定する必要があった以前の CLI 制約チェックは適用されなくなりました。
MPLS プロトコル ファミリーが有効になっているインターフェイスで clear-dont-fragment-bit
ステートメントを設定する場合、MTU 値を指定する必要があります。この MTU 値は、サポートされている最大値 (9192) を超えてはなりません。