Catalyst 6500 シリーズ スイッチ SIP、SSC、およ び SPA ソフトウェア コンフィギュレーション ガイド
IPSec VPN フラグメンテーションおよび MTU の設定
IPSec VPN フラグメンテーションおよび MTU の設定
発行日;2012/02/02 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 18MB) | フィードバック

目次

IPSec VPN フラグメンテーションおよび MTU の設定

IPSec VPN フラグメンテーションおよび MTU について

フラグメンテーションおよび MTU の概要

IPSec プリフラグメンテーション

Cisco IOS Release 12.2(33)SXH 以前のリリースでのフラグメンテーション

暗号接続モードでのフラグメンテーション

VRF モードでの IPSec(暗号マップを使用)パケットのフラグメンテーション

VRF モードでのトンネル保護を使用した GRE パケットのフラグメンテーション

VTI でのフラグメンテーション

Cisco IOS Release 12.2(33)SXI 以降のリリースでのフラグメンテーション

フラグメンテーション プロセスの概要

暗号接続モードでの IPSec パケットのフラグメンテーション

暗号接続モードでの GRE パケットのフラグメンテーション

VRF モードでの IPSec パケットのフラグメンテーション

VRF モードでの GRE パケットのフラグメンテーション

VTI を使用する IPSec パケットのフラグメンテーション

IPSec プリフラグメンテーションの設定

IPSec プリフラグメンテーション設定時の注意事項

グローバルでの IPSec プリフラグメンテーションの設定

インターフェイスでの IPSec プリフラグメンテーションの設定

IPSec プリフラグメンテーション設定の確認

MTU 設定

MTU 値の設定時の注意事項および制約事項

物理出力インターフェイスの MTU の変更

トンネル インターフェイスの IP MTU の変更

インターフェイスの VLAN の MTU の変更

MTU サイズの確認

設定例

暗号接続モードでの IPSec プリフラグメンテーションの設定例

トンネル保護を適用した GRE を使用する VRF モードでの IPSec プリフラグメンテーションの設定例

IPSec VPN フラグメンテーションおよび MTU の設定

この章では、IPSec VPN フラグメンテーションおよび Maximum Transmission Unit(MTU; 最大伝送ユニット)を設定する方法について説明します。具体的な内容は次のとおりです。

「IPSec VPN フラグメンテーションおよび MTU について」

「IPSec プリフラグメンテーションの設定」

「MTU 設定」

「設定例」

この章で使用するコマンドの詳細については、『 Catalyst 6500 Series Cisco IOS Command Reference Release 12.2SX を参照してください。 また、関連する Cisco IOS Release 12.2 ソフトウェア コマンド リファレンスおよびマスター インデックス資料も参照してください。これらの資料の入手方法については、「関連資料」を参照してください。

IPSec VPN フラグメンテーションおよび MTU について

この項の内容は、次のとおりです。

「フラグメンテーションおよび MTU の概要」

「IPSec プリフラグメンテーション」

「Cisco IOS Release 12.2(33)SXH 以前のリリースでのフラグメンテーション」

「Cisco IOS Release 12.2(33)SXI 以降のリリースでのフラグメンテーション」

フラグメンテーションおよび MTU の概要

パケットのサイズが暗号化スイッチの物理出力ポートの最大伝送ユニット(MTU)のサイズとほぼ同じで、そのパケットが IPSec ヘッダーでカプセル化される場合、パケットは出力ポートの MTU を超過する可能性があります。この状況が発生すると、暗号化の後にパケットがフラグメント化されて(ポストフラグメンテーション)、IPSec ピアではパケットの再アセンブリを実行してから復号化する必要がでてくるため、パフォーマンスが低下します。ポストフラグメンテーションを最低限に抑えるには、アップストリーム データ パスに MTU を設定することで、暗号化の前にほとんどのフラグメンテーションを行うことができるようになります(プリフラグメンテーション)。IPSec VPN のプリフラグメンテーションは、再アセンブリ タスクを受信側の IPSec ピアから受信側のエンド ホストに切り換えることで、パフォーマンスの低下を回避します。


) このマニュアルで、プリフラグメンテーションとは、IPSec や GRE など、どのタイプのカプセル化よりも前に行うフラグメンテーションのことを指します。IPSec フラグメンテーションは、IPSec 暗号化よりも前に行うフラグメンテーションのことを指します。


ほとんどの状況においてプリフラグメンテーションを確実に行うようにするために、次の MTU 設定を推奨します。

IPsec VPN SPA に対応付けられた暗号インターフェイス VLAN MTU は、出力インターフェイス MTU 以下に設定する必要があります。

GRE over IPSec の場合、GRE トンネル インターフェイスの IP MTU は、出力インターフェイス MTU より少なくとも、IPSec 暗号化のオーバーヘッドおよび 24 バイトの GRE+IP ヘッダー(20 バイトの IP ヘッダー + 4 バイトの GRE ヘッダー)分小さく設定する必要があります。トンネル キー(RFC 2890)などのオプションがサポートされないため、GRE+IP IP ヘッダーは常に 24 バイトになります。


) 暗号インターフェイス VLAN MTU、出力インターフェイス MTU、および GRE トンネル インターフェイスの IP MTU はすべてレイヤ 3 のパラメータです。


暗号接続モードでの IPSec プリフラグメンテーションおよび MTU に関するこの他の注意事項は次のとおりです。

パケットの DF(Don't Fragment)ビットが設定されている場合、データ パスのどの時点においてもパケットが MTU を超過すると、そのパケットはドロップされます。パケットがドロップされないようにするには、Policy-Based Routing(PBR; ポリシーベース ルーティング)または crypto df-bit clear コマンドのいずれかを使用して DF ビットをクリアします。

Cisco IOS Release 12(33)SXH 以降のリリースでは、IPsec VPN SPA は tunnel path-mtu-discovery コマンドを使用する GRE トンネルで Path MTU Discovery(PMTUD)をサポートしません。Cisco IOS Release 12(33)SXI 以降のリリースでは、GRE トンネルで PMTUD がサポートされます。

GRE カプセル化が IPsec VPN SPA に引き継がれず、パケットが GRE トンネル インターフェイスの IP MTU を超過した場合は、ルート プロセッサによってパケットのフラグメント化とカプセル化が行われます。


) スーパーバイザ エンジンが GRE カプセル化を実行した場合、カプセル化されたパケットには DF ビットが設定されます。


IPSec および GRE のプリフラグメンテーション機能は、 表 23-1 で説明するように Cisco IOS のリリースによって異なります。

 

表 23-1 Cisco IOS のリリースに応じた IPSec および GRE のプリフラグメンテーション

Cisco IOS リリース
プリフラグメンテーション機能

12.2(18)SXE

IP MTU および出力インターフェイス MTU のうちより小さい方に基づいて、IPSec と GRE の両方に対して、プリフラグメンテーション プロセスが 1 つ発生します。フラグメンテーションまたはパケット損失を防ぐために、VLAN MTU を予測最大 GRE パケット サイズ(IP の長さ + GRE オーバーヘッド)で設定し、出力インターフェイス MTU を予測最大 GRE/IPSec パケット サイズ(IP の長さ + GRE オーバーヘッド + IPSec オーバーヘッド)で設定します。

12.2(18)SXF

GRE フラグメンテーションおよび IPSec フラグメンテーションは別々のプロセスです。IPsec VPN SPA によって GRE カプセル化が実行される場合、アウトバウンド パケットのプリフラグメンテーションはトンネル インターフェイスの IP MTU に基づいて行われます。IPsec VPN SPA によって GRE カプセル化が実行された後、IPSec プリフラグメンテーション設定によってはさらにフラグメンテーションが行われることがあります。IPSec フラグメンテーション動作は Cisco IOS Release 12.2(18)SXE から変更されておらず、出力インターフェイスの IPSec MTU 設定に基づいて行われます。

12.2SXH

Path MTU Discovery(PMTUD)は暗号接続モードでサポートされます。

12.2SXI 以降

IPSec のプリフラグメンテーションは、出力インターフェイスではなく、トンネルの IP MTU または暗号インターフェイス VLAN の IP MTU に基づいて行われます。

IPsec VPN SPA はプリフラグメンテーションまたはポストフラグメンテーションだけを実行しますが、両方を実行することはありません(RP がフラグメンテーションを実行する可能性はあり)。

トンネル インターフェイスのポストフラグメンテーションはサポートされません。

PMTUD は、暗号接続モードおよび VRF モードでサポートされます。

ip tcp adjust-mss コマンドは、GRE トンネル、GRE/TP トンネル、および sVTI トンネルでの暗号接続モードと VRF モードでサポートされます。

フラグメンテーションおよび MTU に関する一般情報については、次の URL の「Resolve IP Fragmentation, MTU, MSS, and PMTUD Issues with GRE and IPSec」を参照してください。

http://www.cisco.com/en/US/tech/tk827/tk369/technologies_white_paper09186a00800d6979.shtml

IPSec プリフラグメンテーション

IPSec プリフラグメンテーション プロセス(別名、Look-Ahead Fragmentation [LAF])では、暗号化スイッチは、IPSec Security Association(SA; セキュリティ アソシエーション)の一部として設定されているトランスフォーム セットで使用可能な情報から、カプセル化パケットのサイズをあらかじめ規定できます。IPSec プリフラグメンテーションは、暗号化の前の受信側スイッチによる再アセンブリを回避し、再アセンブリ タスクをエンド ホストに移すことで IPSec トラフィック全体のスループットが向上するようになります。

次の状況において、パケットは暗号化の前にフラグメント化されます。

(Cisco IOS Release 12.2(33)SXH よりも前のリリースでは)暗号化されたパケットが出力インターフェイスの MTU を超過することがあらかじめ規定される場合

(Cisco IOS Release 12.2(33)SXI 以降のリリースでは)次のいずれかの条件を満たしている場合

暗号化されたパケットが暗号インターフェイス VLAN の MTU を超過する。

クリア パケットがトンネル MTU を超過する。

Cisco IOS Release 12.2(33)SXH 以前のリリースでのフラグメンテーション

フラグメンテーション プロセスは、次に説明するように、IPSec VPN モードによって、GRE または VTI のどちらが使用されているかによって異なります。

「暗号接続モードでのフラグメンテーション」

「VRF モードでの IPSec(暗号マップを使用)パケットのフラグメンテーション」

「VRF モードでのトンネル保護を使用した GRE パケットのフラグメンテーション」

「VTI でのフラグメンテーション」

フラグメンテーションについての次の説明では、フローチャートで使用するパケットには DF(Don't Fragment)ビットが設定されていないことを前提とします。パケットにフラグメンテーションと DF ビットの設定が必要になると、そのパケットはドロップされます。

暗号接続モードでのフラグメンテーション

暗号接続モードでのパケットのフラグメンテーションに関連する MTU 設定は次のとおりです。

インターフェイス VLAN の MTU。

RP による非 GRE トラフィックのプリフラグメンテーションは、この MTU に基づいて行われます。

GRE トンネルの IP MTU。

GRE トラフィックのプリフラグメンテーションは、この MTU に基づいて行われます。

物理出力インターフェイスの MTU。

IPsec VPN SPA によるプリフラグメンテーションおよびポストフラグメンテーションは、この MTU に基づいて行われます。

フラグメンテーションは次のように実行されます。

IPsec VPN SPA に送信されるパケットのうちインターフェイス VLAN の MTU を超過するものはすべて、IPsec VPN SPA にパケットが送信される前に、RP によるプリフラグメンテーションが実行されます。

GRE カプセル化されるパケットが GRE トンネルの IP MTU を超過した場合

RP は、トンネルが IPsec VPN SPA に引き継がれていなければ、プリフラグメンテーションを実行します。

IPsec VPN SPA は、トンネルが IPsec VPN SPA に引き継がれていなければ、プリフラグメンテーションを実行します。

カプセル化されるパケットが物理出力インターフェイスの MTU を超過した場合

IPSec プリフラグメンテーションがイネーブルの場合、IPsec VPN SPA はパケットのプリフラグメンテーションを実行します。IPsec VPN SPA ではポストフラグメンテーションを実行しません。

IPSec プリフラグメンテーションがディセーブルの場合、IPsec VPN SPA は暗号化されたパケットのポストフラグメンテーションを実行します。IPsec VPN SPA ではプリフラグメンテーションを実行しません。

暗号化されていない出力パケットが物理出力インターフェイスの MTU を超過した場合、IPsec VPN SPA はパケットのフラグメンテーションを実行します。

図 23-1 に、暗号接続モードでのパケットのフラグメンテーション プロセスを示します。

図 23-1 暗号接続モードでのパケットのフラグメンテーション

 

VRF モードでの IPSec(暗号マップを使用)パケットのフラグメンテーション

VRF モードでの IPSec トラフィックのフラグメンテーションに関連する MTU 設定は次のとおりです。

インターフェイス VLAN の MTU。

RP によるプリフラグメンテーションは、この MTU に基づいて行われます。

物理出力インターフェイスの MTU。

IPsec VPN SPA によるプリフラグメンテーションおよびポストフラグメンテーションは、この MTU に基づいて行われます。

フラグメンテーションは次のように実行されます。

パケットがインターフェイス VLAN の MTU を超過した場合、RP はプリフラグメンテーションを実行します。

暗号化された出力パケットが FVRF の物理出力インターフェイスの最小 MTU を超過した場合

IPSec プリフラグメンテーションがイネーブルの場合、IPsec VPN SPA はパケットのプリフラグメンテーションを実行します。IPsec VPN SPA ではポストフラグメンテーションを実行しません。

IPSec プリフラグメンテーションがディセーブルの場合、IPsec VPN SPA は暗号化されたパケットのポストフラグメンテーションを実行します。IPsec VPN SPA ではプリフラグメンテーションを実行しません。

VRF モードでの IPSec パケットのフラグメンテーション プロセスを 図 23-2 に示します。

図 23-2 VRF モードでの IPSec パケットのフラグメンテーション

 

VRF モードでのトンネル保護を使用した GRE パケットのフラグメンテーション

VRF モードでのトンネル保護を使用した GRE トラフィックのフラグメンテーションに関連する MTU 設定は次のとおりです。

GRE トンネルの IP MTU。

プリフラグメンテーションは、この MTU に基づいて行われます。

FVRF の物理出力インターフェイスの最小 MTU。

IPsec VPN SPA によるプリフラグメンテーションおよびポストフラグメンテーションは、この MTU に基づいて行われます。

フラグメンテーションは次のように実行されます。

カプセル化されるパケットが GRE トンネルの IP MTU を超過した場合

RP は、トンネルが IPsec VPN SPA に引き継がれていなければ、プリフラグメンテーションを実行します。

IPsec VPN SPA は、トンネルが IPsec VPN SPA に引き継がれていなければ、プリフラグメンテーションを実行します。

暗号化された GRE カプセル化パケットが FVRF の物理出力インターフェイスの最小 MTU を超過した場合

IPSec プリフラグメンテーションがイネーブルの場合、IPsec VPN SPA は GRE カプセル化パケットのプリフラグメンテーションを実行します。IPsec VPN SPA ではポストフラグメンテーションを実行しません。

IPSec プリフラグメンテーションがディセーブルの場合、IPsec VPN SPA は暗号化された GRE カプセル化パケットのポストフラグメンテーションを実行します。IPsec VPN SPA ではプリフラグメンテーションを実行しません。

VRF モードでのトンネル保護を使用した GRE パケットのフラグメンテーション プロセスを 図 23-3 に示します。

図 23-3 VRF モードでのトンネル保護を使用した GRE パケットのフラグメンテーション

 

VTI でのフラグメンテーション

VTI パケットのフラグメンテーションに関連する MTU 設定は次のとおりです。

VTI トンネル インターフェイスの IP MTU。

プリフラグメンテーションは、この MTU に基づいて行われます。


) VTI トンネル インターフェイスの IP MTU はデフォルト値のまま使用することを推奨します。変更する場合は、物理出力インターフェイスの MTU から IPSec オーバーヘッドを引いたサイズを超過しないようにしてください。


物理出力インターフェイスの MTU。

IPsec VPN SPA によるポストフラグメンテーションは、この MTU に基づいて行われます。

フラグメンテーションは次のように実行されます。

IPSec プリフラグメンテーションがイネーブルの場合、IPsec VPN SPA は VTI トンネル インターフェイスの IP MTU を超過するパケットのプリフラグメンテーションを実行します。IPsec VPN SPA ではポストフラグメンテーションを実行しません。


) RP は、出力インターフェイスの MTU を超過するパケットのポストフラグメンテーションを実行します。これは設定ミスと見なされます。


IPSec プリフラグメンテーションがディセーブルの場合、IPsec VPN SPA は出力インターフェイスの MTU を超過するパケットのポストフラグメンテーションを実行します。IPsec VPN SPA ではプリフラグメンテーションを実行しません。

VTI パケットのフラグメンテーション プロセスを 図 23-4 に示します。

図 23-4 VTI パケットのフラグメンテーション

 

Cisco IOS Release 12.2(33)SXI 以降のリリースでのフラグメンテーション

Cisco IOS Release 12.2(33)SXI 以降のリリースでのフラグメンテーションは、それよりも前のフラグメンテーションとは次の重要な方法において異なります。

IPsec VPN SPA は、プリフラグメンテーションまたはポストフラグメンテーションのいずれか 1 つだけ、フラグメンテーション動作を実行します。両方実行することをありません。

フラグメンテーションは、出力インターフェイスではなく、トンネルの IP MTU または暗号インターフェイス VLAN の IP MTU に基づいて行われます。

Path MTU Discovery(PMTUD)は暗号接続モードおよび VRF モードでサポートされます。

ip tcp adjust-mss コマンドは、すべてのモードでサポートされます。

先行のリリースでもそうであったように、フラグメンテーション プロセスは、IPSec VPN モードによって、GRE または VTI のどちらが使用されているかによって異なります。ここでは、プロセスについて説明します。

「フラグメンテーション プロセスの概要」

「暗号接続モードでの IPSec パケットのフラグメンテーション」

「暗号接続モードでの GRE パケットのフラグメンテーション」

「VRF モードでの IPSec パケットのフラグメンテーション」

「VRF モードでの GRE パケットのフラグメンテーション」

「VTI を使用する IPSec パケットのフラグメンテーション」

フラグメンテーション プロセスの概要

図 23-5 に、すべての VPN モードでの IPSec パケットのフラグメンテーション プロセスを示します。

図 23-5 すべての VPN モードでの IPSec パケットのフラグメンテーション

 

図 23-5 で説明したフラグメンテーション プロセスで注意点は次のとおりです。

フラグメンテーション プロセスは、フローチャートで使用するクリアテキスト パケットに DF(Don't Fragment)ビットが設定されていない場合に限り適用されます。パケットにフラグメンテーションと DF ビットの設定が必要になると、そのパケットはドロップされます。

VTI カプセル化は常に IPsec VPN SPA に引き継がれます。

RP によって生成されたパケットの GRE カプセル化は IPsec VPN SPA には引き継がれません。

mGRE パケットの GRE カプセル化は IPsec VPN SPA には引き継がれません。

暗号接続モードでの IPSec パケットのフラグメンテーション

暗号接続モードでのパケットのフラグメンテーションに対する、MTU 設定の要件および推奨事項は次のとおりです。

インターフェイス VLAN の設定済み IP MTU。

IPsec VPN SPA によるトラフィックのプリフラグメンテーションは、この MTU に基づいて行われます。

ポート VLAN で設定されている物理出力インターフェイスの最小 MTU 以下になるようにこの MTU を設定する必要があります。このようにしないと、パケットがドロップされます。

LAN インターフェイスの設定済み MTU。

RP によるフラグメンテーションを回避するために、インターフェイス VLAN の設定済み IP MTU 以下になるように LAN インターフェイスの MTU を設定することを推奨します。

次に、1,500 バイトのクリアテキスト パケットがインターフェイス VLAN の MTU の範囲に収まっているため、RP によるフラグメンテーションが実行されない例を示します。クリアテキスト パケットは IPsec VPN SPA によってフラグメント化されます。IPSec オーバーヘッドにより、暗号化されたパケットがインターフェイス VLAN の MTU を超過するためです。

1,600 バイトのクリアテキスト パケットは RP によって最初にフラグメント化されます。そのパケットがインターフェイス VLAN の MTU を超過するためです。このパケットは IPsec VPN SPA によって再びフラグメント化されます。暗号化プロセスで追加された IPSec オーバーヘッドにより、暗号化されたパケットがインターフェイス VLAN の MTU を超過するためです。

interface GigabitEthernet1/1
! switch inside port
mtu 9216
ip address 13.0.0.1 255.255.255.0
!
interface GigabitEthernet1/2
! switch outside port
! mtu 1500 by default
switchport
switchport access vlan 502
switchport mode access
!
interface Vlan2
! interface vlan
! mtu 1500 by default
ip address 11.0.0.2 255.255.255.0
crypto map testtag
crypto engine slot 4/0
!
interface Vlan502
! port vlan
no ip address
crypto connect vlan 2
!

暗号接続モードでの GRE パケットのフラグメンテーション

暗号接続モードでのパケットのフラグメンテーションに対する、MTU 設定の要件および推奨事項は次のとおりです。

暗号インターフェイス VLAN の設定済み IP MTU。

ポート VLAN で設定されている物理出力インターフェイスの最小 MTU 以下になるようにこの MTU を設定する必要があります。このようにしないと、パケットがドロップされます。

LAN インターフェイスの設定済み MTU。

RP によるフラグメンテーションを回避するために、暗号インターフェイス VLAN の設定済み IP MTU 以下になるように LAN インターフェイスの MTU を設定することを推奨します。

GRE トンネル インターフェイスの設定済み IP MTU。

IPsec VPN SPA によるトラフィックのプリフラグメンテーションは、この MTU に基づいて行われます。

IPSec によって暗号化された GRE パケットが暗号インターフェイス VLAN の IP MTU を超過しないように、この MTU を設定する必要があります。このようにしないと、パケットがドロップされます。この要件は、GRE トンネルが IPsec VPN SPA に引き継がれるかどうかにかかわらず適用されます。

次の例では、トンネルが IPsec VPN SPA に引き継がれた場合に、1,600 バイトのクリアテキスト パケットが IPsec VPN SPA によってフラグメント化されます。そのパケットがトンネル インターフェイスの IP MTU を超過するためです。フラグメント化されたパケットは次に、IPsec VPN SPA による GRE カプセル化と IPSec 暗号化が行われます。

トンネルが IPsec VPN SPA に引き継がれていない場合、1,600 バイトのクリアテキスト パケットは RP によってフラグメント化されます。そのパケットがトンネル インターフェイスの IP MTU を超過するためです。フラグメント化されたパケットは次に、PFC による GRE カプセル化と、IPsec VPN SPA による IPSec 暗号化が行われます。

interface Tunnel1
ip mtu 1400
ip address 1.0.0.1 255.255.255.0
tunnel source Vlan2
tunnel destination 11.0.0.2
!
interface GigabitEthernet1/1
! switch inside port
mtu 9216
ip address 12.0.0.1 255.255.255.0
!
interface GigabitEthernet1/2
! switch outside port
! mtu 1500 by default
switchport
switchport access vlan 502
switchport mode access
!
interface Vlan2
! mtu 1500 by default
ip address 11.0.0.1 255.255.255.0
no mop enabled
crypto map testtag
crypto engine slot 4/0
!
interface Vlan502
no ip address
crypto connect vlan 2
!

VRF モードでの IPSec パケットのフラグメンテーション

VRF モードでのパケットのフラグメンテーションに対する、MTU 設定の要件および推奨事項は次のとおりです。

暗号インターフェイス VLAN の MTU。

IPsec VPN SPA によるプリフラグメンテーションは、この MTU に基づいて行われます。

物理出力インターフェイスの最小 MTU 以下になるようにこの MTU を設定する必要があります。このようにしないと、パケットがドロップされます。

LAN インターフェイスの設定済み MTU。

RP によるフラグメンテーションを回避するために、暗号インターフェイス VLAN の設定済み IP MTU 以下になるように LAN インターフェイスの MTU を設定することを推奨します。

次に、1,500 バイトのクリアテキスト パケットがインターフェイス VLAN の MTU の範囲に収まっているため、RP によるフラグメンテーションが実行されない例を示します。クリアテキスト パケットは IPsec VPN SPA によってフラグメント化されます。IPSec オーバーヘッドにより、暗号化されたパケットがインターフェイス VLAN の MTU を超過するためです。

1,600 バイトのクリアテキスト パケットは RP によって最初にフラグメント化されます。そのパケットがインターフェイス VLAN の MTU を超過するためです。このパケットは IPsec VPN SPA によって再びフラグメント化されます。暗号化プロセスで追加された IPSec オーバーヘッドにより、暗号化されたパケットがインターフェイス VLAN の MTU を超過するためです。

interface GigabitEthernet1/1
! switch inside port
mtu 9216
ip vrf forwarding ivrf
ip address 12.0.0.1 255.255.255.0
!
!
interface GigabitEthernet1/2
! switch outside port
! mtu 1500 by default
ip address 11.0.0.1 255.255.255.0
crypto engine slot 4/0 outside
!
interface Vlan2
! mtu 1500 by default
ip vrf forwarding ivrf
ip address 13.0.0.252 255.255.255.0
crypto map testtag
crypto engine slot 4/0 inside
!

VRF モードでの GRE パケットのフラグメンテーション

VRF モードでのパケットのフラグメンテーションに対する、MTU 設定の要件および推奨事項は次のとおりです。

暗号インターフェイス VLAN の MTU。

ポート VLAN で設定されている物理出力インターフェイスの最小 MTU 以下になるようにこの MTU を設定する必要があります。このようにしないと、パケットがドロップされます。

LAN インターフェイスの設定済み MTU。

RP によるフラグメンテーションを回避するために、暗号インターフェイス VLAN の設定済み IP MTU 以下になるように LAN インターフェイスの MTU を設定することを推奨します。

GRE トンネル インターフェイスの設定済み IP MTU。

IPsec VPN SPA によるプリフラグメンテーションは、この MTU に基づいて行われます。

IPSec によって暗号化された GRE パケットが物理出力インターフェイスの最小 MTU を超過しないように、この MTU を設定する必要があります。このようにしないと、パケットがドロップされます。この要件は、GRE トンネルが IPsec VPN SPA に引き継がれるかどうかにかかわらず適用されます。

次の例では、トンネルが IPsec VPN SPA に引き継がれた場合に、1,600 バイトのクリアテキスト パケットが IPsec VPN SPA によってフラグメント化されます。そのパケットがトンネル インターフェイスの IP MTU を超過するためです。フラグメント化されたパケットは次に、IPsec VPN SPA による GRE カプセル化と IPSec 暗号化が行われます。

トンネルが IPsec VPN SPA に引き継がれていない場合、1,600 バイトのクリアテキスト パケットは RP によってフラグメント化されます。そのパケットがトンネル インターフェイスの IP MTU を超過するためです。フラグメント化されたパケットは次に、PFC による GRE カプセル化と、IPsec VPN SPA による IPSec 暗号化が行われます。

interface Tunnel1
ip mtu 1400
ip vrf forwarding coke
ip address 10.1.1.254 255.255.255.0
tunnel source 172.1.1.1
tunnel destination 100.1.1.1
tunnel protection ipsec profile tp
crypto engine slot 4/0 inside
!
interface GigabitEthernet6/1
! switch outside port
! mtu 1500 by default
ip address 172.1.1.1 255.255.255.0
crypto engine slot 4/0 outside
!
interface FastEthernet7/13
! switch inside port
mtu 9216
ip vrf forwarding coke
ip address 13.1.1.2 255.255.255.0
!

VTI を使用する IPSec パケットのフラグメンテーション

sVTI パケットのフラグメンテーションに関連する MTU 設定は次のとおりです。

VTI トンネル インターフェイスの IP MTU。

IPsec VPN SPA によるプリフラグメンテーションは、この MTU に基づいて行われます。

この MTU は、IPSec オーバーヘッドに対応するにように自動的に調節されるため、設定の必要はありません。


) VTI トンネル インターフェイスの IP MTU はデフォルト値のまま使用することを推奨します。変更する場合は、物理出力インターフェイスの MTU から IPSec オーバーヘッドを引いたサイズを超過しないようにしてください。


VTI を使用するフラグメンテーション動作は、「VRF モードでの GRE パケットのフラグメンテーション」 で示した、トンネルが IPsec VPN SPA に引き継がれた場合の動作と同じです。

IPSec プリフラグメンテーションの設定

IPSec プリフラグメンテーションは、グローバルに、またはインターフェイス レベルで設定できます。デフォルトでは、IPSec プリフラグメンテーションはグローバルでイネーブルです。IPSec プリフラグメンテーションをインターフェイスでイネーブルまたはディセーブルにすると、グローバルな設定が上書きされます。

IPSec プリフラグメンテーション設定時の注意事項


) Cisco IOS Release 12.2(33)SXI 以降のリリースで、トンネルは、IPSec プリフラグメンテーションだけをサポートします。ポストフラグメンテーションはサポートされません。この項の注意事項は、暗号マップが適用されたインターフェイスにだけ適用されます。


IPSec プリフラグメンテーションを設定する場合は、次の注意事項に従ってください。

IPSec プリフラグメンテーションをインターフェイス レベルで設定するには、暗号マップが適用されたインターフェイスに設定を適用します。

大容量パケット フローによって IPSec ピアの CPU 利用率が高くなっている場合は、IPSec プリフラグメンテーションがイネーブルに設定されているかどうかを確認してください(ピアは大容量パケットを再アセンブルしている可能性があります)。

IPSec VPN の IPSec プリフラグメンテーションは IPSec トンネル モードで動作します。これは、IPSec トランスポート モードでは適用されません。

IPSec VPN の IPSec プリフラグメンテーション機能は、暗号マップが適用されたインターフェイスの crypto ipsec df-bit コンフィギュレーションによって、また着信パケットの「Do not Fragment」(DF)ビットの状態によって異なります。IPSec プリフラグメンテーションに関する一般情報については、次の URL を参照してください。

http://www.cisco.com/en/US/docs/ios/12_2t/12_2t13/feature/guide/ftprefrg.html

GRE+IP カプセル化では、パケット サイズが 24 バイト追加されます。見込まれる GRE オーバーヘッドに基づいてプリフラグメンテーションを設定する場合は、この値を使用します。

IPSec 暗号化は、設定された IPSec トランスフォーム セットに応じて、パケット サイズに一定のバイト数を追加します。見込まれる IPSec オーバーヘッドに基づいてプリフラグメンテーションを設定する場合は、次の表を使用して、各種 IPSec トランスフォーム セットの IPSec オーバーヘッドの最大バイト数を参考にしてください。

 

IPSec トランスフォーム セット
IPSec オーバーヘッド(最大バイト数)

esp-aes-(256 または 192 または 128) esp-sha-hmac または md5

73

esp-aes (256 または 192 または 128)

61

esp-3des、esp-des

45

esp-(des または 3des) esp-sha-hmac または md5

57

esp-null esp-sha-hmac または md5

45

ah-sha-hmac または md5

44

グローバルでの IPSec プリフラグメンテーションの設定

IPSec プリフラグメンテーションはデフォルトではグローバルでイネーブルです。グローバル レベルで IPSec VPN のプリフラグメンテーションをイネーブルまたはディセーブルにするには、グローバル コンフィギュレーション モードから次の作業を行います。

 

コマンド
目的

ステップ 1

Router(config)# crypto ipsec fragmentation before-encryption

IPSec VPN のプリフラグメンテーションをグローバルでイネーブルにします。

ステップ 2

Router(config)# crypto ipsec fragmentation after-encryption

IPSec VPN のプリフラグメンテーションをグローバルでディセーブルにします。

インターフェイスでの IPSec プリフラグメンテーションの設定

IPSec プリフラグメンテーションはデフォルトではグローバルでイネーブルです。インターフェイス レベルで IPSec VPN のプリフラグメンテーションをイネーブルまたはディセーブルにするには、暗号マップが適用されたインターフェイスのインターフェイス コンフィギュレーション モードから次の作業を行います。

 

コマンド
目的

ステップ 1

Router(config-if)# crypto ipsec fragmentation before-encryption

インターフェイスで IPSec VPN のプリフラグメンテーションをイネーブルにします。

ステップ 2

Router(config-if)# crypto ipsec fragmentation after-encryption

インターフェイスで IPSec VPN のプリフラグメンテーションをディゼーブルにします。


) IPSec プリフラグメンテーションをインターフェイスでイネーブルまたはディセーブルにすると、グローバルな設定が上書きされます。


IPSec プリフラグメンテーション設定の確認

IPSec プリフラグメンテーションがイネーブルに設定されているかどうかを確認するには、暗号化スイッチおよび復号化スイッチのインターフェイス統計情報を調べます。暗号化スイッチでフラグメンテーションが発生していて、かつ復号化スイッチで再アセンブリが発生していない場合、暗号化の前にフラグメンテーションが実行されており、パケットは再アセンブリされずに復号化されていることになります。つまり、この機能はイネーブルです。

IPSec プリフラグメンテーション機能がイネーブルに設定されていることを確認するには、暗号化スイッチで show running-configuration コマンドを入力します。この機能がイネーブルの場合、このコマンドの出力にフラグメンテーション機能は表示されません。

Router# show running-configuration
 
crypto isakmp policy 10
authentication pre-share
crypto isakmp key abcd123 address 25.0.0.7
crypto ipsec transform-set fooprime esp-3des esp-sha-hmac
!!! the postfragmentation feature appears here if IPsec prefragmentation is disabled
crypto map bar 10 ipsec-isakmp
set peer 25.0.0.7
set transform-set fooprime
match address 102
 

IPSec プリフラグメンテーションがディセーブルに設定されている場合、ポストフラグメンテーション機能がコマンドの出力に表示されます。

Router# show running-configuration
 
crypto isakmp policy 10
authentication pre-share
crypto isakmp key abcd123 address 25.0.0.7
crypto ipsec transform-set fooprime esp-3des esp-sha-hmac
crypto ipsec fragmentation after-encryption
crypto map bar 10 ipsec-isakmp
set peer 25.0.0.7
set transform-set fooprime
match address 102
 

暗号化スイッチ のインターフェイス VLAN のコンフィギュレーションを表示するには、 show running-configuration interface コマンドを入力します。IPSec プリフラグメンテーション機能がイネーブルの場合、プリフラグメンテーションのステートメントがコマンドの出力に表示されます。

Router# show running-configuration interface vlan2
 
interface Vlan2
ip address 15.0.0.2 255.255.255.0
crypto map testtag
crypto engine slot 1/0
crypto ipsec fragmentation before-encryption
 

IPSec プリフラグメンテーション機能がインターフェイス VLAN でディセーブルに設定されている場合、ポストフラグメンテーションのステートメントがコマンドの出力に表示されます。

Router# show running-configuration interface vlan2
 
interface Vlan2
ip address 15.0.0.2 255.255.255.0
crypto map testtag
crypto engine slot 1/0
crypto ipsec fragmentation after-encryption end
 

MTU 設定

Cisco IOS ソフトウェアでは、インターフェイスおよび VLAN のレイヤ 3 最大伝送ユニット(MTU)を設定できます。パケットの不要なフラグメンテーションを回避するために、すべての MTU 値に一貫性を持たせる必要があります。


) MTU を設定する場合、ip mtu コマンドは IP プロトコル トラフィックにだけ適用されることに注意してください。その他のレイヤ 3 プロトコル トラフィックは、mtu コマンドで設定された MTU が適用されます。


MTU 値の設定時の注意事項および制約事項

IPsec VPN SPA の MTU 値を設定する場合には、次の注意事項および制約事項に従ってください。

Cisco IOS Release 12.2(33)SXH よりも前のリリースでは、IPsec VPN SPA がフラグメンテーションの判断に使用する MTU 値は、次のセキュア ポートの MTU 値に基づいています。

ルーテッド ポート:自身に対応付けられているセキュア ポートの MTU 値を使用します。

アクセス ポート:自身のインターフェイス VLAN に対応付けられているセキュア ポートの MTU 値を使用します。

トランク ポート:自身のインターフェイス VLAN に対応付けられているセキュア ポートの MTU 値を使用します。

Cisco IOS Release 12.2(33)SXI 以降のリリースでは、IPsec VPN SPA がフラグメンテーションの判断に使用する MTU 値は、出力インターフェイスではなく、トンネルの IP MTU または暗号インターフェイス VLAN の IP MTU に基づいています。推奨される MTU 設定については、「Cisco IOS Release 12.2(33)SXI 以降のリリースでのフラグメンテーション」を参照してください。

GRE トンネリングが設定されている場合は、「Cisco IOS Release 12.2(33)SXH 以前のリリースでのフラグメンテーション」または「Cisco IOS Release 12.2(33)SXI 以降のリリースでのフラグメンテーション」で推奨される MTU 設定に関する情報を参照してください。


) パケット フラグメンテーションについての詳細は、「IPSec プリフラグメンテーションの設定」を参照してください。


物理出力インターフェイスの MTU の変更

レイヤ 3 MTU または物理出力インターフェイスの IP MTU のいずれかを設定できます。物理出力インターフェイスの MTU 値を変更するには、グローバル コンフィギュレーション モードから次の作業を行います。

 

コマンド
目的

ステップ 1

Router(config)# interface type 1 slot/port

インターフェイスのインターフェイス コンフィギュレーション モードを開始します。

ステップ 2

Router(config-if)# mtu bytes

インターフェイスの最大伝送ユニット(MTU)サイズを設定します。

bytes :有効な範囲は 1,500 ~ 9,216 です。デフォルトは 1,500 です。

1.type = fastethernetgigabitethernet、または tengigabitethernet

トンネル インターフェイスの IP MTU の変更

トンネル インターフェイスの IP MTU を設定できますが、レイヤ 3 MTU を設定できません。トンネルの IP MTU 値を変更するには、グローバル コンフィギュレーション モードから次の作業を行います。

 

コマンド
目的

ステップ 1

Router(config)# interface tunnel_name

トンネルのインターフェイス コンフィギュレーション モードを開始します。

ステップ 2

Router(config-if)# ip mtu bytes

トンネルの IP MTU サイズを設定します。

bytes :最小値は 68、最大値およびデフォルト値はインターフェイス メディアによって異なります。

インターフェイスの VLAN の MTU の変更

インターフェイス VLAN のレイヤ 3 MTU を設定できます。インターフェイス VLAN の MTU 値を変更するには、グローバル コンフィギュレーション モードから次の作業を行います。

 

コマンド
目的

ステップ 1

Router(config)# interface vlan_ID

VLAN のインターフェイス コンフィギュレーション モードを開始します。

ステップ 2

Router(config-if)# mtu bytes

インターフェイス VLAN の MTU サイズを設定します。

bytes :有効な範囲は 64 ~ 9,216 です。デフォルトは 1,500 です。

MTU サイズの確認

インターフェイスの MTU サイズを確認するには、次の例のように show interface コマンドまたは show ip interface コマンドを入力します。

セキュア ポートの MTU 値を表示するには、 show interface コマンドを入力します。

Router# show interface g1/1
 
GigabitEthernet1/1 is up, line protocol is up (connected)
Hardware is C6k 1000Mb 802.3, address is 000a.8ad8.1c4a (bia 000a.8ad8.1c4a)
MTU 9216 bytes, BW 1000000 Kbit, DLY 10 usec,
reliability 255/255, txload 1/255, rxload 1/255
...
 

インターフェイス VLAN の MTU サイズを表示するには、 show interface コマンドを入力します。

Router# show interface vlan2
Vlan2 is up, line protocol is up
Hardware is EtherSVI, address is 000e.39ad.e700 (bia 000e.39ad.e700)
Internet address is 192.168.1.1/16
MTU 1000 bytes, BW 1000000 Kbit, DLY 10 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
...
 

GRE トンネルの IP MTU 値を表示するには、 show ip interface コマンドを入力します。

Router# show ip interface tunnel 2
 
Tunnel2 is up, line protocol is up
Internet address is 11.1.0.2/16
Broadcast address is 255.255.255.255
Address determined by non-volatile memory
MTU is 1450 bytes
...
 

設定例

ここでは、Cisco IOS Release 12.2(33)SXI を基準としたコマンドを使用して、IPSec プリフラグメンテーションの設定例を示します。

「暗号接続モードでの IPSec プリフラグメンテーションの設定例」

「トンネル保護を適用した GRE を使用する VRF モードでの IPSec プリフラグメンテーションの設定例」

暗号接続モードでの IPSec プリフラグメンテーションの設定例

次に、暗号接続モードを使用する IPSec プリフラグメンテーションの設定例を示します。

!
hostname router-1
!
vlan 2,502
!
crypto isakmp policy 1
encr 3des
authentication pre-share
crypto isakmp key 12345 address 11.0.0.1
!
!
crypto ipsec transform-set proposal1 esp-3des esp-md5-hmac
!
crypto map testtag 10 ipsec-isakmp
set peer 11.0.0.1
set transform-set proposal1
match address 101
!
!
interface GigabitEthernet1/1
!switch inside port
! mtu 1500 by default
ip address 13.0.0.1 255.255.255.0
!
interface GigabitEthernet1/2
!switch outside port
mtu 1000
switchport
switchport access vlan 502
switchport mode access
!
interface GigabitEthernet4/0/1
!IPsec VPN SPA inside port
switchport
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 1,2,1002-1005
switchport mode trunk
mtu 9216
flowcontrol receive on
flowcontrol send off
spanning-tree portfast trunk
!
interface GigabitEthernet4/0/2
!IPsec VPN SPA outside port
switchport
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 1,502,1002-1005
switchport mode trunk
mtu 9216
flowcontrol receive on
flowcontrol send off
spanning-tree portfast trunk
!
interface Vlan2
!interface vlan
mtu 1000
ip address 11.0.0.2 255.255.255.0
crypto map testtag
crypto engine slot 4/0
!
interface Vlan502
!port vlan
no ip address
crypto connect vlan 2
!
ip classless
ip route 12.0.0.0 255.0.0.0 11.0.0.1
!
access-list 101 permit ip host 13.0.0.2 host 12.0.0.2
!
end
 

トンネル保護を適用した GRE を使用する VRF モードでの IPSec プリフラグメンテーションの設定例

次に、GRE とトンネル保護を使用する VRF モードでの IPSec プリフラグメンテーションの設定例を示します。

!
hostname router-1
!
ip vrf coke
rd 1000:1
route-target export 1000:1
route-target import 1000:1
!
crypto keyring key1
pre-shared-key address 100.1.1.1 key happy-eddie
!
crypto isakmp policy 1
authentication pre-share
crypto isakmp profile prof1
keyring key1
match identity address 100.1.1.1 255.255.255.255
!
crypto ipsec transform-set TR esp-des esp-md5-hmac
mode transport
!
crypto ipsec profile tp
set transform-set TR
set isakmp-profile prof1
!
!
crypto engine mode vrf
!
interface Tunnel1
ip mtu 1400
ip vrf forwarding coke
ip address 10.1.1.254 255.255.255.0
tunnel source 172.1.1.1
tunnel destination 100.1.1.1
tunnel protection ipsec profile tp
crypto engine slot 4/0 inside
!
interface GigabitEthernet4/0/1
!IPsec VPN SPA inside port
flowcontrol receive on
flowcontrol send off
switchport
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 1,1002-1005
switchport mode trunk
cdp enable
spanning-tree portfast trunk
!
interface GigabitEthernet4/0/2
!IPsec VPN SPA outside port
no ip address
flowcontrol receive on
flowcontrol send off
switchport
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 1,1002-1005
switchport mode trunk
cdp enable
spanning-tree portfast trunk
!
interface GigabitEthernet6/1
! mtu 1500 by default
ip address 172.1.1.1 255.255.255.0
crypto engine slot 4/0 outside
!
interface FastEthernet7/13
ip vrf forwarding coke
ip address 13.1.1.2 255.255.255.0
!
ip route 100.1.1.1 255.255.255.255 Tunnel1
end