VPN / IPsec
IPsec(IP security)は、IPプロトコルファミリーに暗号化や認証などのセキュリティー機能を提供する一連のプロトコル群です。
ファームウェアバージョン5.4.5-0.4までの本製品と5.4.5-1.1以降の本製品との間ではIPsec接続ができません。本製品同士でIPsec接続を行う場合はファームウェアのバージョンを揃えてください。
本製品は、次のIPsec関連機能をサポートしています。
- サポートするIPプロトコルファミリー
- デリバリー(外側)プロトコル:IPv4/IPv6
- ペイロード(内側)プロトコル:IPv4/IPv6(ただし、IPv4 over IPv4、IPv6 over IPv6の組み合わせのみサポート)
- 鍵交換と通信路のネゴシエーション機能
- IKEv1(ISAKMP)、IKEv2
- IKEv1フェーズ1:Mainモード、Aggressiveモード
- IKEv2:INIT、AUTH、CREATE_CHILD_SA、INFORMATIONAL交換
- 暗号化アルゴリズム:AES256、AES192、AES128、3DES
- 認証アルゴリズム:SHA512、SHA256、SHA1
- Diffie-Hellmanグループ:18、16、15、14、5、2
- 認証方式:事前共有鍵
- 通信を保護するための機能
- IPsecプロトコル:ESP(暗号化・認証)
- IPsec動作モード
- トンネルモード(IPsecトンネルインターフェース)
- トランスポートモード(L2TPv3、GREトンネルインターフェース)
- 暗号化アルゴリズム:AES256、AES192、AES128、3DES
- 認証アルゴリズム:SHA512、SHA256、SHA1
- その他の機能
- DPD(Dead Peer Detection)
- NAT-T(NAT-Traversal)
暗号化アルゴリズム、認証アルゴリズムなど各種パラメーターの組み合わせや優先度については、「プロファイル」をご覧ください。本製品では、一般的なパラメーターの組み合わせが「デフォルトプロファイル」としてあらかじめ定義されているため、本製品同士の接続では複雑な設定は不要ですが、他機器と接続する場合などには必要に応じて「カスタムプロファイル」を定義して使用することも可能です。
IPsecトンネルインターフェースでは、デリバリー(外側)パケットとペイロード(内側)パケットのプロトコルが一致している必要があります。すなわち、IPsec over IPv4トンネルインターフェース(tunnel mode ipsec ipv4)にはIPv4アドレス(ip address)しか設定できず、IPsec over IPv6トンネルインターフェース(tunnel mode ipsec ipv6)にはIPv6アドレス(ipv6 address)しか設定できません。IPv6 over IPv4のIPsecを実現するには、後述するGRE(over IPv4)トンネルインターフェースにIPsec保護(tunnel protection ipsec)を適用してください。また、IPv4 over IPv6のIPsecを実現するには、GRE(over IPv6)トンネルインターフェースにIPsec保護(tunnel protection ipsec)を適用してください。
IPsec機能は、IPsecトンネルインターフェースだけでなく、L2TPv3、GREの各トンネルインターフェースでも利用できますが、本解説編ではIPsecトンネルインターフェースに特化した説明を行います。IPsecを利用可能な他のトンネルインターフェースについては下記の各解説編をご参照ください。
トンネルインターフェース全般については「VPN」の「トンネルインターフェース」を、インターフェース全般については「インターフェース」の「一般設定」をご覧ください。
また、IPsecを使用するための具体的かつ全体的な設定については「設定例集」をご覧ください。
基本設定
IPsec over IPv4
IPv4ネットワーク上にIPsecトンネルインターフェースを作成するには、次の手順にしたがいます。

以下では、上記構成図のルーターAを例に、基本的な拠点間IPsec VPNを構築するための具体的な設定手順を示します。
なお、前提事項として、ルーターA・BはIPv4でインターネットに接続しているものとします。WAN側インターフェースのIPアドレスは固定であり、ルーター間でのIP通信もできているものとします。
- ISAKMPの事前共有鍵を設定します。これにはcrypto isakmp keyコマンドを使います。addressパラメーターで指定するのは、IPsecの接続相手(対向装置)、すなわち、ルーターBのIPアドレスです。
awplus(config)# crypto isakmp key ouR4ecret address 10.2.2.2 ↓
- トンネルインターフェースtunnel0を作成します。
awplus(config)# interface tunnel0 ↓
- トンネリング方式としてipsec ipv4(IPsec over IPv4)を指定します。これには、tunnel mode ipsecコマンドを使います。
awplus(config-if)# tunnel mode ipsec ipv4 ↓
- トンネルインターフェースから送信するデリバリーパケットの始点・終点アドレス(自装置と対向装置のIPアドレス)を指定します。これには、tunnel source / tunnel destinationコマンドを使います。
awplus(config-if)# tunnel source 10.1.1.1 ↓
awplus(config-if)# tunnel destination 10.2.2.2 ↓
- トンネルインターフェースに対し、IPsecによる保護を適用します。これにはtunnel protection ipsecコマンドを使います。
awplus(config-if)# tunnel protection ipsec ↓
- トンネルインターフェースtunnel0にIPアドレスを設定して、同インターフェースでIPv4パケットのルーティングが行われるようにします。これには、ip addressコマンドを使います。
awplus(config-if)# ip address 192.168.254.1/30 ↓
トンネルインターフェースにIPアドレスを設定する場合のマスク長は30ビット以下を推奨します。トンネルインターフェースのIPアドレスを「ip address 192.168.254.1/32」のように32ビットマスクで設定することも可能ですが、トンネルインターフェース上でOSPFなどの経路制御プロトコルを動作させる場合は、ホストアドレスを複数取れる30ビット以下のサブネットマスクを設定する必要があるためです。
- 対向拠点へのスタティック経路を登録します。これには、ip routeコマンドを使います。
awplus(config-if)# exit ↓
awplus(config)# ip route 192.168.20.0/24 tunnel0 ↓
インターフェースへのIPアドレス設定については「IP」/「IPインターフェース」を、IPの経路設定については「IP」/「経路制御」、および、ダイナミックルーティングに関する各セクションをご覧ください。
IPsec over IPv6
IPv6ネットワーク上にIPsecトンネルインターフェースを作成するには、次の手順にしたがいます。

以下では、上記構成図のルーターAを例に、基本的な拠点間IPsec VPNを構築するための具体的な設定手順を示します。
なお、前提事項として、ルーターA・BはIPv6でインターネットに接続しているものとします。WAN側インターフェースのIPv6アドレスは固定であり、ルーター間でのIPv6通信もできているものとします。
- ISAKMPの事前共有鍵を設定します。これにはcrypto isakmp keyコマンドを使います。addressパラメーターで指定するのは、IPsecの接続相手(対向装置)、すなわち、ルーターBのIPv6アドレスです。
awplus(config)# crypto isakmp key ouR4ecret address 2001:db8:2:2::2 ↓
- トンネルインターフェースtunnel0を作成します。
awplus(config)# interface tunnel0 ↓
- トンネリング方式としてipsec ipv6(IPsec over IPv6)を指定します。これには、tunnel mode ipsecコマンドを使います。
awplus(config-if)# tunnel mode ipsec ipv6 ↓
- トンネルインターフェースから送信するデリバリーパケットの始点・終点アドレス(自装置と対向装置のIPv6アドレス)を指定します。これには、tunnel source / tunnel destinationコマンドを使います。
awplus(config-if)# tunnel source 2001:db8:1:1::1 ↓
awplus(config-if)# tunnel destination 2001:db8:2:2::2 ↓
- トンネルインターフェースに対し、IPsecによる保護を適用します。これにはtunnel protection ipsecコマンドを使います。
awplus(config-if)# tunnel protection ipsec ↓
- トンネルインターフェースtunnel0にIPv6のリンクローカルアドレスを設定して、同インターフェースでIPv6パケットのルーティングが行われるようにします。これには、ipv6 enableコマンドを使います。
awplus(config-if)# ipv6 enable ↓
IPv6パケットをルーティング(転送)するだけであれば、トンネルインターフェースのIPv6アドレスはこの例のようにリンクローカルアドレス(ipv6 enable)だけでかまいませんが、BGPを使用する場合などグローバルアドレスが必要な場合はipv6 addressコマンドで適切なIPv6アドレスを設定してください。
- 対向拠点へのスタティック経路を登録します。これには、ipv6 routeコマンドを使います。
awplus(config-if)# exit ↓
awplus(config)# ipv6 route 2001:db8:10:20::/64 tunnel0 ↓
インターフェースへのIPv6アドレス設定については「IPv6」/「IPv6インターフェース」を、IPv6の経路設定については「IPv6」/「経路制御」、および、ダイナミックルーティングに関する各セクションをご覧ください。
プロファイル
IPsec機能で使用する暗号化アルゴリズム、認証アルゴリズムなど各種パラメーターの組み合わせは、「プロファイル」と呼ぶ設定要素で定義します。プロファイルにはISAKMPプロファイルとIPsecプロファイルの2種類があり、それぞれISAKMP、IPsecの通信方式を規定します。
本製品では、一般的なパラメーターの組み合わせが「デフォルトプロファイル」としてあらかじめ定義されているため、本製品同士の接続では複雑な設定は不要ですが、他機器と接続する場合などには必要に応じて「カスタムプロファイル」を定義して使用することも可能です。
以下、デフォルトプロファイルの内容と、カスタムプロファイルの定義・使用方法について説明します。
デフォルトプロファイル
本製品では、ISAKMP、IPsecそれぞれの通信で使用する一般的なパラメーターの組み合わせが、優先順位とともに「デフォルトプロファイル」としてあらかじめ定義されています。後述するカスタムプロファイルの設定を行っていない場合は、自動的にデフォルトプロファイルが使用されます。
以下にその内容を示します。
デフォルトISAKMPプロファイル
デフォルトISAKMPプロファイルの内容は下記のとおりです。
ISAKMPパラメーターの組み合わせは、優先度の高いほうから順にトランスフォーム 1 ~ 12の12通りが定義されています。
トランスフォーム |
1 |
2 |
3 |
4 |
5 |
6 |
暗号化アルゴリズム |
AES256 |
AES256 |
AES256 |
AES256 |
AES128 |
AES128 |
認証アルゴリズム |
SHA256 |
SHA256 |
SHA1 |
SHA1 |
SHA256 |
SHA256 |
Diffie-Hellmanグループ |
14 |
16 |
14 |
16 |
14 |
16 |
IKEバージョン |
IKEv2 |
認証方式 |
事前共有鍵 |
SA有効期間 |
24時間 |
DPDキープアライブ間隔 |
30秒 |
|
トランスフォーム |
7 |
8 |
9 |
10 |
11 |
12 |
暗号化アルゴリズム |
AES128 |
AES128 |
3DES |
3DES |
3DES |
3DES |
認証アルゴリズム |
SHA1 |
SHA1 |
SHA256 |
SHA256 |
SHA1 |
SHA1 |
Diffie-Hellmanグループ |
14 |
16 |
14 |
16 |
14 |
16 |
IKEバージョン |
IKEv2 |
認証方式 |
事前共有鍵 |
SA有効期間 |
24時間 |
DPDキープアライブ間隔 |
30秒 |
IKEバージョン、認証方式、SA有効期間、DPDキープアライブ間隔は、同一ISAKMPプロファイル内で共通です。
デフォルトIPsecプロファイル
デフォルトIPsecプロファイルの内容は下記のとおりです。
IPsecパラメーターの組み合わせは、優先度の高いほうから順にプロポーザル 1 ~ 6の6通りが定義されています。
プロポーザル |
1 |
2 |
3 |
4 |
5 |
6 |
IPsecプロトコル |
ESP |
ESP |
ESP |
ESP |
ESP |
ESP |
暗号アルゴリズム(CBC) |
AES256 |
AES256 |
AES128 |
AES128 |
3DES |
3DES |
認証アルゴリズム(HMAC) |
SHA256 |
SHA1 |
SHA256 |
SHA1 |
SHA256 |
SHA1 |
PFS |
使用しない |
SA有効期間 |
8時間 |
PFS、SA有効期間は、同一IPsecプロファイル内で共通です。
IPsec動作モード(トンネルモード、トランスポートモード)は、IPsecトンネルインターフェースではトンネルモード、L2TPv3、GREトンネルインターフェースではトランスポートモードとなります。
カスタムプロファイル
デフォルトプロファイルでは一般的なパラメーターの組み合わせを網羅していますが、対向機器のサポートしているパラメーターが異なり、デフォルトプロファイルで接続できない場合は、カスタムプロファイルを定義することにより対応が可能です。
カスタムISAKMPプロファイル
カスタムISAKMPプロファイルは、crypto isakmp profileコマンドで命名・作成し、同コマンド実行後の移行先であるISAKMPプロファイルモードで具体的な内容を定義します。
カスタムISAKMPプロファイルでは、本製品がサポートしている範囲内で、下記パラメーターの組み合わせを自由に定義できます。
ISAKMPプロファイルの構造は、「デフォルトISAKMPプロファイル」の表をご覧いただくとイメージしやすいでしょう。
- 1つのISAKMPプロファイルに対して複数設定できるパラメーター
下記3つのパラメーターを一組の「トランスフォーム」(transform)として、複数の組み合わせを優先順位とともに指定できます。
- 暗号化アルゴリズム
- 認証アルゴリズム
- Diffie-Hellmanグループ
- 1つのISAKMPプロファイルに対して1つだけ設定できるパラメーター
認証方式は事前共有鍵のみサポートのため、カスタムISAKMPプロファイルにおける設定項目はありません。
作成
次に、カスタムISAKMPプロファイルの具体的な定義例を示します。
■ IKEv1 Mainモード、SA有効期間1時間、暗号化/認証アルゴリズム/Diffie-Hellmanグループの組み合わせは「AES128/SHA1/Group2」の1つだけ。
awplus(config)# crypto isakmp profile legacy-main ↓
awplus(config-isakmp-profile)# version 1 mode main ↓
awplus(config-isakmp-profile)# lifetime 3600 ↓
awplus(config-isakmp-profile)# transform 1 integrity sha1 encryption aes128 group 2 ↓
■ IKEv1 Aggressiveモード、SA有効期間1時間、暗号化/認証アルゴリズム/Diffie-Hellmanグループの組み合わせは「AES128/SHA1/Group2」の1つだけ。
awplus(config)# crypto isakmp profile legacy-aggr ↓
awplus(config-isakmp-profile)# version 1 mode aggressive ↓
awplus(config-isakmp-profile)# lifetime 3600 ↓
awplus(config-isakmp-profile)# transform 1 integrity sha1 encryption aes128 group 2 ↓
適用
カスタムISAKMPプロファイルは、crypto isakmp peerコマンドを使って、対向装置ごとに適用します。
■ 対向装置10.2.2.2との間でカスタムISAKMPプロファイルlegacyを使用するには、次のようにします。
awplus(config)# crypto isakmp peer address 10.2.2.2 profile legacy ↓
■ IPアドレスが不定な対向装置との間でカスタムISAKMPプロファイルを使用したいときは、次のようにdynamicキーワードを使います。この場合、IPアドレスが不定なすべての対向装置とのISAKMP通信において、指定したカスタムISAKMPプロファイルが使われます。
awplus(config)# crypto isakmp peer dynamic profile legacy-aggr ↓
■ crypto isakmp peerコマンドでカスタムISAKMPプロファイルを指定していない対向装置との間ではデフォルトISAKMPプロファイルが使われます。
カスタムIPsecプロファイル
カスタムIPsecプロファイルは、crypto ipsec profileコマンドで命名・作成し、同コマンド実行後の移行先であるIPsecプロファイルモードで具体的な内容を定義します。
カスタムIPsecプロファイルでは、本製品がサポートしている範囲内で、下記パラメーターの組み合わせを自由に定義できます。
IPsecプロファイルの構造は、「デフォルトIPsecプロファイル」の表をご覧いただくとイメージしやすいでしょう。
- 1つのIPsecプロファイルに対して複数設定できるパラメーター
下記3つのパラメーターを一組の「トランスフォーム」(transform)として、複数の組み合わせを優先順位とともに指定できます。
- IPsecプロトコル
- 暗号化アルゴリズム
- 認証アルゴリズム
- 1つのIPsecプロファイルに対して1つだけ設定できるパラメーター
- SA有効期間(lifetime)
- PFSの有効・無効、および有効時に使用するDiffie-Hellmanグループ(pfs)
IPsecプロトコルはESPのみサポートのため、カスタムIPsecプロファイルの設定ではつねに「protocol esp」を指定します。
作成
次に、カスタムIPsecプロファイルの具体的な定義例を示します。
■ SA有効期間1時間、暗号化/認証アルゴリズムの組み合わせは「AES128/SHA1」の1つだけ。
awplus(config)# crypto ipsec profile legacy ↓
awplus(config-ipsec-profile)# lifetime seconds 3600 ↓
awplus(config-ipsec-profile)# transform 1 protocol esp integrity sha1 encryption aes128 ↓
■ SA有効期間1時間、暗号化/認証アルゴリズムの組み合わせは優先度の高い順に「AES256/SHA256」、「AES128/SHA256」の2つ。
awplus(config)# crypto ipsec profile shortlife ↓
awplus(config-ipsec-profile)# lifetime seconds 3600 ↓
awplus(config-ipsec-profile)# transform 1 protocol esp integrity sha256 encryption aes256 ↓
awplus(config-ipsec-profile)# transform 2 protocol esp integrity sha256 encryption aes128 ↓
適用
カスタムIPsecプロファイルは、tunnel protection ipsecコマンドのprofileパラメーターを使って、トンネルインターフェースごとに適用します。
■ トンネルインターフェースtunnel0にカスタムIPsecプロファイルlegacyを適用するには、次のようにします。
awplus(config)# interface tunnel0 ↓
...
awplus(config-if)# tunnel protection ipsec profile legacy ↓
■ tunnel protection ipsecコマンドのprofileパラメーターでカスタムIPsecプロファイルを指定していない場合、該当トンネルインターフェースではデフォルトIPsecプロファイルが使われます。
設定と状態の確認
■ ISAKMP/IPsec SAの情報を確認するには、show isakmp sa / show ipsec saコマンドを使います。
awplus# show isakmp sa ↓
awplus# show ipsec sa ↓
■ ISAKMP/IPsecの統計情報を確認するには、show isakmp counters / show ipsec countersコマンドを使います。
awplus# show isakmp counters ↓
awplus# show ipsec counters ↓
■ IPsecの動作状況を確認するには、show ipsec peer / show ipsec policyコマンドを使います。
awplus# show ipsec peer ↓
awplus# show ipsec policy ↓
■ ISAKMPの事前共有鍵を確認するには、show isakmp keyコマンドを使います。
awplus# show isakmp key ↓
■ ISAKMP/IPsecプロファイル(動作パラメーター)の内容を確認するには、show isakmp profile / show ipsec profileコマンドを使います。
awplus# show isakmp profile ↓
awplus# show ipsec profile ↓
■ 各対向装置について、使用するISAKMPプロファイルと事前共有鍵の設定有無を確認するには、show isakmp peerコマンドを使います。
awplus# show isakmp peer ↓
(C) 2016 - 2018 アライドテレシスホールディングス株式会社
PN: 613-002311 Rev.N