IKE を使用してパケットを交換している、または交換を試みている実行中のシステム上で、ikeadm コマンドを使用して統計、ルール、事前共有鍵などの項目を表示できます。ログファイルおよび Wireshark アプリケーションなどの一部のツールを使用することもできます。
次のテストシステムでは、鍵管理に manual-key サービスが使用されています。
% svcs -a | grep ipsec online Feb_04 svc:/network/ipsec/manual-key:default online Feb_04 svc:/network/ipsec/ipsecalgs:default online Feb_04 svc:/network/ipsec/policy:default disabled Feb_28 svc:/network/ipsec/ike:ikev2 disabled Feb_28 svc:/network/ipsec/ike:default
このサービスが無効になっている場合は有効にします。
両方の IKE サービスを同時に使用できます。手動鍵と IKE を同時に使用することもできますが、この構成はトラブルシューティングが困難な不具合を引き起こす場合があります。
# svcs -xL ikev2 svc:/network/ipsec/ike:ikev2 (IKEv2 daemon) State: disabled since October 10, 2013 10:10:40 PM PDT Reason: Disabled by an administrator. See: http://support.oracle.com/msg/SMF-8000-05 See: in.ikev2d(1M) See: /var/svc/log/network-ipsec-ike:ikev2.log Impact: This service is not running. Log: Oct 01 13:20:20: (1) Property "debug_level" set to: "op" Oct 01 13:20:20: (1) Errors and debug messages will be written to: /var/log/ikev2/in.ikev2d.log [ Oct 10 10:10:10 Method "start" exited with status 0. ] [ Oct 10 10:10:40 Stopping because service disabled. ] [ Oct 10 10:10:40 Executing stop method (:kill). ] Use: 'svcs -Lv svc:/network/ipsec/ike:ikev2' to view the complete log.
# ikeadm set debug verbose /var/log/ikev2/in.ikev2d.log Successfully changed debug level from 0x80000000 to 0x6204 Debug categories enabled: Operational / Errors Config file processing Interaction with Audit Verbose Operational
# ipsecconf #INDEX 14 ... { laddr 10.133.66.222 raddr 10.133.64.77 } ipsec { encr_algs aes(256) encr_auth_algs sha512 sa shared } ... { laddr 10.134.66.122 raddr 10.132.55.55 } ipsec { encr_algs aes(256) encr_auth_algs sha512 sa shared } # cat /etc/inet/ipsecinit.conf ... { laddr 10.133.66.222 raddr 10.133.64.77 } ipsec { encr_algs aes(256) encr_auth_algs sha512 sa shared } { laddr 10.134.66.122 raddr 10.132.55.55 } ipsec { encr_algs aes(256) encr_auth_algs sha512 sa shared }
ipsecconf コマンドの出力が表示されない場合は、ポリシーサービスが有効になっていることを確認してサービスをリフレッシュしてください。
% svcs policy STATE STIME FMRI online Apr_10 svc:/network/ipsec/policy:default
出力にエラーが表示される場合は、ipsecinit.conf ファイルを編集してエラーを修正してからサービスをリフレッシュしてください。
修正を必要とする可能性のある構成の出力については、Example 11–1 およびExample 11–2 を参照してください。次の例の出力は、構成が有効であることを示しています。
# /usr/lib/inet/in.ikev2d -c Feb 04 12:08:25: (1) Reading service properties from smf(5) repository. Feb 04 12:08:25: (1) Property "config_file" set to: "/etc/inet/ike/ikev2.config" Feb 04 12:08:25: (1) Property "debug_level" set to: "all" Feb 04 12:08:25: (1) Warning: debug output being written to stdout. Feb 04 12:08:25: (1) Checking IKE rule #1: "Test 104 to 113" Feb 04 12:08:25: (1) Configuration file /etc/inet/ike/ikev2.config is valid. Feb 04 12:08:25: (1) Pre-shared key file /etc/inet/ike/ikev2.preshared is valid.
Checking IKE rule 行で、IKE ルールに適切な IP アドレスが接続していることを確認します。たとえば、次のエントリは一致しています。ipsecinit.conf ファイルの laddr の値が ikev2.config ファイルの local_addr の値と一致し、リモートアドレス同士が一致しています。
{ laddr 10.134.64.104 raddr 10.134.66.113 } /** ipsecinit.conf **/ ipsec {encr_algs aes encr_auth_algs sha512 sa shared} local_addr 10.134.64.104 /** ikev2.config **/ remote_addr 10.134.66.113 /** ikev2.config **/
エントリが対応していない場合は、構成を修正して正しい IP アドレスを識別します。
Pre-shared key file 行にファイルが有効でないことが示されている場合は、ファイルを修正します。
入力ミスを確認します。また、IKEv2 で、ikev2.config 内のルールのラベル値が ikev2.preshared ファイル内のラベル値と一致することを確認します。2 つの鍵を使用している場合は、次に、1 つのシステム上のローカル事前共有鍵がピアのリモート事前共有鍵と一致し、リモート鍵がピアのローカル鍵と一致することを確認します。
構成がまだ機能しない場合は、IPsec および IKE の意味上の誤りのトラブルシューティングを参照してください。
次の出力では、IKE SA のライフタイムが短すぎます。
# /usr/lib/inet/in.ikev2d -c ... May 08 08:52:49: (1) WARNING: Problem in rule "Test 104 to 113" May 08 08:52:49: (1) HARD lifetime too small (60 < 100) May 08 08:52:49: (1) -> Using 100 seconds (minimum) May 08 08:52:49: (1) Checking IKE rule #1: "config 10.134.13.113 to 10.134.13.104" ...
この値は ikev2.config ファイルに明示的に設定されています。警告を解除するには、ライフタイムの値を少なくとも 100 に変更してサービスをリフレッシュします。
# pfedit /etc/inet/ike/ikev2.config ... ## childsa_lifetime_secs 60 childsa_lifetime_secs 100 ... # /usr/lib/inet/in.ikev2d -c ... # svcadm refresh ikev2使用例 11-2 一致しないルールメッセージの修正
次の出力では、事前共有鍵は定義されていますがルールに使用されていません。
# /usr/lib/inet/in.ikev2d -c Feb 4 12:58:31: (1) Reading service properties from smf(5) repository. Feb 4 12:58:31: (1) Property "config_file" set to: "/etc/inet/ike/ikev2.config" Feb 4 12:58:31: (1) Property "debug_level" set to: "op" Feb 4 12:58:31: (1) Warning: debug output being written to stdout. Feb 4 12:58:31: (1) Checking IKE rule #1: "Test 104 to 113" Feb 4 12:58:31: (1) Configuration file /etc/inet/ike/ikev2.config is valid. Feb 4 12:58:31: (1) No matching IKEv2 rule for pre-shared key ending on line 12 Feb 4 12:58:31: (1) Pre-shared key file /etc/inet/ike/ikev2.preshared is valid.
この出力は、ルールが 1 つだけ存在することを示しています。
ルールが事前共有鍵を必要とする場合、事前共有鍵のラベルがルールのラベルと一致しません。ikev2.config ルールのラベルと ikev2.preshared 鍵のラベルが一致するように修正します。
ルールで証明書が使用されている場合は、ikev2.preshared ファイルの 12 行目で終わる事前共有鍵を削除するかコメントを解除すると No matching メッセージを回避できます。
次の出力では、ikev2 サービスのデバッグ出力が all に設定されています。
# /usr/lib/inet/in.ikev2d -c Feb 4 12:58:31: (1) Reading service properties from smf(5) repository. ... Feb 4 12:58:31: (1) Property "debug_level" set to: "all" ...
IPsec と IKE を実行する前にシステムをトラブルシューティングする方法 の Step 2 を実行してもデバッグ出力が all ではなく op の場合は、ikeadm コマンドを使用して、実行中の IKE デーモンのデバッグレベルを設定してください。
# ikeadm set debug_level all