VPN / IPsec




IPsec(IP security)は、IPプロトコルファミリーに暗号化や認証などのセキュリティー機能を提供する一連のプロトコル群です。

Note
ファームウェアバージョン5.4.5-0.4までのAT-ARシリーズと5.4.5-1.1以降のAT-ARシリーズとの間ではIPsec接続ができません。AT-ARシリーズ同士でIPsec接続を行う場合はファームウェアのバージョンを揃えてください。

本製品は、IPsecトンネルインターフェースを通じて、次のIPsec関連機能をサポートしています。
また、マルチポイントIPsecトンネルインターフェースにより、本製品をVPNサーバーとするリモートアクセス型のIPsec VPNも実現可能です。
その場合、サーバー(本製品)側は証明書認証、クライアント側はユーザー名・パスワードによるEAP-RADIUS認証を使用します。

Note
暗号化アルゴリズム、認証アルゴリズムなど各種パラメーターの組み合わせや優先度については、「プロファイル」をご覧ください。本製品では、一般的なパラメーターの組み合わせが「デフォルトプロファイル」としてあらかじめ定義されているため、本製品同士の接続では複雑な設定は不要ですが、他機器と接続する場合などには必要に応じて「カスタムプロファイル」を定義して使用することも可能です。

IPsec機能は、IPsecトンネルインターフェースだけでなく、L2TPv3、GRE、マルチポイントGREの各トンネルインターフェースでも利用できますが、本解説編ではIPsecトンネルインターフェースとマルチポイントIPsecトンネルインターフェースに特化した説明を行います。IPsecを利用可能な他のトンネルインターフェースについては下記の各解説編をご参照ください。

トンネルインターフェース全般については「VPN」の「トンネルインターフェース」を、インターフェース全般については「インターフェース」の「一般設定」をご覧ください。

IPsecを使用するための具体的かつ全体的な設定については「設定例集」をご覧ください。

また、本製品では、証明書認証を使用したルーター間のIPsec VPN接続にも対応しています。
詳しくは、外部CAが発行した証明書を使用したルーター間のIPsec VPN接続をご覧ください。
Note
ルーター間のIPsec VPNで証明書認証を行う場合は、共通の外部CAが発行したサーバー証明書が必要です。
Note
AMFネットワーク構成において、証明書認証を使用して接続したAMFノード配下のAMFオートリカバリーはサポート対象外です。

基本設定

IPsec over IPv4

IPv4ネットワーク上にIPsecトンネルインターフェースを作成するには、次の手順にしたがいます。


以下では、上記構成図のルーターAを例に、基本的な拠点間IPsec VPNを構築するための具体的な設定手順を示します。
なお、前提事項として、ルーターA・BはIPv4でインターネットに接続しているものとします。WAN側インターフェースのIPアドレスは固定であり、ルーター間でのIP通信もできているものとします。
  1. ISAKMPの事前共有鍵を設定します。これにはcrypto isakmp keyコマンドを使います。addressパラメーターで指定するのは、IPsecの接続相手(対向装置)、すなわち、ルーターBのIPアドレスです。
    awplus(config)# crypto isakmp key ouR4ecret address 10.2.2.2
    

  2. トンネルインターフェースtunnel0を作成します。
    awplus(config)# interface tunnel0
    

  3. トンネリング方式としてipsec ipv4(IPsec over IPv4)を指定します。これには、tunnel mode ipsecコマンドを使います。
    awplus(config-if)# tunnel mode ipsec ipv4
    

  4. トンネルインターフェースから送信するデリバリーパケットの始点・終点アドレス(自装置と対向装置のIPアドレス)を指定します。これには、tunnel source / tunnel destinationコマンドを使います。
    awplus(config-if)# tunnel source 10.1.1.1
    awplus(config-if)# tunnel destination 10.2.2.2
    

  5. トンネルインターフェースに対し、IPsecによる保護を適用します。これにはtunnel protection ipsecコマンドを使います。
    awplus(config-if)# tunnel protection ipsec
    

  6. トンネルインターフェースtunnel0にIPアドレスを設定して、同インターフェースでIPv4パケットのルーティングが行われるようにします。これには、ip addressコマンドを使います。
    awplus(config-if)# ip address 192.168.254.1/30
    
    Note
    トンネルインターフェースにIPアドレスを設定する場合のマスク長は30ビット以下を推奨します。トンネルインターフェースのIPアドレスを「ip address 192.168.254.1/32」のように32ビットマスクで設定することも可能ですが、トンネルインターフェース上でOSPFなどの経路制御プロトコルを動作させる場合は、ホストアドレスを複数取れる30ビット以下のサブネットマスクを設定する必要があるためです。

  7. 対向拠点へのスタティック経路を登録します。これには、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通信もできているものとします。
  1. ISAKMPの事前共有鍵を設定します。これにはcrypto isakmp keyコマンドを使います。addressパラメーターで指定するのは、IPsecの接続相手(対向装置)、すなわち、ルーターBのIPv6アドレスです。
    awplus(config)# crypto isakmp key ouR4ecret address 2001:db8:2:2::2
    

  2. トンネルインターフェースtunnel0を作成します。
    awplus(config)# interface tunnel0
    

  3. トンネリング方式としてipsec ipv6(IPsec over IPv6)を指定します。これには、tunnel mode ipsecコマンドを使います。
    awplus(config-if)# tunnel mode ipsec ipv6
    

  4. トンネルインターフェースから送信するデリバリーパケットの始点・終点アドレス(自装置と対向装置の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
    

  5. トンネルインターフェースに対し、IPsecによる保護を適用します。これにはtunnel protection ipsecコマンドを使います。
    awplus(config-if)# tunnel protection ipsec
    

  6. トンネルインターフェースtunnel0にIPv6のリンクローカルアドレスを設定して、同インターフェースでIPv6パケットのルーティングが行われるようにします。これには、ipv6 enableコマンドを使います。
    awplus(config-if)# ipv6 enable
    
    Note
    IPv6パケットをルーティング(転送)するだけであれば、トンネルインターフェースのIPv6アドレスはこの例のようにリンクローカルアドレス(ipv6 enable)だけでかまいませんが、BGPを使用する場合などグローバルアドレスが必要な場合はipv6 addressコマンドで適切なIPv6アドレスを設定してください。

  7. 対向拠点へのスタティック経路を登録します。これには、ipv6 routeコマンドを使います。
    awplus(config-if)# exit
    awplus(config)# ipv6 route 2001:db8:10:20::/64 tunnel0
    
インターフェースへのIPv6アドレス設定については「IPv6」/「IPv6インターフェース」を、IPv6の経路設定については「IPv6」/「経路制御」、および、ダイナミックルーティングに関する各セクションをご覧ください。

リモートアクセスIPsec

マルチポイントIPsecトンネルインターフェースは、リモートアクセスVPNに特化したインターフェースです。


以下では、上記構成図のルーターAを例に、IPsec VPNクライアントからのリモートアクセス接続を受け入れるIPsec VPNサーバーを構築するための具体的な設定手順を示します。
なお、前提事項として、ルーターAとクライアントはIPv4でインターネットに接続しているものとします。WAN側インターフェースのIPアドレスは固定であり、ルーター・クライアント間のIP通信も可能な状態になっているものとします。また、クライアントは各OSのIKEv2 VPN機能またはアプリを使用するものとします。
本構成では、サーバー(本製品)側は証明書認証、クライアント側はユーザー名・パスワードによるEAP-RADIUS認証を使用するため、サーバー側のIPsec設定に加えて、下記の設定が必要になります。
ここでは、(a)~(d)については概要のみを説明します。また、(e)~(f)の説明は割愛します。
(a)~(c)の詳細は「運用・管理」/「ローカルCA」、(d)の詳細は「運用・管理」/「RADIUSサーバー」を、(e)~(f)については設定例集をご参照ください。

ローカルCAのセットアップ

  1. crypto pki trustpointコマンドでローカルCA「local」を指定します。
    awplus(config)# crypto pki trustpoint local
    Created trustpoint "local".
    Generating 2048-bit key for local CA...
    Automatically authenticated trustpoint "local".
    
    Note
    ローカルCAの名前として「local」を指定した場合は、crypto pki trustpointコマンドを実行するだけで、ローカルCAの公開鍵ペア生成と自己署名ルート証明書の発行が行われ、ローカルCAの作成が完了します。「local」以外の名前を使う場合は「運用・管理」/「ローカルCA」をご覧ください。

サーバー証明書の発行

  1. サーバー証明書のサブジェクト名(subjectName)とサブジェクト代替名(altSubjectName)を指定します。これには、subject-nameコマンドとsubject-alt-nameコマンドを使います。
    サブジェクト名のCommon Name(CN)、および、サブジェクト代替名は、クライアント側に設定する「VPN接続先」のホスト名(FQDN)またはIPアドレスと一致している必要があります。
    ここではクライアント側の設定時に本製品のIPアドレス10.1.1.1を指定するものと仮定します。クライアント側でFQDNを指定する場合は、「10.1.1.1」の代わりにたとえば「vpn.example.com」のようなFQDNを指定してください。
    Note
    iOSまたはAndroidが接続端末として存在する構成(Windows端末のみの接続構成以外)の場合、IPアドレスではなくFQDNを指定してください。
    awplus(ca-trustpoint)# subject-name /O=MyOrganization/CN=10.1.1.1
    awplus(ca-trustpoint)# subject-alt-name 10.1.1.1
    awplus(ca-trustpoint)# end
    

  2. 本製品のサーバー証明書を発行するには、crypto pki enrollコマンドで発行元のローカルCAを指定します。
    ここでは、ローカルCA「local」を発行元として本製品のサーバー証明書を発行するため、次のようにします。
    awplus# crypto pki enroll local
    Generating 2048-bit key "server-default"...
    Successfully enrolled the local server.
    

  3. 先の手順で作成したサーバー証明書を削除し、再度発行します。
    crypto pki enrollコマンドをno形式で実行し、その後ふたたびcrypto pki enrollコマンドを通常形式で実行してください。
    awplus# no crypto pki enroll local
    De-enrolled the server from trustpoint "local".
    awplus# crypto pki enroll local
    Generating 2048-bit key "server-default"...
    Successfully enrolled the local server.
    
    「server-default」という名前で識別される本製品の公開鍵ペア(秘密鍵と公開鍵)が自動的に生成され、その公開鍵証明書をローカルCAの秘密鍵で署名して、サーバー証明書の発行が完了します。
    発行したサーバー証明書の情報は、show crypto pki certificatesコマンドで確認できます。

  4. 設定を保存して再起動してください。
    設定の保存は、copyコマンドを「copy running-config startup-config」の書式で実行するか、write fileコマンド、write memoryコマンドを使用します。また、再起動はreloadコマンド、rebootコマンドで行います。
    awplus# copy running-config startup-config
    Building configuration...
    [OK]
    awplus# reload
    ...
    

ローカルCA証明書の書き出し

  1. クライアントが本製品にVPN接続したときに本製品のサーバー証明書を検証するには、ローカルCAの証明書を「信頼されたルート証明機関」としてクライアントにインストールする必要があります。ローカルCA証明書は、crypto pki export pemコマンドでファイルに書き出します。
    ファイル名は任意ですが、ここではWindows 10が証明書ファイルと認識する拡張子 .cer をつけています。
    このファイルをクライアントにコピーしてインストールしてください。インストール手順はクライアントごとに異なります。具体的な方法は、設定例集をご覧ください。
    awplus# crypto pki export local pem cacert.cer
    Copying...
    Successful operation
    

RADIUSサーバーの設定

  1. 次に、クライアントが接続するときに使うユーザー名・パスワード、および、クライアントのVPN仮想インターフェースにアサインするIPアドレスを登録するため、ローカルRADIUSサーバー機能の設定を行います。ここでは、ユーザーを2つ(userA、userB)登録しています。
    詳細は「運用・管理」/「RADIUSサーバー」をご覧ください。
    awplus(config)# radius-server local
    awplus(config-radsrv)# group userA
    awplus(config-radsrv-group)# attribute Framed-IP-Address 192.168.254.231
    awplus(config-radsrv-group)# exit
    awplus(config-radsrv-)# group userB
    awplus(config-radsrv-group)# attribute Framed-IP-Address 192.168.254.232
    awplus(config-radsrv-group)# exit
    awplus(config-radsrv)# user userA password passwdA group userA
    awplus(config-radsrv)# user userB password passwdB group userB
    awplus(config-radsrv)# server enable
    awplus(config-radsrv)# exit
    

リモートアクセスIPsec VPNサーバーの設定

  1. クライアントのISAKMP認証にローカルRADIUSサーバーを使用するよう設定します。
    これには、radius-server hostコマンドとaaa authentication isakmpコマンドを使います。
    awplus(config)# radius-server host localhost key awplus-local-radius-serve
    awplus(config)# aaa authentication isakmp default group radius
    

  2. リモートアクセスVPN用のカスタムISAKMPプロファイル「native-vpn」を作成します。これにはcrypto isakmp profileコマンドを使います。
    クライアントの仕様に合わせ、IKEv2(versionコマンド)、サーバー側証明書認証(local authenticationコマンド)、クライアント側ユーザー名・パスワード認証(remote authenticationコマンド)、RADIUS属性にもとづいてクライアントにIPアドレスを割り当て(configuration-attributeコマンド)、サーバー証明書(pki trustpointコマンド)、暗号/認証方式とDiffie-Hellmanグループ(transformコマンド)を指定します。
    awplus(config)# crypto isakmp profile native-vpn
    awplus(config-isakmp-profile)# version 2
    awplus(config-isakmp-profile)# local authentication certificate
    awplus(config-isakmp-profile)# remote authentication eap-radius
    awplus(config-isakmp-profile)# configuration-attribute radius
    awplus(config-isakmp-profile)# pki trustpoint local
    awplus(config-isakmp-profile)# transform 1 integrity SHA256 encryption AES256 group 14
    awplus(config-isakmp-profile)# transform 2 integrity SHA256 encryption AES256 group 2
    awplus(config-isakmp-profile)# exit
    

  3. リモートアクセスIPsec VPN用のトンネルインターフェース(ここではtunnel0)にISAKMPプロファイル「native-vpn」を割り当てます。これには、crypto isakmp peerコマンドを使います。
    awplus(config)# crypto isakmp peer policy tunnel0 profile native-vpn
    

  4. トンネルインターフェースtunnel0を作成します。
    awplus(config)# interface tunnel0
    

  5. トンネリング方式としてマルチポイントIPsecを指定します。これには、tunnel mode ipsec multipointコマンドを使います。
    awplus(config-if)# tunnel mode ipsec multipoint
    
    Note
    通常のIPsecトンネルインターフェースと異なり、マルチポイントIPsecトンネルインターフェースはIPv4、IPv6どちらの接続でも受け入れます。
    ただし、トンネルインターフェースに設定するアドレス(内側アドレス)はIPv4のみをサポートします(IPv4 over IPv4とIPv4 over IPv6構成のみサポート)。

  6. 本製品のローカル名を設定します。これには、tunnel local nameコマンドを使います。
    クライアントから見たVPN接続先、すなわち、サーバー証明書のサブジェクト名のCommon Name、およびサブジェクト代替名と同じ文字列を指定してください。
    awplus(config-if)# tunnel local name 10.1.1.1
    

  7. トンネルインターフェースに対し、IPsecによる保護を適用します。これにはtunnel protection ipsecコマンドを使います。
    awplus(config-if)# tunnel protection ipsec
    

  8. トンネルインターフェースtunnel0にIPアドレスを設定して、同インターフェースでIPv4パケットのルーティングが行われるようにします。これには、ip addressコマンドを使います。
    awplus(config-if)# ip address 192.168.254.1/24
    
インターフェースへのIPアドレス設定については「IP」/「IPインターフェース」をご覧ください。
また、各OSに対応するIKEv2 IPsec VPNクライアントの設定は、設定例集をご参照ください。

外部CAが発行した証明書を使用したルーター間のIPsec VPN接続

外部CAが発行した証明書を使用し、ルーター間でIPsec VPN接続を行うには、次の手順にしたがいます。

以下では、上記構成図のルーターAを例に、基本的な拠点間IPsec VPNを構築するための具体的な設定手順を示します。
なお、前提事項として、ルーターA・BはIPv4でインターネットに接続しているものとします。WAN側インターフェースのIPアドレスは固定であり、ルーター間でのIP通信もできているものとします。

本構成では、ルーター間で証明書認証を使用するため、サーバー側のIPsec設定に加えて、下記の設定が必要になります。
ここでは(a)~(e)は、概要のみを説明します。詳しくは設定例集をご参照ください。

トラストポイントの設定

  1. 外部CAのルート証明書、本製品の秘密鍵ペアとサーバー証明書を保存するためのトラストポイント「vpn_trust」を作成します。
    これには、crypto pki trustpoint、enrollmentコマンドを使います。
    awplus(config)# crypto pki trustpoint vpn_trust
    Created trustpoint "vpn_trust".
    awplus(ca-trustpoint)# enrollment terminal
    

  2. サーバー証明書のサブジェクト名(subjectName)とサブジェクト代替名(altSubjectName)を指定します。
    これには、subject-nameコマンドとsubject-alt-nameコマンドを使います。
    サブジェクト名のCommon Name(CN)およびサブジェクト代替名は、トンネルインターフェースに設定する本製品のローカル名(tunnel local nameコマンドで指定する文字列)と一致している必要があります。
    Note
    サブジェクト名、サブジェクト代替名としてIPアドレスを指定したサーバー証明書はサポート対象外です。
    awplus(ca-trustpoint)# subject-name /CN=test1.example.com
    awplus(ca-trustpoint)# subject-alt-name test1.example.com
    awplus(ca-trustpoint)# end
    

外部CAのルート証明書をインポート

  1. 外部CAのルート証明書ファイルをテキストエディターで開き、-----BEGIN CERTIFICATE----- から -----END CERTIFICATE----- の行までをクリップボードにコピーします。

  2. トラストポイント「vpn_trust」に外部CAのルート証明書をインポートし、同トラストポイントの使用準備を完了します。
    これにはcrypto pki authenticateコマンドを使います。
    コマンドを実行すると次のようなメッセージが表示されるので、コピーしておいたものをペーストし、「Enter」キーを押してください。
    awplus# crypto pki authenticate vpn_trust
    Paste the certificate PEM file into the terminal.
    Type "abort" to cancel.
    

  3. 内容を確認し、「Accept this certificate?」に「y」で答えてください。
    awplus# crypto pki authenticate vpn_trust
    Paste the certificate PEM file into the terminal.
    Type "abort" to cancel.
    -----BEGIN CERTIFICATE-----
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ...
    xaPuyjGcQ3kCjW32sO0InQxjLPCp/celKKRZbIwETAor
    -----END CERTIFICATE-----
    Complete ("END CERTIFICATE" detected).
    Subject     : /C=JP/O=EXAMPLE/CN=SampleRootCA
    Issuer      : /C=JP/O=EXAMPLE/CN=SampleRootCA
    Valid From  : Apr  7 05:32:30 2023 GMT
    Valid To    : Apr  4 05:32:30 2033 GMT
    Fingerprint : D51BB535 8CBCFE2C BDD6E56B 759BB5C9 4CF9DCBF 
    This is a self-signed CA certificate.
    The certificate has been validated successfully.
    Accept this certificate? (y/n): y
    Successfully authenticated trustpoint "vpn_trust".
    

サーバー証明書の署名要求(CSR)の生成

  1. 外部CA発行の証明書を利用するためのトラストポイント「vpn_trust」において、本製品の公開鍵ペア(秘密鍵と公開鍵)を生成し、サーバー証明書の署名要求(CSR)を生成します。
    これにはcrypto pki enrollコマンドを使います。
    コマンドを実行すると次のようにCSRの内容が出力されるので、 -----BEGIN CERTIFICATE REQUEST----- から -----END CERTIFICATE REQUEST----- の行までをクリップボードにコピーしてPC上のファイル(ここでは「example_csr.pem」とします)に保存してください。
    awplus# crypto pki enroll vpn_trust
    Using private key "server-default"...
    Cut and paste this request to the certificate authority:
    -----------------------------------------------------------------
    -----BEGIN CERTIFICATE REQUEST-----
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ...
    sQCD7gbOkrMSEpDCSdB85P5on2Gs+CwpHsYlhA==
    -----END CERTIFICATE REQUEST-----
    -----------------------------------------------------------------
    

サーバー証明書の発行

  1. 前の手順でPC上に保存したCSRファイル(本例ではexample_csr.pem)を外部CAに渡し、サーバー証明書の発行を依頼してください。
    ここでは、外部CAが発行した本製品のサーバー証明書を example_cert.pem という名前のファイルとして入手したものと仮定します。

サーバー証明書のインポートとトラストポイントへの保存

  1. 本製品のサーバー証明書をテキストエディターで開き、-----BEGIN CERTIFICATE----- から -----END CERTIFICATE----- の行までをクリップボードにコピーします。

  2. サーバー証明書をトラストポイントに保存します。
    これにはcrypto pki import pemコマンドを使います。
    コマンドを実行すると次のようなメッセージが表示されるので、コピーしておいたものをペーストし、「Enter」キーを押してください。
    awplus# crypto pki import vpn_trust pem terminal
    Paste the certificate PEM file into the terminal.
    Type "abort" to cancel.
    

  3. 内容を確認し、「Accept this certificate?」に「y」で答えてください。
    awplus# crypto pki import vpn_trust pem terminal
    Paste the certificate PEM file into the terminal.
    Type "abort" to cancel.
    -----BEGIN CERTIFICATE-----
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ...
    WF/C9/ijoy0UIjDFJms6uBo5gw==
    -----END CERTIFICATE-----
    
    Complete ("END CERTIFICATE" detected).
    Subject     : /O=AlliedWare Plus/CN=test1.example.com
    Issuer      : /C=JP/O=EXAMPLE/CN=SampleRootCA
    Valid From  : Apr 19 07:41:24 2023 GMT
    Valid To    : Apr 18 07:41:24 2024 GMT
    Fingerprint : FAB1FC57 6CD0DC6A 7198C3F2 67E37C0F 6FAE8AFB 
    This is not a valid CA certificate. Attempting to import as a server certificate.
    The certificate has been validated successfully.
    Accept this certificate? (y/n): y
    The certificate was successfully imported.
    

IPsec VPNの設定

  1. ISAKMPの通信方式を規定するISAKMPプロファイルを作成します。
    ここでは、crypto isakmp profileコマンドでISAKMPプロファイルを作成し、以下の情報を設定します。
    awplus(config)# crypto isakmp profile cert_vpn
    awplus(config-isakmp-profile)# local authentication certificate
    awplus(config-isakmp-profile)# remote authentication certificate
    awplus(config-isakmp-profile)# pki trustpoint vpn_trust
    awplus(config-isakmp-profile)# transform 1 integrity SHA256 encryption AES256 group 14
    awplus(config-isakmp-profile)# exit
    

  2. 対向ルーターとの間で使用するISAKMPプロファイルを指定します。
    これにはcrypto isakmp peerコマンドを使います。
    awplus(config)# crypto isakmp peer hostname test2.example.com profile cert_vpn
    

  3. トンネルインターフェースtunnel0を作成します。
    これには、interfaceコマンドでトンネルインターフェースを作成し、以下の情報を設定します。
    awplus(config)# interface tunnel0
    awplus(config-if)# tunnel mode ipsec ipv4
    awplus(config-if)# tunnel source 10.1.1.1
    awplus(config-if)# tunnel destination 10.2.2.2
    awplus(config-if)# tunnel local name test1.example.com
    awplus(config-if)# tunnel remote name test2.example.com
    awplus(config-if)# tunnel protection ipsec
    awplus(config-if)# ip address 192.168.254.1/30
    awplus(config-if)# exit
    

  4. 対向拠点へのスタティック経路を登録します。これには、ip routeコマンドを使います。
    awplus(config)# ip route 192.168.20.0/24 tunnel0 
    

プロファイル

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秒
Note
IKEバージョン、認証方式、SA有効期間、DPDキープアライブ間隔は、同一ISAKMPプロファイル内で共通です。

デフォルトIPsecプロファイル

デフォルトIPsecプロファイルの内容は下記のとおりです。
IPsecパラメーターの組み合わせは、優先度の高いほうから順にプロポーザル 1 ~ 10の10通りが定義されています。
プロポーザル
1
2
3
4
5
6
IPsecプロトコル
ESP ESP ESP ESP ESP ESP
暗号化アルゴリズム(CBC)
AES256 AES256 AES256 AES256 AES128 AES128
認証アルゴリズム(HMAC)
SHA256 GCM16 GCM8 SHA1 SHA256 GCM16
PFS
使用しない
SA有効期間
8時間
プロポーザル
7
8
9
10
   
IPsecプロトコル
ESP ESP ESP ESP    
暗号化アルゴリズム(CBC)
AES128 AES128 3DES 3DES    
認証アルゴリズム(HMAC)
GCM8 SHA1 SHA256 SHA1    
PFS
使用しない
SA有効期間
8時間
Note
PFS、SA有効期間は、同一IPsecプロファイル内で共通です。

Note
IPsec動作モード(トンネルモード、トランスポートモード)は、IPsecおよびマルチポイントIPsecトンネルインターフェースではトンネルモード、L2TPv3、GREトンネルインターフェースではトランスポートモードとなります。

カスタムプロファイル

デフォルトプロファイルでは一般的なパラメーターの組み合わせを網羅していますが、対向機器のサポートしているパラメーターが異なり、デフォルトプロファイルで接続できない場合は、カスタムプロファイルを定義することにより対応が可能です。

カスタムISAKMPプロファイル

カスタムISAKMPプロファイルは、crypto isakmp profileコマンドで命名・作成し、同コマンド実行後の移行先であるISAKMPプロファイルモードで具体的な内容を定義します。

カスタムISAKMPプロファイルでは、本製品がサポートしている範囲内で、下記パラメーターの組み合わせを自由に定義できます。
ISAKMPプロファイルの構造は、「デフォルト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

■ 特定のトンネルインターフェースで使用するカスタムISAKMPプロファイルを固定的に設定したいときは、次のようにpolicyパラメーターにトンネルインターフェース名を指定します。この場合、該当トンネルインターフェースを使用するすべてのISAKMP通信において、指定したカスタムISAKMPプロファイルが使われます。
awplus(config)# crypto isakmp peer policy tunnel0 profile myprof

crypto isakmp peerコマンドでカスタムISAKMPプロファイルを指定していない対向装置との間ではデフォルトISAKMPプロファイルが使われます。

カスタムIPsecプロファイル

カスタムIPsecプロファイルは、crypto ipsec profileコマンドで命名・作成し、同コマンド実行後の移行先であるIPsecプロファイルモードで具体的な内容を定義します。

カスタムIPsecプロファイルでは、本製品がサポートしている範囲内で、下記パラメーターの組み合わせを自由に定義できます。
IPsecプロファイルの構造は、「デフォルトIPsecプロファイル」の表をご覧いただくとイメージしやすいでしょう。

Note
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プロファイルが使われます。

その他

IPsec DPD

IPsec DPDは、IPsecの対向側の接続断を検知する機能です。
本製品では、DPD要求パケットを定期的に対向側に送信するキープアライブ方式を使用しています。
対向側は、DPD要求パケットに応答することで自身が動作していることを証明します。

IKEv1とIKEv2ではSAを削除するまでの動作が次のように異なります。

IKEv1

IKEv1の場合、最後に成功した(応答があった)DPD要求から dpd-timeout秒後にSAが削除されます。

初期設定(dpd-interval 30、dpd-timeout 150)の場合のシーケンスを次に示します。


IKEv2

IKEv2の場合、最後に成功した(応答があった)DPD要求から dpd-interval + 166 秒後にSAが削除されます。

DPD要求に失敗した場合(応答がなかった場合)、4秒後にIKE再送要求(IKE retransmit request)が動作し、5回リトライします。
リトライするたびに送信間隔が徐々に大きくなります。

初期設定(dpd-interval 30)の場合のシーケンスを次に示します。


設定と状態の確認

■ 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) 2015 - 2025 アライドテレシスホールディングス株式会社

PN: 613-002107 Rev.BF