# 2.30. IKEの設定

IKE（Internet Key Exchange）は、鍵交換プロトコルのことで、IPsec通信を行う通信相手（ピア）との鍵を自動的に生成するために使用します。UNIVERGE IX-R/IX-V シリーズでは、通信相手のアドレスが不定の場合についてもサポートしております。

IKEにはIKEv1とIKEv2があり、本章ではIKEv1についてを記載いたします。IKEv2についてはIKEv2の章を参照してください。

IKEv1（RFC2409）には、Phase1としてMainモードとAggressiveモード、Phase2としてQuickモードが定義されており、UNIVERGE IX-R/IX-V シリーズでサポートされております。この他、New Groupモードが定義されていますが、UNIVERGE IX-R/IX-V シリーズではサポートしておりません。

また、NATトラバーサル機能に対応しています。こちらの詳細はIPsecの章を参照してください。

図 2.30.1 構成

AggressiveモードとMainモードとの違いは次のとおりです。

- Mainモード

  安全な通信が確立されるまでIDを暗号化して保護します。事前共有鍵は通信相手ごとに選択する必要がありますが、相手を識別するための情報がIPアドレスしか利用できないため、IPアドレスが動的に変化する環境では使用できません。

- Aggressive

  IDを暗号化せずに開示することで、受信側はどの事前共有鍵を使用するかをアドレスではなくID情報から判断することができます。これにより、動的アドレス環境やアドレス変換の場合にもIKEのネゴシエーションを行うことができます。またMainモードと比較してPhase1の一部のステップが省略されるため、IKEのネゴシエーションが高速化されます。

注釈

UNIVERGE IXシリーズのコンフィグを流用する場合、IX互換モードを設定することで
UNIVERGE IXシリーズと同じ入力形式やデフォルト値で反映することができます。
詳細は、IX互換モードを参照ください。

## 2.30.1. IKEの基本設定

Phase1では、IKEプロトコル自身を暗号化するための前準備を行います。Phase2では、鍵を生成するための情報を実際に交換します。

Phase1およびPhase2で使用できるID情報は以下のとおりです。

- Phase1

  下記のIDが選択可能です。

  項目 | 説明
  --- | ---
  ID_IPV4_ADDR, ID_IPV6_ADDR | IPv4/IPv6ソースアドレス
  ID_KEY_ID | 任意文字列
  ID_FQDN | ドメイン名
  ID_USER_FQDN | ユーザー名付きドメイン名

注釈

DNSリゾルバを利用してドメイン名を自動設定することはできません。

- Phase2

  デフォルトとしてipsec autokey-mapコマンドで指定したプロトコル種別の全範囲(ipv4の場合は ID_IPV4_ADDR_SUBNET 0.0.0.0/0, ipv6の場合は ID_IPV6_ADDR_SUBNET ::/0)がIDとして使用される以外に、コマンドで下記のIDを設定できます。

  項目 | 説明
  --- | ---
  ID_IPV4_ADDR, ID_IPV6_ADDR | IPv4/IPv6アドレス
  ID_IPV4_ADDR_SUBNET | IPv4ネットワークアドレス
  ID_IPV6_ADDR_SUBNET | IPv6ネットワークアドレス

  IKEを設定する際に使用される用語について説明します。

  項目 | 説明
  --- | ---
  ポリシー | 鍵交換を実行するか否かを決定するもの
  プロポーザル | 鍵交換を実行する場合の手段やアルゴリズムなどを決定するもの
  pre-sharedキー（事前共有鍵） | InitiatorとResponderが互いに共有する事前鍵 （pre-sharedキーを使用することで、接続相手の確認を行うことができます。）
  DHグループ | Diffie-Hellman計算式の分母に相当する値のビット長

### 2.30.1.1. IKEポリシー

IKEポリシーは、どの通信相手とどのプロポーザルでIKE処理するか等を決定するもので、以下の設定項目があります。

- IKE通信相手のアドレス

- 事前共有鍵の設定

- モード選択

- IDの選択

- IKEプロポーザルの選択

IKEポリシーの設定は、以下のコマンドを使用します。

> 項目 | 説明
> --- | ---
> ike policy | IKEポリシーの設定
> ike local-id | IKEの自側ID（IKE Phase 1）の設定
> ike remote-id | IKEの相手側ID（IKE Phase 1）の設定
> ipsec local-id | IPsecの自側ID（IKE Phase 2）の設定
> ipsec remote-id | IPsecの相手側ID（IKE Phase 2）の設定
> show ike policy | IKEポリシーの確認
> show ike sa | IKE SA状態の確認

### 2.30.1.2. IKEプロポーザルおよびクイック設定

IKEプロポーザルは、IKEで使用する暗号/認証アルゴリズム、自動鍵の有効期限、DHグループ値等を決定します。

IKEプロポーザルの設定は、次のコマンドを使用します。

> 項目 | 説明
> --- | ---
> ike proposal | プロポーザルの設定
> show ike proposal | プロポーザルの確認

IKEポリシー入力時、IKEプロポーザル名の設定を省略した場合、自動的に以下のプロポーザルが使用されます。

> 項目 | 説明
> --- | ---
> 暗号アルゴリズム | AES-CBC-256
> 認証アルゴリズム | SHA2-512
> 認証手段 | pre-shared
> PFS | DHグループ：3072-bit (DH group 15)
> 鍵の有効期限 | 28800秒

> リスト 2.30.1 構成例

>     IKEの設定
>     暗号アルゴリズム     3des
>     認証アルゴリズム     sha1
>     認証手段             pre-shared(default)
>     PFS                 DHグループ：3072 bit(default)

> リスト 2.30.2 設定例

>     ike proposal ikeprop encryption 3des hash sha
>     ike policy policy1 peer 10.2.2.2 key xxxxxxxx ikeprop

### 2.30.1.3. アルゴリズム

UNIVERGE IX-R/IX-V シリーズのIKEでは、以下のアルゴリズムをサポートしています。

> 項目 | 説明
> --- | ---
> 暗号アルゴリズム | Triple DES-CBC AES-CBC 128bit AES-CBC 192bit AES-CBC 256bit
> 認証アルゴリズム | HMAC-SHA1-96 HMAC-SHA2-256 HMAC-SHA2-384 HMAC-SHA2-512
> DHグループ | 768-bit (DH group 1) 1024-bit (DH group 2) 1536-bit (DH group 5) 2048-bit (DH group 14) 3072-bit (DH group 15)

### 2.30.1.4. 宛先のFQDN指定

宛先をFQDNで指定することが可能です。指定したFQDNの名前解決を行い対応したアドレスを宛先として使用します。宛先のFQDN指定を利用することにより、不定アドレス同士での接続が可能となります。詳細はDNSの項を参照してください。

名前解決の契機、アドレス更新時の動作、未解決時の動作は以下のとおりです。

> 項目 | 説明
> --- | ---
> 名前解決の契機 | 定期的な更新 すべてのSAが削除された場合
> アドレス更新時の動作 | 該当するSAを削除
> 名前未解決時の動作 | SA作成不可

設定例は以下のとおりです。

> リスト 2.30.3 設定例

>     宛先をhost1.example.comで指定

>     ike proposal ike-prop encryption aes hash sha
>     !
>     ike policy ike-policy peer-fqdn-ipv4 host1.example.com key secret ike-policy
>     ike keepalive ike-policy 10 3
>     !
>     ipsec autokey-proposal sec-prop esp-aes esp-sha
>     !
>     ipsec autokey-map sec-map ipv4 peer-fqdn-ipv4 host1.example.com sec-prop
>     !
>     interface Tunnel0.0
>       tunnel mode ipsec
>       ip address 10.0.0.1/30
>       ipsec policy tunnel sec-map
>       no shutdown

## 2.30.2. 対向装置の監視

UNIVERGE IX-R/IX-V シリーズでは、対向装置の監視の機能として、以下の２つの機能があります。

- IKEキープアライブ

- ネットワークモニタを利用した監視

### 2.30.2.1. IKEキープアライブ機能

IKEキープアライブ機能は相手の生存を常に監視する機能です。

IPsecリモートアクセスの場合など、一方のアドレスが動的に変化する環境の場合には、相手の存在を常に監視しておく必要があります。

この機能を使用しない場合、たとえばセンタ側ルータがリブートしたときに、センタ側ルータは自身のリブートをアドレス不定の拠点側ルータに通知する手段がありません。このため拠点側ルータのSAは削除されず、センタ側ルータと拠点側ルータの状態がずれてしまい、IPsecによる通信が停止してしまいます。

UNIVERGE IX-R/IX-V シリーズのIKEキープアライブ機能はRFC3706に基づく仕様です。UNIVERGE IX-R/IX-V シリーズ・UNIVERGE IX2000/IX3000シリーズでの接続確認のみ行っております。

設定・確認コマンドは次のとおりです。

> 項目 | 説明
> --- | ---
> ike keepalive | IKEキープアライブの設定
> show ike keepalive | IKEキープアライブ設定の表示

UNIVERGE IX-R/IX-V シリーズのIKEキープアライブ機能は、片方向のみキープアライブを行う、パッシブモードの動作が可能です。

- パッシブモード動作

  IKEキープアライブを使用しない設定でも、自身がIKEキープアライブをサポートしていることを表明します。このため、対向装置にIKEキープアライブを行う設定がされている場合、対向装置のIKEキープアライブは動作します。UNIVERGE IX-R/IX-V シリーズは、対向装置から受信したkeepaliveに対してkeepalive-ackを返します。

### 2.30.2.2. ネットワークモニタ機能を利用した相手装置監視

前項のキープアライブ機能をサポートしていない装置と対向している場合には、ネットワークモニタ機能を利用することにより、同様な監視を行うことが可能となります。

ネットワークモニタ機能では、ICMP echoを送信し、ICMP echo replyを受信することにより、相手装置の生存確認を行います。相手装置との通信が不可になった場合には、SAの削除を行います。

ネットワークモニタ機能については、ネットワークモニタの項を参照してください。

- watchグループコンフィグモード

  項目 | 説明
  --- | ---
  action ipsec clear-sa | 監視異常時のSAの削除

  リスト 2.30.4 設定例

      相手装置（192.168.0.2）の監視を行い、障害発生時にSAの削除を行う
      （IKE／IPsecの設定は省略します）

      watch-group ipsec-keepalive 10
        event 10 ip unreach-host 192.168.0.2 Tunnel0.0
        action 10 ipsec clear-sa Tunnel0.0
      !
      network-monitor ipsec-keepalive enable

## 2.30.3. commit-bit対応

IKEフェーズ1においてcommit-bitを使用することにより、InitiatorとResponderのSA状態不一致が発生する可能性を低下させることができます。

本機能はAggressiveモードのResponderにおいて設定する場合のみ有効です。Mainモードの場合もしくはInitiatorでの動作についてはサポートしていません。

以下にcommit-bitの動作を説明します。

Aggressiveモード使用時の通常のシーケンスは、次のようになります。

図 2.30.2 Aggressiveモード使用時のシーケンス

このシーケンスにおいて、（3）をResponderが受信できなかった場合、ResponderではSAが作成されませんが、InitiatorではResponderが（3）を受信しなかったことの確認を行う手段がないため、SAは作成されたままとなり、InitiatorとResponderでSAの状態の不一致が発生します。

このようなSA状態不一致の発生する可能性を低下させるために、commit-bitを使用します。commit-bitを使用した場合のシーケンスは次のようになります。

図 2.30.3 commit-bitを使用した場合のシーケンス

commit-bitを使用した場合、Responderはcommit-bit使用フラグを設定し（2）を送信します。そして、（3）を受信後にSAを作成し、（4）を送信します。

Initiatorは、commit-bitを使用する場合には、（4）を受信後、SAの作成を行います。また（4）を受信できない場合、（3）を再送信します。

これによりInitiatorでは（3）の応答確認後、SAの作成を行うことができるので、Responderで（3）を受信できなかった場合でもSAの状態不一致の発生を防ぐことができます。

設定コマンドは次のとおりです。

> 項目 | 説明
> --- | ---
> ike commit-bit | commit-bit使用の設定
> ike retransmit-count | IKEパケットの再送回数の設定
> ike retransmit-interval | IKEパケットの再送間隔の設定

commit-bitの設定はResponderでのみ行います。

Initiatorで設定した場合、設定は無視されます。

> リスト 2.30.5 設定例

>     ike commit-bit ike_policy1

commit-bitを使用した場合でもSAの状態不一致を完全に防ぐことはできません。たとえば、以下の場合にはSAの状態不一致が発生します。

（4）をInitiatorが受信できなかった場合、ResponderではInitiatorが（4）を受信したことを知る手段がないためResponderにはSAがあり、InitiatorにはSAがない状態となり、状態不一致が発生します。

この状態の場合、Initiatorは指定回数再送を行いますが、ResponderはSA作成済みなので（4）の再送は行いません。したがって、そのまま再送回数が終了しますので、SA状態の不一致が発生します。

このような場合の状態不一致を解消するために、再送回数が終了した場合に自動で再接続を行います（IKE自動再接続機能）。

以下の状態になると、再接続機能は停止します。

- CLIによるSA削除

- DELETEメッセージ受信によるSA削除

- 当該ピアとの別Phase1接続完了

設定はありませんので、自動で再接続を行います。

図 2.30.4 再接続のシーケンス

## 2.30.4. Dangling SA型/Continuous-channel SA型

SAの管理方式には、IKE SAとIPsec SAを独立に管理する、Dangling SA型と、IKE SAとIPsec SAが連動するContinuous-channel SA型があります。 UNIVERGE IX-R/IX-V シリーズでは、Dangling SA型で動作しています。

Dangling SA型の場合には、オペレーションミス等により、一方のIKE SA、IPsec SAともに削除され、もう一方のIPsec SAのみが残る状態となる場合が考えられます。 動的アドレス環境で使用する場合、Initiator側のIPsec SAのみが残った状態となると、IPsec SAのライフタイムが満了するか、IPsec SAを削除しなければ、通信はできない状態となります。

図 2.30.5 IPsec SAの有無が不一致になる場合のシーケンス

Continuous-channel SA型では、IKE SAとIPsec SAが連動するため、IKE SAが削除されるとIPsec SAが削除されます。したがって、上記のように、動的アドレス環境において、InitiatorのIPsec SAのみが残り、通信不可となる状態に陥ることを回避することができます。

図 2.30.6 IKE SAの削除に連動してIPsec SAが削除される場合のシーケンス

Continuous-channel SA型の設定コマンドは次のとおりです。

項目 | 説明
--- | ---
ike suppress-dangling | Dangling SAの抑止設定

リスト 2.30.6 設定例

    ike policy policy1 peer 192.168.0.2 key KEY
    ike suppress-dangling policy1

## 2.30.5. リキー設定

SAのライフタイム満了時に、新たにSAの再生成を行います（リキー）。IKE SAは、デフォルトではライフタイム満了の30秒前に、リキーを行います。

リキー開始タイミングの変更ができます。

設定は次のとおりです。

> 項目 | 説明
> --- | ---
> ike rekey remaining-lifetime | IKE SAリキータイミングの設定

> リスト 2.30.7 設定例：全ポリシーのリキーを300秒前に行う。

>     ike rekey remaining-lifetime default second 300

> リスト 2.30.8 設定例：特定ポリシー（policy1）のリキーを300秒前に行う。

>     ike policy policy1 peer 192.168.0.2 key KEY
>     ike rekey remaining-lifetime policy policy1 second 300

## 2.30.6. DELETE送信抑止設定

SA削除時のDELETEメッセージの送信を抑止することができます。

設定は次のとおりです。

> 項目 | 説明
> --- | ---
> no ike send-delete | DELETE送信抑止の設定

> リスト 2.30.9 設定例

>     SA削除時のDELETEメッセージの送信を抑止する。

>     no ike send-delete