証明書を使用したポリシーベースの IPsec VPN を構成する
この例では、PKI を構成、確認、およびトラブルシューティングする方法を示します。このトピックは、以下のセクションで構成されています。
要件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
Junos OS リリース 9.4 以降
ジュニパーネットワークスのセキュリティデバイス
開始する前に、以下を実行します。
SRXシリーズファイアウォールの内部LANインターフェイスがゾーン信頼でge-0/0/0であり、プライベートIPサブネットがあることを確認します。
デバイスのインターネット インターフェイスがゾーン信頼でない ge-0/0/3 であり、パブリック IP があることを確認します。
ローカルLANとリモートLAN間のすべてのトラフィックが許可され、どちらの側からでもトラフィックを開始できることを確認します。
SSG5 が正しく事前構成されており、すぐに使用できるローカル証明書、CA 証明書、および CRL がロードされていることを確認します。
SSG5デバイスが、ssg5.example.net のFQDN(IKE ID)を使用するように設定されていることを確認します。
1024 ビット鍵を持つ PKI 証明書が、両側の IKE ネゴシエーションに使用されていることを確認します。
CA が、両方の VPN ピアのドメイン example.com のスタンドアロン CA であることを確認します。
概要
図 1 は、ポリシーベースのIPsec VPNを設定して、本社とリモートオフィスの間でデータを安全に転送できるようにするために、この例で使用するネットワークトポロジーを示しています。
PKI の管理は、ポリシーベース VPN とルートベース VPN の両方で同じです。
この例では、VPNトラフィックはインターフェイスge-0/0/0.0でネクストホップ10.1.1.1で受信しています。したがって、トラフィックはインターフェイスge-0/0/3.0で発信されます。トンネル ポリシーでは、着信インターフェイスと発信インターフェイスを考慮する必要があります。
オプションで、OSPF などのダイナミック ルーティング プロトコルを使用できます(このドキュメントには記載されていません)。新しいセッションの最初のパケットを処理する場合、Junos OSを実行しているデバイスはまずルート検索を実行します。デフォルトルートでもある静的ルートは、発信VPNトラフィックのゾーンを決定します。
多くの CA は、ホスト名(FQDN など)を使用して PKI のさまざまな要素を指定します。CDP は通常、FQDN を含む URL を使用して指定されるため、Junos OS を実行しているデバイスで DNS リゾルバーを設定する必要があります。
証明書要求は、次の方法で生成できます。
CA 設定を指定するための CA プロファイルの作成
PKCS10 証明書要求の生成
PKCS10 証明書要求プロセスでは、公開キーまたは秘密キーのペアを生成し、そのキー ペアを使用して証明書要求自体を生成します。
CA プロファイルに関する次の情報をメモします。
CA プロファイルは、認証局の属性を定義します。
各 CA プロファイルは、CA 証明書に関連付けられています。古い CA 証明書を削除せずに、新規または更新された CA 証明書をロードする必要がある場合は、新しいプロファイルを作成する必要があります。このプロファイルは、CRL のオンライン・フェッチにも使用できます。
異なるユーザー用に作成されたシステムに複数のそのようなプロファイルが存在する可能性があります。
証明書要求の送信先に CA 管理者の電子メール アドレスを指定すると、システムは証明書要求ファイルから電子メールを作成し、指定された電子メール アドレスに転送します。電子メールの状態通知が管理者に送信されます。
証明書の要求は、帯域外方式を使用して CA に送信できます。
PKCS10 証明書要求を生成するには、次のオプションを使用できます。
certificate-id
— ローカル・デジタル証明書および公開鍵と秘密鍵のペアの名前。これにより、適切なキーペアが証明書要求に使用され、最終的にはローカル証明書に使用されるようになります。Junos OS Release 19.1R1以降、コミットチェックが追加され、ユーザーがローカルまたはリモートの証明書またはキーペアを生成する際に、証明書識別子に
.
、/
、%
、スペースを追加できないようになっています。subject
— 共通名、部門、会社名、都道府県、国を含む識別名形式:CN — 共通名
OU — 部署
O — 会社名
L — 地域
ST — 状態
C — 国
CN — 電話
DC — ドメイン コンポーネント
すべてのサブジェクト名のコンポーネントを入力する必要はありません。また、各タイプの複数の値を入力できることにも注意してください。
domain-name
— FQDN。FQDN は、IKE ネゴシエーションの証明書所有者の ID を提供し、サブジェクト名の代替名を提供します。filename (path | terminal)
— (オプション) 証明書要求を配置する場所、またはログイン端末。ip-address
— (オプション)デバイスのIPアドレス。email
— (オプション)CA 管理者の電子メール アドレス。ドメイン名、IP アドレス、または電子メール アドレスを使用する必要があります。
生成された証明書要求は、指定されたファイルの場所に格納されます。証明書要求のローカル コピーは、ローカル証明書ストレージに保存されます。管理者がこのコマンドを再発行すると、証明書要求が再度生成されます。
PKCS10 証明書要求は、指定されたファイルと場所に保存され、そこからダウンロードして登録のために CA に送信できます。ファイル名または場所を指定していない場合は、CLI の show security pki certificate-request certificate-id <id-name>
コマンドを使用して PKCS10 証明書要求の詳細を取得できます。コマンド出力をコピーして、CA サーバーの Web フロント エンドまたは電子メールに貼り付けることができます。
PKCS10 証明書要求が生成され、保留中の証明書または証明書要求としてシステムに保管されます。CA の管理者(この例では certadmin@example.com)に電子メール通知が送信されます。
証明書 ID と呼ばれる一意の ID を使用して、生成されたキーペアに名前を付けます。この ID は、証明書の登録コマンドと要求コマンドで、適切なキー ペアを取得するためにも使用されます。生成されたキー ペアは、証明書 ID と同じ名前のファイル内の証明書ストアに保存されます。ファイル サイズは 1024 ビットまたは 2048 ビットです。
既定の (フォールバック) プロファイルは、中間 CA がデバイスにプレインストールされていない場合は作成できます。デフォルトのプロファイル値は、特別に設定された CA プロファイルがない場合に使用されます。
CDP の場合は、次の順序に従います。
CA プロファイルごと
CA 証明書に埋め込まれた CDP
デフォルトの CA プロファイル
既定のプロファイルではなく、特定の CA プロファイルを使用することをお勧めします。
管理者が証明書要求を CA に送信します。CA 管理者は証明書要求を確認し、デバイスの新しい証明書を生成します。ジュニパーネットワークスのデバイスの管理者が、CA 証明書と CRL とともにこのデバイスを取得します。
CA 証明書、デバイスの新しいローカル証明書、および CA からの CRL を取得するプロセスは、CA の構成と使用しているソフトウェア ベンダーによって異なります。
Junos OSは、次のCAベンダーをサポートしています。
預ける
ベリサイン
Microsoft
OpenSSL などの他の CA ソフトウェア サービスを使用して証明書を生成することもできますが、これらの証明書は Junos OS によって検証されません。
設定
PKI の基本設定
ステップバイステップでの手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、Junos OS CLI ユーザー ガイドの設定モードにおけるCLIエディターの使用を参照してください。
PKI を構成するには、次の手順を実行します。
ギガビットイーサネットインターフェイスにIPアドレスとプロトコルファミリーを設定します。
[edit interfaces] user@host# set ge-0/0/0 unit 0 family inet address 192.168.10.1/24 user@host# set ge-0/0/3 unit 0 family inet address 10.1.1.2/30
インターネットネクストホップへのデフォルトルートを設定します。
[edit] user@host# set routing-options static route 0.0.0.0/0 next-hop 10.1.1.1
システムの時刻と日付を設定します。
[edit] user@host# set system time-zone PST8PDT
コンフィギュレーションがコミットされたら、
show system uptime
コマンドを使用してクロック設定を確認します。user@host> show system uptime Current time: 2007-11-01 17:57:09 PDT System booted: 2007-11-01 14:36:38 PDT (03:20:31 ago) Protocols started: 2007-11-01 14:37:30 PDT (03:19:39 ago) Last configured: 2007-11-01 17:52:32 PDT (00:04:37 ago) by root 5:57PM up 3:21, 4 users, load averages: 0.00, 0.00, 0.00
NTP サーバ アドレスを設定します。
user@host> set date ntp 130.126.24.24 1 Nov 17:52:52 ntpdate[5204]: step time server 172.16.24.24 offset -0.220645 sec
DNS 構成を設定します。
[edit] user@host# set system name-server 172.31.2.1 user@host# set system name-server 172.31.2.2
CA プロファイルの設定
ステップバイステップでの手順
-
信頼できる CA プロファイルを作成します。
[edit] user@host# set security pki ca-profile ms-ca ca-identity example.com
-
失効チェックを作成して、証明書の失効を確認する方法を指定します。
更新間隔を時間単位で設定し、CRL を更新する頻度を指定します。既定値は、CRL での次の更新時刻、または次の更新時刻が指定されていない場合は 1 週間です。
[edit] user@host# set security pki ca-profile ms-ca revocation-check crl refresh-interval 48
revocation-check
設定ステートメントでは、disable
オプションを使用して失効チェックを無効にするか、crl
オプションを選択してCRL属性を設定できます。CA プロファイルの CRL ダウンロードが失敗した場合に、CA プロファイルに一致するセッションを許可するdisable on-download-failure
オプションを選択できます。セッションは、同じ CA プロファイルに古い CRL が存在しない場合にのみ許可されます。 -
CRL (HTTP または LDAP) を取得する場所 (URL) を指定します。デフォルトでは、URL は空で、CA 証明書に埋め込まれた CDP 情報を使用します。
[edit] user@host# set security pki ca-profile ms-ca revocation-check crl url http://srv1.example.com/CertEnroll/EXAMPLE.crl
現在、構成できる URL は 1 つだけです。バックアップ URL 構成のサポートは利用できません。
-
証明書の要求を CA 管理者に直接送信する電子メール アドレスを指定します。
user@host# set security pki ca-profile ms-ca administrator email-address certadmin@example.com
-
設定をコミットします。
user@host# commit and-quit
commit complete
Exiting configuration mode
公開鍵と秘密鍵のペアの生成
ステップバイステップでの手順
CA プロファイルが設定されたら、次のステップは、Juniper Networks デバイス上でキーペアを生成することです。秘密キーと公開キーのペアを生成するには:
証明書キーペアを作成します。
user@host> request security pki generate-key-pair certificate-id ms-cert size 1024
結果
公開鍵と秘密鍵のペアが生成されると、ジュニパーネットワークスのデバイスには次のように表示されます。
Generated key pair ms-cert, key size 1024 bits
ローカル証明書の登録
ステップバイステップでの手順
-
ローカル・デジタル証明書要求を PKCS-10 形式で生成します。セキュリティ要求 pki 生成証明書要求を参照してください。
user@host> request security pki generate-certificate-request certificate-id ms-cert subject "CN=john doe,CN=10.1.1.2,OU=sales,O=example, L=Sunnyvale,ST=CA,C=US" email user@example.net filename ms-cert-req Generated certificate request -----BEGIN CERTIFICATE REQUEST----- MIIB3DCCAUUCAQAwbDERMA8GA1UEAxMIam9obiBkb2UxDjAMBgNVBAsTBXNhbGVz MRkwFwYDVQQKExBKdW5pcGVyIE5ldHdvcmtzMRIwEAYDVQQHEwlTdW5ueXZhbGUx CzAJBgNVBAgTAkNBMQswCQYDVQQGEwJVUzCBnzANBgkqhkiG9w0BAQEFAAOBjQAw gYkCgYEA5EG6sgG/CTFzX6KC/hz6Czal0BxakUxfGxF7UWYWHaWFFYLqo6vXNO8r OS5Yak7rWANAsMob3E2X/1adlQIRi4QFTjkBqGI+MTEDGnqFsJBqrB6oyqGtdcSU u0qUivMvgKQVCx8hpx99J3EBTurfWL1pCNlBmZggNogb6MbwES0CAwEAAaAwMC4G CSqGSIb3DQEJDjEhMB8wHQYDVR0RBBYwFIESInVzZXJAanVuaXBlci5uZXQiMA0G CSqGSIb3DQEBBQUAA4GBAI6GhBaCsXk6/1lE2e5AakFFDhY7oqzHhgd1yMjiSUMV djmf9JbDz2gM2UKpI+yKgtUjyCK/lV2ui57hpZMvnhAW4AmgwkOJg6mpR5rsxdLr 4/HHSHuEGOF17RHO6x0YwJ+KE1rYDRWj3Dtz447ynaLxcDF7buwd4IrMcRJJI9ws -----END CERTIFICATE REQUEST----- Fingerprint: 47:b0:e1:4c:be:52:f7:90:c1:56:13:4e:35:52:d8:8a:50:06:e6:c8 (sha1) a9:a1:cd:f3:0d:06:21:f5:31:b0:6b:a8:65:1b:a9:87 (md5)
PKCS10 証明書のサンプルでは、要求は BEGIN CERTIFICATE REQUEST 行で始まり、START CERTIFICATE REQUEST 行で終わり、END CERTIFICATE REQUEST 行を含みます。この部分は、登録のために CA にコピーして貼り付けることができます。必要に応じて、ms-cert-req ファイルをオフロードして CA に送信することもできます。
-
証明書要求を CA に送信し、証明書を取得します。
CA 証明書とローカル証明書の読み込み
ステップバイステップでの手順
ローカル証明書、CA 証明書、および CRL を読み込みます。
user@host> file copy ftp://192.168.10.10/certnew.cer certnew.cer /var/tmp//...transferring.file.........crYdEC/100% of 1459 B 5864 kBps user@host> file copy ftp:// 192.168.10.10/CA-certnew.cer CA-certnew.cer /var/tmp//...transferring.file.........UKXUWu/100% of 1049 B 3607 kBps user@host> file copy ftp:// 192.168.10.10/certcrl.crl certcrl.crl /var/tmp//...transferring.file.........wpqnpA/100% of 401 B 1611 kBps
すべてのファイルがアップロードされたことを確認するには、コマンド
file list
を使用します。指定した外部ファイルからローカル ストレージに証明書を読み込みます。
また、秘密キーまたは公開キーのペアとの適切なリンケージを維持するために、証明書 ID を指定する必要があります。この手順では、証明書を PKI モジュールの RAM キャッシュ ストレージに読み込み、関連付けられた秘密キーを確認し、署名操作を検証します。
user@host> request security pki local-certificate load certificate-id ms-cert filename certnew.cer Local certificate loaded successfully
指定された外部ファイルから CA 証明書を読み込みます。
CA 証明書を設定されたプロファイルに関連付けるには、CA プロファイルを指定する必要があります。
user@host> request security pki ca-certificate load ca-profile ms-ca filename CA-certnew.cer Fingerprint: 1b:02:cc:cb:0f:d3:14:39:51:aa:0f:ff:52:d3:38:94:b7:11:86:30 (sha1) 90:60:53:c0:74:99:f5:da:53:d0:a0:f3:b0:23:ca:a3 (md5) Do you want to load this CA certificate ? [yes,no] (no) yes CA certificate for profile ms-ca loaded successfully
CRL をローカル ストレージに読み込みます。
CRL の最大サイズは 5 MB です。コマンドで、関連する CA プロファイルを指定する必要があります。
user@host> request security pki crl load ca-profile ms-ca filename certcrl.crl CRL for CA profile ms-ca loaded successfully
結果
すべてのローカル証明書が読み込まれていることを確認します。
user@host> show security pki local-certificate certificate-id ms-cert detail Certificate identifier: ms-cert Certificate version: 3 Serial number: 3a01c5a0000000000011 Issuer: Organization: Example, Organizational unit: example, Country: US, State: CA, Locality: Sunnyvale, Common name: LAB Subject: Organization: Example, Organizational unit: example, Country: US, State: CA, Locality: Sunnyvale, Common name: john doe Alternate subject: "user@example.net", fqdn empty, ip empty Validity: Not before: 11- 2-2007 22:54 Not after: 11- 2-2008 23:04 Public key algorithm: rsaEncryption(1024 bits) 30:81:89:02:81:81:00:e4:41:ba:b2:01:bf:09:31:73:5f:a2:82:fe 1c:fa:0b:36:a5:d0:1c:5a:91:4c:5f:1b:11:7b:51:66:16:1d:a5:85 15:82:ea:a3:ab:d7:34:ef:2b:39:2e:58:6a:4e:eb:58:03:40:b0:ca 1b:dc:4d:97:ff:56:9d:95:02:11:8b:84:05:4e:39:01:a8:62:3e:31 31:03:1a:7a:85:b0:90:6a:ac:1e:a8:ca:a1:ad:75:c4:94:bb:4a:94 8a:f3:2f:80:a4:15:0b:1f:21:a7:1f:7d:27:71:01:4e:ea:df:58:bd 69:08:d9:41:99:98:20:36:88:1b:e8:c6:f0:11:2d:02:03:01:00:01 Signature algorithm: sha1WithRSAEncryption Distribution CRL: ldap:///CN=LAB,CN=LABSRV1,CN=CDP,CN=Public%20Key%20Services,CN=Services, CN=Configuration,DC=domain,DC=com?certificateRevocationList?base? objectclass=cRLDistributionPoint http://labsrv1.domain.com/CertEnroll/LAB.crl Fingerprint: c9:6d:3d:3e:c9:3f:57:3c:92:e0:c4:31:fc:1c:93:61:b4:b1:2d:58 (sha1) 50:5d:16:89:c9:d3:ab:5a:f2:04:8b:94:5d:5f:65:bd (md5)
コマンド ラインで certificate-ID を指定すると、個々の証明書の詳細を表示できます。
すべての CA 証明書、または個々の CA プロファイル(指定された)の CA 証明書を確認します。
user@host> show security pki ca-certificate ca-profile ms-ca detail Certificate identifier: ms-ca Certificate version: 3 Serial number: 44b033d1e5e158b44597d143bbfa8a13 Issuer: Organization: Example, Organizational unit: example, Country: US, State: CA, Locality: Sunnyvale, Common name: example Subject: Organization: Example, Organizational unit: example, Country: US, State: CA, Locality: Sunnyvale, Common name: example Validity: Not before: 09-25-2007 20:32 Not after: 09-25-2012 20:41 Public key algorithm: rsaEncryption(1024 bits) 30:81:89:02:81:81:00:d1:9e:6f:f4:49:c8:13:74:c3:0b:49:a0:56 11:90:df:3c:af:56:29:58:94:40:74:2b:f8:3c:61:09:4e:1a:33:d0 8d:53:34:a4:ec:5b:e6:81:f5:a5:1d:69:cd:ea:32:1e:b3:f7:41:8e 7b:ab:9c:ee:19:9f:d2:46:42:b4:87:27:49:85:45:d9:72:f4:ae:72 27:b7:b3:be:f2:a7:4c:af:7a:8d:3e:f7:5b:35:cf:72:a5:e7:96:8e 30:e1:ba:03:4e:a2:1a:f2:1f:8c:ec:e0:14:77:4e:6a:e1:3b:d9:03 ad:de:db:55:6f:b8:6a:0e:36:81:e3:e9:3b:e5:c9:02:03:01:00:01 Signature algorithm: sha1WithRSAEncryption Distribution CRL: ldap:///CN=LAB,CN=LABSRV1,CN=CDP,CN=Public%20Key%20Services,CN=Services, CN=Configuration,DC=domain,DC=com?certificateRevocationList?base? objectclass=cRLDistributionPoint http://srv1.domain.com/CertEnroll/LAB.crl Use for key: CRL signing, Certificate signing, Non repudiation Fingerprint: 1b:02:cc:cb:0f:d3:14:39:51:aa:0f:ff:52:d3:38:94:b7:11:86:30 (sha1) 90:60:53:c0:74:99:f5:da:53:d0:a0:f3:b0:23:ca:a3 (md5)
読み込まれたすべての CRL または、指定した個々の CA プロファイルの CRL を確認します。
user@host> show security pki crl ca-profile ms-ca detail CA profile: ms-ca CRL version: V00000001 CRL issuer: emailAddress = certadmin@example.net, C = US, ST = CA, L = Sunnyvale, O = Example, OU = example, CN = example Effective date: 10-30-2007 20:32 Next update: 11- 7-2007 08:52
ローカル証明書と CA 証明書の証明書パスを確認します。
user@host> request security pki local-certificate verify certificate-id ms-cert Local certificate ms-cert verification success user@host> request security pki ca-certificate verify ca-profile ms-ca CA certificate ms-ca verified successfully
証明書を使用したIPsec VPNの設定
ステップバイステップでの手順
証明書を使用してIPsec VPNを構成するには、に示すネットワーク図を参照してください。 図 1
セキュリティ ゾーンを設定し、インターフェイスをゾーンに割り当てます。
この例では、パケットは
ge-0/0/0
で受信され、イングレス ゾーンは trust ゾーンです。[edit security zones security-zone] user@host# set trust interfaces ge-0/0/0.0 user@host# set untrust interfaces ge-0/0/3.0
ゾーンごとにホストインバウンドサービスを設定します。
ホストインバウンドサービスは、ジュニパーネットワークスのデバイスを宛先とするトラフィック用です。これらの設定には、FTP、HTTP、HTTPS、IKE、PING、RLOGIN、RSH、SNMP、SSH、Telnet、TFTP、traceroute が含まれますが、これらに限定されません。
[edit security zones security-zone] user@host# set trust host-inbound-traffic system-services all user@host# set untrust host-inbound-traffic system-services ike
各ゾーンのアドレス帳エントリを構成します。
[edit security zones security-zone] user@host# set trust address-book address local-net 192.168.10.0/24 user@host# set untrust address-book address remote-net 192.168.168.0/24
RSA 暗号化を使用するように IKE(フェーズ 1)プロポーザルを設定します。
[edit security ike proposal rsa-prop1] user@host# set authentication-method rsa-signatures user@host# set encryption-algorithm 3des-cbc user@host# set authentication-algorithm sha1 user@host# set dh-group group2
IKEポリシーを設定します。
フェーズ1の交換は、メインモードまたはアグレッシブモードのいずれかで実行できます。
[edit security ike policy ike-policy1] user@host# set mode main user@host# set proposals rsa-prop1 user@host# set certificate local-certificate ms-cert user@host# set certificate peer-certificate-type x509- signature user@host# set certificate trusted-ca use-all
IKEゲートウェイを構成します。
この例では、ピアは FQDN(ホスト名)によって識別されます。したがって、ゲートウェイIKE IDはリモートピアドメイン名である必要があります。フェーズ 1 のセットアップ中に IKE ゲートウェイを正しく識別するには、正しい外部インターフェイスまたはピア ID を指定する必要があります。
[edit security ike gateway ike-gate] user@host# set external-interface ge-0/0/3.0 user@host# set ike-policy ike-policy1 user@host# set dynamic hostname ssg5.example.net
IPsecポリシーを設定します。
この例では、
esp-group2-3des-sha1
プロポーザルとesp-group2- aes128-sha1
プロポーザルを含む標準プロポーザルセットを使用します。ただし、固有のプロポーザルを作成し、必要に応じてIPsecポリシーで指定することができます。[edit security ipsec policy vpn-policy1] user@host# set proposal-set standard user@host# set perfect-forward-secrecy keys group2
IKEゲートウェイとIPsecポリシーを使用してIPsec VPNを構成します。
この例では、セキュリティアソシエーションを作成するために、トンネルポリシーでike-vpn VPN名を参照する必要があります。さらに、アイドル時間とプロキシ ID がトンネル ポリシーのアドレスと異なる場合は、必要に応じて指定できます。
[edit security ipsec vpn ike-vpn ike] user@host# set gateway ike-gate user@host# set ipsec-policy vpn-policy1
VPNトラフィックの双方向トンネルポリシーを設定します。
この例では、ホスト LAN からリモート オフィス LAN へのトラフィックに、from-zone trust to-zone untrust トンネル ポリシーが必要です。ただし、リモート LAN からホスト LAN へのセッションを開始する必要がある場合は、from-zone untrust からゾーン信頼への反対方向のトンネル ポリシーも必要です。ペアポリシーと反対の方向にポリシーを指定すると、VPNは双方向になります。許可アクションに加えて、使用するIPsecプロファイルも指定する必要があることに注意してください。トンネル ポリシーの場合、アクションは常に許可されることに注意してください。実際、拒否アクションでポリシーを設定している場合、トンネルを指定するオプションは表示されません。
[edit security policies from-zone trust to-zone untrust] user@host# set policy tunnel-policy-out match source-address local-net user@host# set policy tunnel-policy-out match destination-address remote-net user@host# set policy tunnel-policy-out match application any user@host# set policy tunnel-policy-out then permit tunnel ipsec-vpn ike-vpn pair-policy tunnel-policy-in user@host# top edit security policies from-zone untrust to-zone trust user@host# set policy tunnel-policy-in match source-address remote-net user@host# set policy tunnel-policy-in match destination-address local-net user@host# set policy tunnel-policy-in match application any user@host# set policy tunnel-policy-in then permit tunnel ipsec-vpn ike-vpn pair-policy tunnel-policy-out
インターネットトラフィックの送信元NATルールとセキュリティポリシーを設定します。
デバイスは、指定された送信元NATインターフェイスを使用し、送信元IPアドレスとしてエグレスインターフェイスのIPアドレスを使用し、送信元ポートにランダムな上位ポートを使用して、送信トラフィックの送信元IPアドレスとポートを変換します。必要に応じて、特定のトラフィックを許可または拒否するためのより詳細なポリシーを作成できます。
[edit security nat source rule-set nat-out] user@host#set from zone trust user@host#set to zone untrust user@host#set rule interface-nat match source-address 192.168.10.0/24 user@host#set rule interface-nat match destination-address 0.0.0.0/0 user@host#set rule interface-nat then source-nat interface
[edit security policies from-zone trust to-zone untrust] user@host# set policy any-permit match source-address any user@host# set policy any-permit match destination-address any user@host# set policy any-permit match application any user@host# set policy any-permit then permit
トンネル ポリシーを any-permit ポリシーの上に移動します。
[edit security policies from-zone trust to-zone untrust] user@host# insert policy tunnel-policy-out before policy any-permit
ポリシー リストは上から下に読み取られるため、セキュリティ ポリシーは階層内のトンネル ポリシーの下にある必要があります。このポリシーがトンネル ポリシーより上にある場合、トラフィックは常にこのポリシーに一致し、次のポリシーに進みません。したがって、ユーザートラフィックは暗号化されません。
トンネルを経由するTCPトラフィックのtcp-mss設定を構成します。
TCP-MSSは、TCP 3ウェイ ハンドシェイクの一部としてネゴシエートされます。ネットワーク上の MTU 制限に対応するために、TCP セグメントの最大サイズを制限します。IPsecカプセル化のオーバーヘッドとIPおよびフレームのオーバーヘッドにより、物理インターフェイスのMTUを超えるESPパケットが発生し、フラグメント化が発生する可能性があるため、これはVPNトラフィックにとって非常に重要です。フラグメント化は帯域幅とデバイス リソースの使用量を増加させるため、一般的には避ける必要があります。
MTUが1500以上のイーサネットベースのネットワークでは、tcp-mssに使用する推奨値は1350です。パス内にMTUの値が小さいデバイスがある場合や、PPP、フレームリレーなどのオーバーヘッドが追加されている場合は、この値の変更が必要になることがあります。一般的なルールとして、最適なパフォーマンスを得るためには、さまざまなtcp-mss値を試す必要がある場合があります。
user@host# set security flow tcp-mss ipsec-vpn mss mss-value Example: [edit] user@host# set security flow tcp-mss ipsec-vpn mss 1350 user@host# commit and-quit commit complete Exiting configuration mode
検証
設定が正常に機能していることを確認します。
- IKEフェーズ1ステータスの確認
- 個々のセキュリティ アソシエーションの詳細の取得
- IPsecフェーズ2ステータスの確認
- IPsecセキュリティアソシエーションの詳細の表示
- IPsec SA 統計情報の確認
- VPN全体におけるトラフィック フローのテスト
- 接続の確認
IKEフェーズ1ステータスの確認
目的
IKE フェーズ 1 セキュリティ アソシエーションのステータスを確認して、VPN ステータスを確認します。
IPsec トンネルに関連する PKI は、フェーズ 1 の設定中に形成されます。フェーズ 1 の完了は、PKI が成功したことを示します。
アクション
動作モードからshow security ike security-associationsコマンドを入力します。
user@host> show security ike security-associations Index Remote Address State Initiator cookie Responder cookie Mode 2010.2.2.2 UP af4f78bc135e4365 48a35f853ee95d21 Main
意味
出力は、次のことを示しています。
リモートピアは 10.2.2.2で、ステータスは UP で、これはフェーズ 1 確立の正常な関連付けを意味します。
リモートピアIKE ID、IKEポリシー、外部インターフェイスはすべて正しい。
インデックス 20 は、各 IKE セキュリティ アソシエーションの一意の値です。この出力の詳細を使用して、各セキュリティ アソシエーションの詳細を取得できます。「個々のセキュリティ アソシエーションの詳細の取得」を参照してください。
出力が正しくない場合は、次のことを示します。
リモート ピアのステータスは Down です。
IKE セキュリティ アソシエーションはありません。
間違ったモード タイプ(Aggr または Main)、PKI の問題、フェーズ 1 プロポーザル(両方のピアですべて一致する必要がある)などの IKE ポリシー パラメータがあります。詳細については、IKE、PKI、および IPsec の問題のトラブルシューティングを参照してください。
IKE パケットを受信するための外部インターフェイスが無効です。構成で PKI 関連の問題を確認するか、キー管理デーモン (kmd) ログでその他のエラーがないか確認するか、トレース・オプションを実行して不一致を見つけます。詳細については、IKE、PKI、および IPsec の問題のトラブルシューティングを参照してください。
個々のセキュリティ アソシエーションの詳細の取得
目的
個々のIKEの詳細をご覧ください。
アクション
動作モードからshow security ike security-associations index 20 detailコマンドを入力します。
user@host> show security ike security-associations index 20 detail IKE peer 10.2.2.2, Index 20, Role: Responder, State: UP Initiator cookie: af4f78bc135e4365, Responder cookie: 48a35f853ee95d21 Exchange type: Main, Authentication method: RSA-signatures Local: 10.1.1.2:500, Remote: 10.2.2.2:500 Lifetime: Expires in 23282 seconds Algorithms: Authentication : sha1 Encryption : 3des-cbc Pseudo random function: hmac-sha1 Traffic statistics: Input bytes : 10249 Output bytes : 4249 Input packets: 10 Output packets: 9 Flags: Caller notification sent IPsec security associations: 2 created, 1 deleted Phase 2 negotiations in progress: 0
意味
出力には、ロール(イニシエーターまたはレスポンダー)、ステータス、交換タイプ、認証方法、暗号化アルゴリズム、トラフィック統計、フェーズ2ネゴシエーションステータスなど、個々のIKE SAの詳細が表示されます。
出力データを使用すると、次のことができます。
IKE SA の役割を理解します。ピアにレスポンダの役割があると、トラブルシューティングが容易になります。
トラフィック統計情報を取得して、両方向のトラフィック フローを確認します。
作成済みまたは進行中のIPsecセキュリティアソシエーションの数を取得します。
完了したフェーズ 2 ネゴシエーションのステータスを取得します。
IPsecフェーズ2ステータスの確認
目的
IPsec(フェーズ2)セキュリティアソシエーションを表示します。
IKE フェーズ 1 が確認されたら、IPsec(フェーズ 2)セキュリティ アソシエーションを表示します。
アクション
動作モードからshow security ipsec security-associationsコマンドを入力します。
user@host> show security ipsec security-associations total configured sa: 2 ID Gateway Port Algorithm SPI Life:sec/kb Mon vsys <2 10.2.2.2 500 ESP:3des/sha1 bce1c6e0 1676/ unlim - 0 >2 10.2.2.2 500 ESP:3des/sha1 1a24eab9 1676/ unlim - 0
意味
出力は、次のことを示しています。
使用可能な設定済みIPsec SAペアがあります。ポート番号 500 は、標準の IKE ポートが使用されていることを示します。それ以外の場合は、ネットワーク アドレス変換トラバーサル(NAT-T)、4500、またはランダム ハイ ポートです。
SPI(セキュリティ パラメータ インデックス)は、両方向に使用されます。SA の有効期間または使用制限は、秒またはキロバイトで表されます。出力での 1676/ unlim は、フェーズ 2 の有効期間が 1676 秒で終了するように設定されており、有効期間サイズが指定されていないことを示します。
ID番号は、各IPsec SAの一意のインデックス値を示しています。
月曜列のハイフン(
-
)は、このSAに対してVPN監視が有効になっていないことを示します。仮想システム(vsys)はデフォルト値のゼロです。
フェーズ2のライフタイムは、VPNが起動した後はフェーズ1に依存しないため、フェーズ1のライフタイムと異なる場合があります。
IPsecセキュリティアソシエーションの詳細の表示
目的
インデックス番号で識別される個々の IPsec SA の詳細を表示します。
アクション
動作モードからshow security ipsec security-associations index 2 detailコマンドを入力します。
user@host> show security ipsec security-associations index 2 detail Virtual-system: Root Local Gateway: 10.1.1.2, Remote Gateway: 10.2.2.2 Local Identity: ipv4_subnet(any:0,[0..7]=192.168.10.0/24) Remote Identity: ipv4_subnet(any:0,[0..7]=192.168.168.0/24) DF-bit: clear Policy-name: tunnel-policy-out Direction: inbound, SPI: bce1c6e0, AUX-SPI: 0 Hard lifetime: Expires in 1667 seconds Lifesize Remaining: Unlimited Soft lifetime: Expires in 1093 seconds Mode: tunnel, Type: dynamic, State: installed, VPN Monitoring: - Protocol: ESP, Authentication: hmac-sha1-96, Encryption: 3des-cbc Anti-replay service: enabled, Replay window size: 32 Direction: outbound, SPI: 1a24eab9, AUX-SPI: 0 Hard lifetime: Expires in 1667 seconds Lifesize Remaining: Unlimited Soft lifetime: Expires in 1093 seconds Mode: tunnel, Type: dynamic, State: installed, VPN Monitoring: - Protocol: ESP, Authentication: hmac-sha1-96, Encryption: 3des-cbc Anti-replay service: enabled, Replay window size: 32
意味
出力には、ローカル ID とリモート ID が表示されます。
プロキシIDが一致しないと、フェーズ2の完了に失敗する可能性があることに注意してください。プロキシー ID は、トンネル ポリシーから取得されます(ポリシーベース VPN の場合)。ローカルアドレスとリモートアドレスはアドレス帳エントリーから派生し、サービスはポリシー用に設定されたアプリケーションから派生します。
プロキシIDの不一致が原因でフェーズ2が失敗した場合は、ポリシーに設定されているアドレス帳エントリを確認し、正しいアドレスが送信されていることを確認します。また、ポートが一致していることも確認します。サービスを再確認して、リモート サーバーとローカル サーバーでポートが一致していることを確認します。
送信元アドレス、宛先アドレス、またはアプリケーションのトンネル ポリシーで複数のオブジェクトが設定されている場合、そのパラメータの結果プロキシ ID はゼロに変更されます。
たとえば、トンネル ポリシーで次のシナリオを想定します。
192.168.10.0/24 および 10.10.20.0/24 のローカル アドレス
192.168.168.0/24のリモートアドレス
アプリケーション as junos-http
結果のプロキシ ID は、ローカル 0.0.0.0/0、リモート 192.168.168.0/24、サービス 80 です。
結果として得られるプロキシIDは、リモートピアが2番目のサブネット用に設定されていない場合、相互運用性に影響を与える可能性があります。また、サードパーティ ベンダーのアプリケーションを使用している場合は、照合するプロキシ ID を手動で入力する必要があります。
IPsecを完了できない場合は、kmdログを確認するか、 set traceoptions
コマンドを使用します。詳細については、IKE、PKI、および IPsec の問題のトラブルシューティングを参照してください。
IPsec SA 統計情報の確認
目的
IPsec SAの統計情報とエラーを確認します。
トラブルシューティングのために、カプセル化セキュリティ ペイロード/認証ヘッダー(ESP/AH)カウンターに特定の IPsec SA のエラーがないか確認します。
アクション
動作モードからshow security ipsec statistics index 2コマンドを入力します。
user@host> show security ipsec statistics index 2 ESP Statistics: Encrypted bytes: 674784 Decrypted bytes: 309276 Encrypted packets: 7029 Decrypted packets: 7029 AH Statistics: Input bytes: 0 Output bytes: 0 Input packets: 0 Output packets: 0 Errors: AH authentication failures: 0, Replay errors: 0 ESP authentication failures: 0, ESP decryption failures: 0 Bad headers: 0, Bad trailers: 0
意味
出力のエラー値ゼロは、正常な状態を示します。
このコマンドを複数回実行して、VPN全体でパケット損失の問題を確認することをお勧めします。このコマンドからの出力には、暗号化および復号化されたパケット カウンター、エラー カウンターなどの統計情報も表示されます。
エラーが発生している ESP パケットとその理由を調査するには、セキュリティ フロー トレース オプションを有効にする必要があります。詳細については、IKE、PKI、および IPsec の問題のトラブルシューティングを参照してください。
VPN全体におけるトラフィック フローのテスト
目的
フェーズ 1 とフェーズ 2 が正常に完了したら、VPN 全体でトラフィック フローをテストします。ping
コマンドを使用して、トラフィック フローをテストできます。ローカルホストからリモートホストにpingを実行できます。また、ジュニパーネットワークスのデバイス自体からpingを開始することもできます。
この例では、Juniper Networks デバイスからリモート ホストへの ping 要求を開始する方法を示します。なお、ジュニパーネットワークスのデバイスからpingを開始する場合は、送信元インターフェイスを指定して、正しいルート検索が行われ、ポリシー検索で適切なゾーンが参照されるようにする必要があります。
この例では、ge-0/0/0.0インターフェイスはローカルホストと同じセキュリティゾーンに存在し、ポリシー検索をゾーン信頼からゾーン不信頼にできるように、pingリクエストで指定する必要があります。
アクション
動作モードからping 192.168.168.10 interface ge-0/0/0 count 5コマンドを入力します。
user@host> ping 192.168.168.10 interface ge-0/0/0 count 5 PING 192.168.168.10 (192.168.168.10): 56 data bytes 64 bytes from 192.168.168.10: icmp_seq=0 ttl=127 time=8.287 ms 64 bytes from 192.168.168.10: icmp_seq=1 ttl=127 time=4.119 ms 64 bytes from 192.168.168.10: icmp_seq=2 ttl=127 time=5.399 ms 64 bytes from 192.168.168.10: icmp_seq=3 ttl=127 time=4.361 ms 64 bytes from 192.168.168.10: icmp_seq=4 ttl=127 time=5.137 ms --- 192.168.168.10 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 4.119/5.461/8.287/1.490 ms
接続の確認
目的
リモート・ホストとローカル・ホスト間の接続を確認します。
アクション
動作モードからping 192.168.10.10 from ethernet0/6コマンドを入力します。
ssg5-> ping 192.168.10.10 from ethernet0/6 Type escape sequence to abort Sending 5, 100-byte ICMP Echos to 192.168.10.10, timeout is 1 seconds from ethernet0/6 !!!!! Success Rate is 100 percent (5/5), round-trip time min/avg/max=4/4/5 ms
意味
リモート・ホストからローカル・ホストへの ping
コマンドを使用して、エンドツーエンドの接続を確認できます。この例では、コマンドはSSG5デバイスから開始されます。
エンドツーエンド接続の失敗は、ルーティング、ポリシー、エンド ホスト、ESP パケットの暗号化/復号化に問題があることを示している可能性があります。失敗の正確な原因を確認するには:
IPsec SA 統計情報の確認で説明されているように、エラーの詳細についてはIPsec統計を確認してください。
エンド ホストと同じサブネット上のホストから
ping
コマンドを使用して、エンド ホストの接続を確認します。エンド ホストに他のホストから到達可能な場合は、エンド ホストに問題はないと想定できます。ルーティング関連およびポリシー関連の問題のトラブルシューティングのためのセキュリティ フロー トレース オプションを有効にします。
IKE、PKI、および IPsec の問題のトラブルシューティング
IKE、PKI、および IPsec の問題のトラブルシューティングを行います。
- 基本的なトラブルシューティング手順
- デバイスの空きディスク容量を確認する
- ログ ファイルを確認してさまざまなシナリオを確認し、ログ ファイルを FTP にアップロードする
- IKE トレース オプションによる IKE 上のメッセージ表示の有効化
- PKI トレース オプションによる IPsec 上のメッセージ表示の有効化
- 証明書に関する IKE セットアップの問題をトラブルシューティングするための IKE および PKI トレース オプションの設定
- フェーズ 1 成功メッセージの分析
- フェーズ 1 の失敗メッセージの分析(プロポーザルの不一致)
- フェーズ 1 失敗メッセージ(認証失敗)の分析
- フェーズ 1 の失敗メッセージ(タイムアウト エラー)の分析
- フェーズ 2 の失敗メッセージの分析
- フェーズ 2 の失敗メッセージの分析
- IKE および PKI に関連する一般的な問題のトラブルシューティング
基本的なトラブルシューティング手順
問題点
基本的なトラブルシューティング手順は次のとおりです。
問題を特定して切り分ける。
問題をデバッグしています。
トラブルシューティングを開始する一般的なアプローチは、OSI層の最下層を使用し、OSIスタックを上って障害が発生した層を確認することです。
ソリューション
IKE、PKI、および IPsec のトラブルシューティングの基本的な手順は次のとおりです。
物理リンクおよびデータリンクレベルでインターネットリンクの物理接続を確認します。
Juniper Networks デバイスにインターネット ネクスト ホップへの接続とリモート IKE ピアへの接続があることを確認します。
IKEフェーズ1の完了を確認します。
IKE フェーズ 1 が正常に完了した場合は、IKE フェーズ 2 の完了を確認します。
VPN全体のトラフィックフローを確認します(VPNが稼働している場合)。
Junos OS には、トレース オプション機能が含まれています。この機能を使用すると、trace オプション フラグを有効にして、trace オプションからログ ファイルにデータを書き込むことができます。ログ ファイルは事前に準備することも、手動で設定してフラッシュ メモリに保存することもできます。これらのトレース ログは、システムの再起動後も保持できます。トレース・オプションを実装する前に、使用可能なフラッシュ・ストレージを確認してください。
コンフィギュレーション・モードでトレース・オプション機能を有効にし、トレース・オプション機能を使用するようにコンフィギュレーションをコミットすることができます。同様に、トレース オプションを無効にするには、設定モードでトレース オプションを無効にし、設定をコミットする必要があります。
デバイスの空きディスク容量を確認する
問題点
デバイスファイルシステムの空きディスク容量に関する統計を確認します。
ソリューション
動作モードからshow system storageコマンドを入力します。
user@host> show system storage Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 213M 74M 137M 35% / devfs 1.0K 1.0K 0B 100% /dev devfs 1.0K 1.0K 0B 100% /dev/ /dev/md0 180M 180M 0B 100% /junos /cf 213M 74M 137M 35% /junos/cf devfs 1.0K 1.0K 0B 100% /junos/dev/ procfs 4.0K 4.0K 0B 100% /proc /dev/bo0s1e 24M 13K 24M 0% /config /dev/md1 168M 7.6M 147M 5% /mfs /cf/var/jail 213M 74M 137M 35% /jail/var
/dev/ad0s1a
はオンボード フラッシュ メモリを表し、現在の容量は 35% です。
ログ ファイルを確認してさまざまなシナリオを確認し、ログ ファイルを FTP にアップロードする
問題点
ログ ファイルを表示して、セキュリティ IKE デバッグ メッセージ、セキュリティ フロー デバッグ、および syslog へのログ記録の状態を確認します。
ソリューション
動作モードから、 show log kmd、 show log pkid、 show log security-trace、および show log messages コマンドを入力します。
user@host> show log kmd user@host> show log pkid user@host> show log security-trace user@host> show log messages
show log
コマンドを使用して、/var/log ディレクトリー内のすべてのログのリストを表示できます。
ログ ファイルは、 file copy
コマンドを使用して FTP サーバーにアップロードすることもできます。
(operational mode): user@host> file copy path/filename dest-path/filename Example:
user@host> file copy /var/log/kmd ftp://192.168.10.10/kmd.log
ftp://192.168.10.10/kmd.log 100% of 35 kB 12 MBps
IKE トレース オプションによる IKE 上のメッセージ表示の有効化
問題点
IKEまたはIPsecの成功または失敗のメッセージを表示するには、 show log kmd
コマンドを使用してkmdログを表示します。kmdログには一般的なメッセージがいくつか表示されるため、IKEおよびPKIトレースオプションを有効にして詳細を確認すると便利です。
一般的には、レスポンダ ロールを持つピアをトラブルシューティングするのがベスト プラクティスです。失敗の原因を理解するには、イニシエーターとレスポンダーからトレース出力を取得する必要があります。
IKE トレース オプションを設定します。
ソリューション
user@host> configure Entering configuration mode [edit] user@host# edit security ike traceoptions [edit security ike traceoptions]
user@host# set file ? Possible completions: <filename> Name of file in which to write trace information files Maximum number of trace files (2..1000) match Regular expression for lines to be logged no-world-readable Don't allow any user to read the log file size Maximum trace file size (10240..1073741824) world-readable Allow any user to read the log file
[edit security ike traceoptions]
user@host# set flag ? Possible completions: all Trace everything certificates Trace certificate events database Trace security associations database events general Trace general events ike Trace IKE module processing parse Trace configuration processing policy-manager Trace policy manager processing routing-socket Trace routing socket messages timer Trace internal timer events
<ファイル名>フィールドにファイル名を指定しない場合、すべてのIKEトレースオプションがkmdログに書き込まれます。
トレース・データをログに書き込むには、少なくとも 1 つのフラグ・オプションを指定する必要があります。たとえば、以下のように表示されます。
file size
— 各トレース ファイルの最大サイズ(バイト単位)。たとえば、100 万 (1,000,000) の場合、最大ファイル サイズは 1 MB です。files
— 生成してフラッシュ メモリ デバイスに保存するトレース ファイルの最大数。
トレースを開始するには、設定をコミットする必要があります。
PKI トレース オプションによる IPsec 上のメッセージ表示の有効化
問題点
PKI トレース オプションを有効にして、IKE エラーが証明書に関連しているか、PKI 以外の問題に関連しているかを特定します。
ソリューション
[edit security pki traceoptions]
user@host# set file ? Possible completions: <filename> Name of file in which to write trace information files Maximum number of trace files (2..1000) match Regular expression for lines to be logged no-world-readable Don't allow any user to read the log file size Maximum trace file size (10240..1073741824) world-readable Allow any user to read the log file
[edit security pki traceoptions]
user@host# set flag ? Possible completions: all Trace with all flags enabled certificate-verification PKI certificate verification tracing online-crl-check PKI online crl tracing
証明書に関する IKE セットアップの問題をトラブルシューティングするための IKE および PKI トレース オプションの設定
問題点
IKE および PKI トレース オプションの推奨設定を構成します。
IKE トレース オプションと PKI トレース オプションでは同じパラメータが使用されますが、PKI 関連のトレースのデフォルト ファイル名は pkid ログにあります。
ソリューション
user@host> configure Entering configuration mode [edit security ike traceoptions] user@host# set file size 1m user@host# set flag ike user@host# set flag policy-manager user@host# set flag routing-socket user@host# set flag certificates [edit security pki traceoptions] user@host# set file size 1m user@host# set flag all user@host# commit and-quit commit complete Exiting configuration mode
フェーズ 1 成功メッセージの分析
問題点
IKEフェーズ1およびフェーズ2の条件が成功した場合の show log kmd
コマンドの出力を理解します。
ソリューション
Nov 7 11:52:14 Phase-1 [responder] done for local=ipv4(udp:500,[0..3]= 10.1.1.2) remote=fqdn(udp:500,[0..15]=ssg5.example.net) Nov 7 11:52:14 Phase-2 [responder] done for p1_local=ipv4(udp:500,[0..3]=10.1.1.2) p1_remote=fqdn(udp:500,[0..15]=ssg5.example.net) p2_local=ipv4_subnet(any:0,[0..7]=192.168.10.0/24) p2_remote=ipv4_subnet(any:0,[0..7]=192.168.168.0/24)
サンプル出力は、次のことを示しています。
10.1.1.2
- ローカル アドレス。ssg5.example.net
- リモート ピア(FQDN 付きホスト名)。udp: 500
- NAT-T はネゴシエートされませんでした。Phase 1 [responder] done
- フェーズ 1 のステータスとロール(開始側または応答側)。Phase 2 [responder] done
- フェーズ 1 のステータスとプロキシ ID 情報。また、 IKEフェーズ1ステータスの確認に記載されている検証コマンドを使用して、IPsec SAステータスを確認することもできます。
フェーズ 1 の失敗メッセージの分析(プロポーザルの不一致)
問題点
IKEフェーズ1の状態が失敗である show log kmd
コマンドの出力を理解することは、VPNがフェーズ1を確立しない理由を特定するのに役立ちます。
ソリューション
Nov 7 11:52:14 Phase-1 [responder] failed with error(No proposal chosen) for local=unknown(any:0,[0..0]=) remote=fqdn(udp:500,[0..15]=ssg5.example.net) Nov 7 11:52:14 10.1.1.2:500 (Responder) <-> 10.2.2.2:500 { 011359c9 ddef501d - 2216ed2a bfc50f5f [- 1] / 0x00000000 } IP; Error = No proposal chosen (14)
サンプル出力は、次のことを示しています。
10.1.1.2
- ローカル アドレス。ssg5.example.net
- リモート ピア(FQDN 付きホスト名)。udp: 500
- NAT-T はネゴシエートされませんでした。Phase-1 [responder] failed with error (No proposal chosen)
- プロポーザルの不一致によるフェーズ1の失敗。
この問題を解決するには、レスポンダとイニシエーターの両方でIKEゲートウェイフェーズ1プロポーザルのパラメーターが一致していることを確認します。また、VPN のトンネル ポリシーが存在することも確認します。
フェーズ 1 失敗メッセージ(認証失敗)の分析
問題点
IKEフェーズ1の条件が不合格の場合の show log kmd
コマンドの出力を理解します。これは、VPNがフェーズ1を確立しない理由を特定するのに役立ちます。
ソリューション
Nov 7 12:06:36 Unable to find phase-1 policy as remote peer:10.2.2.2 is not recognized. Nov 7 12:06:36 Phase-1 [responder] failed with error(Authentication failed) for local=ipv4(udp:500,[0..3]=10.1.1.2) remote=ipv4(any:0,[0..3]=10.2.2.2) Nov 7 12:06:36 10.1.1.2:500 (Responder) <-> 10.2.2.2:500 { f725ca38 dad47583 - dab1ba4c ae26674b [- 1] / 0x00000000 } IP; Error = Authentication failed (24)
サンプル出力は、次のことを示しています。
10.1.1.2
- ローカル アドレス。10.2.2.2
- リモートピアPhase 1 [responder] failed with error (Authentication failed)
- 有効なゲートウェイ ピアからの着信要求をレスポンダが認識できないため、フェーズ 1 の失敗。PKI 証明書を使用する IKE の場合、このエラーは通常、誤った IKE ID タイプが指定または入力されたことを示します。
この問題を解決するには、以下に基づいて、ローカル ピアで正しいピア IKE ID タイプが指定されていることを確認します。
リモートピア証明書の生成方法
受信したリモートピア証明書のサブジェクト代替名または DN 情報
フェーズ 1 の失敗メッセージ(タイムアウト エラー)の分析
問題点
IKEフェーズ1の条件が不合格の場合の show log kmd
コマンドの出力を理解します。
ソリューション
Nov 7 13:52:39 Phase-1 [responder] failed with error(Timeout) for local=unknown(any:0,[0..0]=) remote=ipv4(any:0,[0..3]=10.2.2.2)
サンプル出力は、次のことを示しています。
10.1.1.2
- ローカルアドレス。10.2.2.2
- リモート ピア。Phase 1 [responder] failed with error(Timeout)
- フェーズ 1 の失敗。このエラーは、IKE パケットがリモート ピアへの途中で失われたか、リモート ピアからの応答が遅れているかないことを示します。
このタイムアウト・エラーは PKI デーモンからの応答を待機した結果であるため、PKI トレース・オプションの出力を検討して、PKI に問題があるかどうかを確認する必要があります。
フェーズ 2 の失敗メッセージの分析
問題点
IKEフェーズ2の条件が不合格の場合の show log kmd
コマンドの出力を理解します。
ソリューション
Nov 7 11:52:14 Phase-1 [responder] done for local=ipv4(udp:500,[0..3]= 10.1.1.2) remote=fqdn(udp:500,[0..15]=ssg5.example.net) Nov 7 11:52:14 Failed to match the peer proxy ids p2_remote=ipv4_subnet(any:0,[0..7]=192.168.168.0/24) p2_local=ipv4_subnet(any:0,[0..7]=10.10.20.0/24) for the remote peer:ipv4(udp:500,[0..3]=10.2.2.2) Nov 7 11:52:14 KMD_PM_P2_POLICY_LOOKUP_FAILURE: Policy lookup for Phase-2 [responder] failed for p1_local=ipv4(udp:500,[0..3]=10.1.1.2) p1_remote=ipv4(udp:500,[0..3]=10.2.2.2) p2_local=ipv4_subnet(any:0,[0..7]=10.10.20.0/24) p2_remote=ipv4_subnet(any:0,[0..7]=192.168.168.0/24) Nov 7 11:52:14 10.1.1.2:500 (Responder) <-> 10.2.2.2:500 { 41f638eb cc22bbfe - 43fd0e85 b4f619d5 [0] / 0xc77fafcf } QM; Error = No proposal chosen (14)
サンプル出力は、次のことを示しています。
10.1.1.2
- ローカル アドレス。ssg5.example.net
- リモートピア(IKE IDタイプ、FQDN付きホスト名)。Phase 1 [responder] done
- フェーズ 1 の成功。Failed to match the peer proxy ids
- 不正なプロキシ ID を受信しました。前のサンプルでは、受信した 2 つのプロキシ ID は 192.168.168.0/24 (リモート) と 10.10.20.0/24 (ローカル) (service=any の場合) です。この例の設定に基づくと、予期されるローカル アドレスは 192.168.10.0/24 です。これは、ローカル ピアの設定の不一致があり、プロキシ ID の一致に失敗していることを示しています。この問題を解決するには、アドレス帳のエントリを修正するか、一方のピアで他方のピアと一致するようにプロキシ ID を設定します。
また、出力には、失敗の理由が
No proposal chosen
であることも示されます。ただし、この場合、メッセージもFailed to match the peer proxy ids
表示されます。
フェーズ 2 の失敗メッセージの分析
問題点
IKEフェーズ2の条件が不合格の場合の show log kmd
コマンドの出力を理解します。
ソリューション
Nov 7 11:52:14 Phase-1 [responder] done for local=ipv4(udp:500,[0..3]= 10.1.1.2) remote=fqdn(udp:500,[0..15]=ssg5.example.net) Nov 7 11:52:14 10.1.1.2:500 (Responder) <-> 10.2.2.2:500 { cd9dff36 4888d398 - 6b0d3933 f0bc8e26 [0] / 0x1747248b } QM; Error = No proposal chosen (14)
サンプル出力は、次のことを示しています。
10.1.1.2
- ローカル アドレス。fqdn(udp:500,[0..15]=ssg5.example.net
- リモート ピア。Phase 1 [responder] done
- フェーズ 1 の成功。Error = No proposal chosen
—フェーズ2ではプロポーザルは選ばれませんでした。この問題は、2 つのピア間のプロポーザルの不一致が原因です。この問題を解決するには、フェーズ 2 のプロポーザルが両方のピアで一致することを確認します。
IKE および PKI に関連する一般的な問題のトラブルシューティング
問題点
IKE および PKI に関連する一般的な問題のトラブルシューティングを行います。
トレース・オプション機能を有効にすると、デバッグの問題に関して、通常のログ・エントリーから得られるよりも多くの情報を収集するのに役立ちます。トレース オプション ログを使用すると、IKE または PKI の失敗の原因を把握できます。
ソリューション
IKE および PKI 関連の問題のトラブルシューティング方法:
時計、日付、タイム ゾーン、および夏時間の設定が正しいことを確認します。NTP を使用して、クロックを正確に保つ。
DN の "C=" (国) フィールドに 2 文字の国コードを使用していることを確認します。
たとえば、以下のように表示されます。「USA」や「米国」ではなく「US」を使用してください。一部の CA では、DN の国フィールドにデータを入力する必要があり、国コードの値は 2 文字の値でのみ入力できます。
ピア証明書が複数の OU=またはCN=フィールドを使用している場合は、コンテナ方式で識別名を使用していることを確認します(シーケンスを維持する必要があり、大文字と小文字が区別されます)。
証明書がまだ有効でない場合は、システム クロックを確認し、必要に応じてシステムのタイム ゾーンを調整するか、簡単なテストのために時計に日を追加します。
一致するIKE IDタイプと値が設定されていることを確認します。
PKI は、失効チェックの失敗が原因で失敗する可能性があります。これを確認するには、失効チェックを一時的に無効にし、IKE フェーズ 1 が完了できるかどうかを確認します。
失効チェックを無効にするには、コンフィギュレーションモードで以下のコマンドを使用します。
set security pki ca-profile <ca-profile> revocation-check disable