在 Oracle® Solaris 11.2 中确保网络安全

退出打印视图

更新时间: 2014 年 9 月
 
 

对 IPsec 和 IKE 语义错误进行故障排除

    如果在如何在 IPsec 运行时对系统进行故障排除 中开展的调查无法解决问题,那么问题很可能出在配置的语义而非文件或服务配置的语法上。

  • 如果 ike:defaultike:ikev2 服务实例已启用,请确保 IKEv2 和 IKEv1 规则不重叠。应用于相同网络端点的规则会导致冗余 IPsec SA,并且有可能在特定情况下造成连接不足。

    如果更改 IKE 规则,请将规则读取到内核。

    # ikeadm -v[1|2] read rule
  • 如果运行 IKEv1,请确保规则中的算法机制在您连接到的 IKEv1 系统上可用。要查看可用的算法,请在不支持 IKEv2 的系统上运行 ikeadm dump algorithms 命令:

    # ikeadm dump groupsAvailable Diffie-Hellman groups
    # ikeadm dump encralgsAll IKE encryption algorithms
    # ikeadm dump authalgsAll IKE authentication algorithms

    纠正 IPsec 和 IKEv1 策略文件,使用在两个系统上均可用的算法。然后,重新启动 IKEv1 服务,并刷新 IPsec 服务。

    # svcadm restart ike:default; svcadm refresh ipsec/policy
  • 如果通过 IKEv1 使用预先共享的密钥并且远程 IKEv1 系统已重新引导,请在本地系统上运行 ipseckey flush 命令。

  • 如果使用自签名证书,请与另一位管理员一起验证并未重新创建 DN 相同的证书,而且证书的散列值匹配。有关验证步骤,请参见如何使用自签名公钥证书配置 IKEv2 中的Step 4

    如果证书已更新,请导入新的证书,然后刷新并重新启动 IKEv2 服务。

  • 使用 ikeadm -v2 dump | get 命令查看当前的 IKEv2 配置。有关使用摘要,请参见查看 IKE 信息

  • 使用 kstat 命令显示与 IPsec 相关的统计信息。有关更多信息,请参见 kstat(1M) 手册页。

    # kstat -m ipsecesp
    # kstat -m ipsecah
    # kstat -m ip

    以下示例中的 kstat 输出指示 ipsecesp 模块中没有问题。

    # kstat -m ipsecesp
    module: ipsecesp                        instance: 0     
    name:   esp_stat                        class:    net
            acquire_requests                18
            bad_auth                        0
            bad_decrypt                     0
            bad_padding                     0
            bytes_expired                   0
            crtime                          4.87974774
            crypto_async                    0
            crypto_failures                 0
            crypto_sync                     172
            good_auth                       86
            keysock_in                      135
            num_aalgs                       9
            num_ealgs                       13
            out_discards                    0
            out_requests                    86
            replay_early_failures           0
            replay_failures                 0
            sa_port_renumbers               0
            snaptime                        5946769.7947628
  • 使用 snoop 命令查看未受保护的通信。Wireshark 应用程序可以读取 snoop 输出。有关 snoop 输出的示例,请参见如何检验包是否受 IPsec 保护