Junos OS を実行するデバイスでの VPN の設定
このセクションでは、以下のIKE認証方法を使用したJunos OSデバイス上のIPsec VPNの設定例について説明します。
Junos OS を実行するデバイスでの VPN の設定の概要
このセクションでは、以下のIKE認証方法を使用したJunos OSデバイス上のIPsec VPNの設定例について説明します。
図 1 は、このセクションで説明したすべての例で使用される VPN トポロジーを示しています。ここでは、H0 と H1 はホスト PC、R0、R2 は IPsec VPN トンネルの 2 つのエンドポイントであり、R1 は 2 つの異なるネットワーク間でトラフィックをルーティングするルーターです。
ルーターR1は、Linuxベースのルーター、ジュニパーネットワークスのデバイス、またはその他のベンダーのルーターのいずれかです。

表 1 は、サポートされている IKE プロトコル、トンネル モード、フェーズ 1 ネゴシエーション モード、認証方法またはアルゴリズム、暗号化アルゴリズム、IKE 認証および暗号化(フェーズ 1、IKE プロポーザル)、IPsec 認証および暗号化(フェーズ 2、IPsec プロポーザル)に対応した DH グループの完全なリストを示しています。TOEは、デフォルトではトンネルモードでのみ動作します。IPSec に個別の設定は必要ありません。
IKEプロトコル |
トンネル モード |
フェーズ1ネゴシエーションモード |
フェーズ1プロポーザル(P1、IKE) |
|||
---|---|---|---|---|---|---|
認証方法 |
認証アルゴリズム |
DH グループ |
暗号化アルゴリズム |
|||
IKEv1 |
メイン |
ルート |
事前共有キー |
sha-256 |
グループ14 |
3des-cbc |
IKEv2 |
rsa-signatures-2048 |
sha-384 |
グループ19 |
aes-128-cbc |
||
ecdsa-signatures-256 |
group20 |
aes-128-gcm |
||||
ecdsa-signatures-384 |
group24 |
aes-192-cbc |
||||
aes-256-cbc |
||||||
aes-256-gcm |
||||||
IKEプロトコル |
トンネル モード |
フェーズ1ネゴシエーションモード |
フェーズ2プロポーザル(P2、IPsec) |
|||
---|---|---|---|---|---|---|
認証アルゴリズム |
DH グループ(PFS) |
暗号化方法 |
暗号化アルゴリズム |
|||
IKEv1 |
メイン |
ルート |
hmac-sha256-128 |
グループ14 |
特に |
aes-128-cbc |
IKEv2 |
|
グループ19 |
aes-128-gcm |
|||
group20 |
aes-192-cbc |
|||||
group24 |
aes-192-gcm |
|||||
aes-256-cbc |
||||||
aes-256-gcm |
||||||
以下のセクションでは、選択したアルゴリズムに対する IKEv1 IPsec VPN の設定例を示します。認証および暗号化アルゴリズムを構成に置き換えて、ユーザーが望む設定を行うことができます。IKEv2 IPsec VPN で コマンドを使用 set security ike gateway <gw-name> version v2-only
します。
IKE認証用のRSA署名を使用したIPsec VPNの設定
このセクションでは、IKE認証方法を使用したRSAシグネチャを使用して、IPsec VPN向けJunos OSを実行するデバイスを設定します。証明書を検証するために、TOE はサブジェクト、発行者、サブジェクトの公開鍵、署名、 基本制約 、有効期間の各フィールドを抽出します。フィールドが存在しない場合、検証は失敗します。発行者が PKI データベースで検索されます。発行者が存在しない場合、または発行者証明書に basicConstraints セクションに CA:true フラグがない場合、検証は失敗します。TOEが署名の有効性を検証します。署名が無効な場合、検証は失敗します。次に、CRL(RFC 5280 セクション 6.3 で指定)を使用して失効チェックを実行するように TOE が構成されている場合、現在の日付と時刻が証明書で指定された有効期間内であることを確認します。CRL のダウンロードが失敗した場合、ダウンロード失敗時に CRL チェックをスキップするオプションが有効になっていない限り、証明書は検証に失敗したと見なされます。IKE または IPsec 認証または暗号化で使用されるアルゴリズムを 表 3 に示します。
IKEプロトコル |
トンネル モード |
フェーズ1ネゴシエーションモード |
フェーズ1プロポーザル(P1、IKE) |
|||
---|---|---|---|---|---|---|
認証方法 |
認証アルゴリズム |
DH グループ |
暗号化アルゴリズム |
|||
IKEv1 |
メイン |
ルート |
rsa-signatures-2048 |
sha-256 |
グループ19 |
aes-128-cbc |
IKEプロトコル |
トンネル モード |
フェーズ1ネゴシエーションモード |
フェーズ2プロポーザル(P2、IPsec) |
|||
---|---|---|---|---|---|---|
認証アルゴリズム |
DH グループ(PFS) |
暗号化方法 |
暗号化アルゴリズム |
|||
IKEv1 |
メイン |
ルート |
hmac-sha-256-128 |
グループ19 |
特に |
aes-128-cbc |
イニシエーターまたはレスポンダーでのIKE認証としてRSA署名を使用したIPsec VPNの設定
イニシエーターでRSA署名IKE認証を使用してIPsec VPNを設定するには、
-
PKI を設定します。 例: PKI の設定を参照してください。
-
RSA 鍵ペアを生成します。 例: 公開鍵と秘密鍵のペアの生成を参照してください。
-
CA 証明書を生成して読み込みます。 例: CA およびローカル証明書の手動読み込みを参照してください。
-
CRL を読み込みます。例 : デバイスへの CRL の手動読み込みを 参照してください。
-
ローカル証明書を生成して読み込みます。 例: CA およびローカル証明書の手動読み込みを参照してください。
-
IKEプロポーザルを設定します。
[edit security ike] user@host# set proposal ike-proposal1 authentication-method rsa-signatures user@host# set proposal ike-proposal1 dh-group group19 user@host# set proposal ike-proposal1 authentication-algorithm sha-256 user@host# set proposal ike-proposal1 encryption-algorithm aes-128-cbc
メモ:これは、
ike-proposal1
認証済み管理者が指定した名前です。 -
IKEポリシーを設定します。
[edit security ike] user@host# set policy ike-policy1 mode main user@host# set policy ike-policy1 proposals ike-proposal1 user@host# set policy ike-policy1 certificate local-certificate cert1
メモ:ここで、
ike-policy1
承認された管理者から指定されたIKEポリシー名です。 -
IPsecプロポーザルを設定します。
[edit security ipsec] user@host# set proposal ipsec-proposal1 protocol esp user@host# set proposal ipsec-proposal1 authentication-algorithm hmac-sha-256-128 user@host# set proposal ipsec-proposal1 encryption-algorithm aes-128-cbc
メモ:これは、
ipsec-proposal1
認証済み管理者が指定した名前です。 -
IPsecポリシーを設定します。
[edit security ipsec] user@host# set policy ipsec-policy1 perfect-forward-secrecy keys group19 user@host# set policy ipsec-policy1 proposals ipsec-proposal1
メモ:これは、
ipsec-policy1
認証済み管理者が指定した名前です。 -
IKEを設定します。
[edit security ike] user@host# set gateway gw1 ike-policy ike-policy1 user@host# set gateway gw1 address 192.0.2.8 user@host# set gateway gw1 local-identity inet 192.0.2.5 user@host# set gateway gw1 external-interface fe-0/0/1
メモ:これはピア
192.0.2.8
VPNエンドポイントIPであり、192.0.2.5
ローカルVPNエンドポイントIPでありfe-0/0/1
、VPNエンドポイントとしてのローカルアウトバウンドインターフェイスです。IKEv2 には以下の設定も必要です。[edit security ike] user@host# set gateway gw1 version v2-only
-
VPNを設定します。
[edit security ipsec] user@host# set vpn vpn1 ike gateway gw1 user@host# set vpn vpn1 ike ipsec-policy ipsec-policy1 user@host# set vpn vpn1 bind-interface st0.0
メモ:これは、
vpn1
認証済み管理者が指定したVPNトンネル名です。[edit] user@host# set routing-options static route 192.0.2.10/24 qualified-next-hop st0.0 preference 1
-
アウトバウンド・フロー・ポリシーを設定します。
[edit security policies] user@host# set from-zone trustZone to-zone untrustZone policy policy1 match source-address trustLan user@host# set from-zone trustZone to-zone untrustZone policy policy1 match destination-address untrustLan user@host# set from-zone trustZone to-zone untrustZone policy policy1 match application any user@host# set from-zone trustZone to-zone untrustZone policy policy1 then permit user@host# set from-zone trustZone to-zone untrustZone policy policy1 then log session-init user@host# set from-zone trustZone to-zone untrustZone policy policy1 then log session-close
メモ:には、
trustZone
untrustZone
セキュリティゾーンが事前に設定されており、trustLan
untrustLan
ネットワークアドレスが事前に設定されています。 -
インバウンド フロー ポリシーを設定します。
[edit security policies] user@host# set from-zone untrustZone to-zone trustZone policy policy1 match source-address untrustLan user@host# set from-zone untrustZone to-zone trustZone policy policy1 match destination-address trustLan user@host# set from-zone untrustZone to-zone trustZone policy policy1 match application any user@host# set from-zone untrustZone to-zone trustZone policy policy1 then permit user@host# set from-zone untrustZone to-zone trustZone policy policy1 then log session-init user@host# set from-zone untrustZone to-zone trustZone policy policy1 then log session-close
メモ:には、
trustZone
untrustZone
セキュリティ ゾーンが事前に設定されており、trustLan
untrustLan
ネットワーク アドレスが事前に構成されています。 -
設定をコミットします。
[edit] user@host# commit
IKE認証用のECDSAシグネチャを使用したIPsec VPNの設定
このセクションでは、IKE認証方法を使用したECDSAシグネチャを使用して、IPsec VPN向けJunos OSを実行するデバイスを設定します。証明書を検証するために、TOE はサブジェクト、発行者、サブジェクトの公開鍵、署名、 基本制約 、有効期間の各フィールドを抽出します。フィールドが存在しない場合、検証は失敗します。発行者が PKI データベースで検索されます。発行者が存在しない場合、または発行者証明書に basicConstraints セクションに CA:true フラグがない場合、検証は失敗します。TOEが署名の有効性を検証します。署名が無効な場合、検証は失敗します。次に、TOE が CRL(RFC 5280 セクション 6.3 で指定)を使用して失効チェックを実行するように構成されている場合、現在の日付と時刻が証明書で指定された有効期限内であることを確認します。CRL のダウンロードが失敗した場合、ダウンロード失敗時に CRL チェックをスキップするオプションが有効になっていない限り、証明書は検証に失敗したと見なされます。IKEまたはIPsec認証または暗号化で使用されるアルゴリズムを 表4に示します。
IKEプロトコル |
トンネル モード |
フェーズ1ネゴシエーションモード |
フェーズ1プロポーザル(P1、IKE) |
|||
---|---|---|---|---|---|---|
認証方法 |
認証アルゴリズム |
DH グループ |
暗号化アルゴリズム |
|||
IKEv1 |
メイン |
ルート |
ecdsa-signatures-256 |
sha-384 |
グループ14 |
aes-256-cbc |
IKEプロトコル |
トンネル モード |
フェーズ1ネゴシエーションモード |
フェーズ2プロポーザル(P2、IPsec) |
|||
---|---|---|---|---|---|---|
認証アルゴリズム |
DH グループ(PFS) |
暗号化方法 |
暗号化アルゴリズム |
|||
IKEv1 |
メイン |
ルート |
アルゴリズムなし |
グループ14 |
特に |
aes-256-gcm |
イニシエーターでの ECDSA 署名 IKE 認証による IPsec VPN の設定
イニシエーターで ECDSA 署名 IKE 認証を使用して IPsec VPN を設定するには、
-
PKI を設定します。 例: PKI の設定を参照してください。
-
RSA 鍵ペアを生成します。 例: 公開鍵と秘密鍵のペアの生成を参照してください。
-
CA 証明書を生成して読み込みます。 例: CA およびローカル証明書の手動読み込みを参照してください。
-
CRL を読み込みます。例 : デバイスへの CRL の手動読み込みを 参照してください。
-
ローカル証明書を生成して読み込みます。 例: CA およびローカル証明書の手動読み込みを参照してください。
-
IKEプロポーザルを設定します。
[edit security ike] user@host# set proposal ike-proposal1 authentication-method ecdsa-signatures-256 user@host# set proposal ike-proposal1 dh-group group14 user@host# set proposal ike-proposal1 authentication-algorithm sha-384 user@host# set proposal ike-proposal1 encryption-algorithm aes-256-cbc
メモ:これは、
ike-proposal1
承認された管理者が指定したIKEプロポーザル名です。 -
IKEポリシーを設定します。
[edit security ike] user@host# set policy ike-policy1 mode main user@host# set policy ike-policy1 proposals ike-proposal1 user@host# set policy ike-policy1 certificate local-certificate cert1
-
IPsecプロポーザルを設定します。
[edit security ipsec] user@host# set proposal ipsec-proposal1 protocol esp user@host# set proposal ipsec-proposal1 encryption-algorithm aes-256-gcm
メモ:これは、
ipsec-proposal1
承認された管理者が指定したIPsecプロポーザル名です。 -
IPsecポリシーを設定します。
[edit security ipsec] user@host# set policy ipsec-policy1 perfect-forward-secrecy keys group14 user@host# set policy ipsec-policy1 proposals ipsec-proposal1
メモ:これは、IPsecポリシー名で、
ipsec-policy1
ipsec-proposal1
承認された管理者が指定したIPsecプロポーザル名です。 -
IKEを設定します。
[edit security ike] user@host# set gateway gw1 ike-policy ike-policy1 user@host# set gateway gw1 address 192.0.2.8 user@host# set gateway gw1 local-identity inet 192.0.2.5 user@host# set gateway gw1 external-interface ge-0/0/2
メモ:これはIKE
gw1
ゲートウェイ名で、192.0.2.8
ピアVPNエンドポイントIPであり、192.0.2.5
ローカルVPNエンドポイントIPでありge-0/0/2
、VPNエンドポイントとしてのローカルアウトバウンドインターフェイスです。IKEv2 には以下の設定も必要です。[edit security ike] user@host# set gateway gw1 version v2-only
-
VPN を設定します。
[edit] user@host# set security ipsec vpn vpn1 ike gateway gw1 user@host# set security ipsec vpn vpn1 ike ipsec-policy ipsec-policy1 user@host# set security ipsec vpn vpn1 bind-interface st0.0 user@host# set routing-options static route 192.0.2.10/24 qualified-next-hop st0.0 preference 1
メモ:これは、
vpn1
認証済み管理者が指定したVPNトンネル名です。 -
アウトバウンド・フロー・ポリシーを設定します。
[edit security policies] user@host# set from-zone trustZone to-zone untrustZone policy policy1 match source-address trustLan user@host# set from-zone trustZone to-zone untrustZone policy policy1 match destination-address untrustLan user@host# set from-zone trustZone to-zone untrustZone policy policy1 match application any user@host# set from-zone trustZone to-zone untrustZone policy policy1 then permit user@host# set from-zone trustZone to-zone untrustZone policy policy1 then log session-init user@host# set from-zone trustZone to-zone untrustZone policy policy1 then log session-close
メモ:には、
trustZone
untrustZone
セキュリティ ゾーンが事前に設定されており、trustLan
untrustLan
ネットワーク アドレスが事前に構成されています。 -
インバウンド フロー ポリシーを設定します。
[edit security policies] user@host# set from-zone untrustZone to-zone trustZone policy policy1 match source-address untrustLan user@host# set from-zone untrustZone to-zone trustZone policy policy1 match destination-address trustLan user@host# set from-zone untrustZone to-zone trustZone policy policy1 match application any user@host# set from-zone untrustZone to-zone trustZone policy policy1 then permit user@host# set from-zone untrustZone to-zone trustZone policy policy1 then log session-init user@host# set from-zone untrustZone to-zone trustZone policy policy1 then log session-close
メモ:には、
trustZone
untrustZone
セキュリティ ゾーンが事前に設定されており、trustLan
untrustLan
ネットワーク アドレスが事前に構成されています。 -
設定をコミットします。
user@host# commit
レスポンダーでの ECDSA 署名 IKE 認証による IPsec VPN の設定
レスポンダーで ECDSA 署名 IKE 認証を使用して IPsec VPN を設定するには、
-
PKI を設定します。 例: PKI の設定を参照してください。
-
ECDSA キー ペアを生成します。 例: 公開鍵と秘密鍵のペアの生成を参照してください。
-
CA 証明書を生成して読み込みます。 例: CA およびローカル証明書の手動読み込みを参照してください。
-
CRL を読み込みます。例 : デバイスへの CRL の手動読み込みを 参照してください。
-
IKEプロポーザルを設定します。
[edit security ike] user@host# set proposal ike-proposal1 authentication-method ecdsa-signatures-256 user@host# set proposal ike-proposal1 dh-group group14 user@host# set proposal ike-proposal1 authentication-algorithm sha-384 user@host# set proposal ike-proposal1 encryption-algorithm aes-256-cbc
メモ:これは、
ike-proposal1
承認された管理者が指定したIKEプロポーザル名です。 -
IKEポリシーを設定します。
[edit security ike] user@host# set policy ike-policy1 mode main user@host# set policy ike-policy1 proposals ike-proposal1 user@host# set policy ike-policy1 certificate local-certificate cert1
-
IPsecプロポーザルを設定します。
[edit security ipsec] user@host# set proposal ipsec-proposal1 protocol esp user@host# set proposal ipsec-proposal1 encryption-algorithm aes-256-gcm
メモ:これは、
ipsec-proposal1
承認された管理者が指定したIPsecプロポーザル名です。 -
IPsecポリシーを設定します。
[edit security ipsec] user@host# set policy ipsec-policy1 perfect-forward-secrecy keys group14 user@host# set policy ipsec-policy1 proposals ipsec-proposal1
メモ:これは、IPsecポリシー名で、
ipsec-policy1
ipsec-proposal1
承認された管理者が指定したIPsecプロポーザル名です。 -
IKEを設定します。
[edit security ike] user@host# set gateway gw1 ike-policy ike-policy1 user@host# set gateway gw1 address 192.0.2.5 user@host# set gateway gw1 local-identity inet 192.0.2.8 user@host# set gateway gw1 external-interface ge-0/0/1
メモ:これはIKE
gw1
ゲートウェイ名で、192.0.2.5
ピアVPNエンドポイントIPであり、192.0.2.8
ローカルVPNエンドポイントIPでありge-0/0/1
、VPNエンドポイントとしてのローカルアウトバウンドインターフェイスです。IKEv2 には以下の設定も必要です。[edit security ike] user@host# set gateway gw1 version v2-only
-
VPN を設定します。
[edit] user@host# set security ipsec vpn vpn1 ike gateway gw1 user@host# set security ipsec vpn vpn1 ike ipsec-policy ipsec-policy1 user@host# set security ipsec vpn vpn1 bind-interface st0.0 user@host# set routing-options static route 192.0.2.1/24 qualified-next-hop st0.0 preference 1
メモ:これは、
vpn1
認証済み管理者が指定したVPNトンネル名です。 -
アウトバウンド・フロー・ポリシーを設定します。
[edit security policies] user@host# set from-zone trustZone to-zone untrustZone policy policy1 match source-address trustLan user@host# set from-zone trustZone to-zone untrustZone policy policy1 match destination-address untrustLan user@host# set from-zone trustZone to-zone untrustZone policy policy1 match application any user@host# set from-zone trustZone to-zone untrustZone policy policy1 then permit user@host# set from-zone trustZone to-zone untrustZone policy policy1 then log session-init user@host# set from-zone trustZone to-zone untrustZone policy policy1 then log session-close
メモ:には、
trustZone
untrustZone
セキュリティ ゾーンが事前に設定されており、trustLan
untrustLan
ネットワーク アドレスが事前に構成されています。 -
インバウンド フロー ポリシーを設定します。
[edit security policies] user@host# set from-zone untrustZone to-zone trustZone policy policy1 match source-address untrustLan user@host# set from-zone untrustZone to-zone trustZone policy policy1 match destination-address trustLan user@host# set from-zone untrustZone to-zone trustZone policy policy1 match application any user@host# set from-zone untrustZone to-zone trustZone policy policy1 then permit user@host# set from-zone untrustZone to-zone trustZone policy policy1 then log session-init user@host# set from-zone untrustZone to-zone trustZone policy policy1 then log session-close
メモ:には、
trustZone
untrustZone
セキュリティ ゾーンが事前に設定されており、trustLan
untrustLan
ネットワーク アドレスが事前に構成されています。 -
設定をコミットします。
user@host# commit
デフォルトでは、ピアから受信したIKE IDは、IKEゲートウェイに設定されたIPアドレスで検証されます。特定のネットワーク設定では、ピアから受信したIKE ID(IKE IDはIPv4またはIPv6アドレス、電子メールID、完全修飾ドメイン名(FQDN)、識別名など)が、デバイスに設定されたIKEゲートウェイと一致しません。これにより、フェーズ1の検証エラーが発生する可能性があります。
IKE IDを設定するには、次の手順を実行します。- 設定されたセキュリティikeゲートウェイゲートウェイ名階層レベルでリモートIDステートメントを設定し、ピアから受信したIKE IDと一致させます。IKE ID値には、IPv4アドレスまたはIPv6アドレス、電子メールID、FQDN、または識別名を指定できます。
- ピアデバイスで、IKE IDがデバイスに設定されたリモートIDと同じであることを確認します。ピアデバイスがJunos OSデバイスの場合は、設定されたセキュリティikeゲートウェイゲートウェイ名階層レベルでローカルIDステートメントを設定します。IKE ID値には、IPv4アドレスまたはIPv6アドレス、電子メールID、FQDN、または識別名を指定できます。