A.4. IPsec 配置示例

A.4.1. Oracle Linux 5 预共享密钥
A.4.2. Oracle Linux 5 证书
A.4.3. Oracle Linux 6 预共享密钥
A.4.4. Oracle Linux 6 证书
A.4.5. Oracle Solaris 预共享密钥
A.4.6. Oracle Solaris 证书
A.4.7. Sun Ray Client 配置
A.4.8. IPsec 验证

此部分提供说明如何在 Sun Ray 服务器和 Sun Ray Client 上配置和启用 IPsec 的示例。对于所有这些示例,都使用下面的配置信息:

A.4.1. Oracle Linux 5 预共享密钥

下面的示例说明如何在运行 Oracle Linux 5 的 Sun Ray 服务器上使用预共享密钥配置 IPsec 以及为 Sun Ray Client 准备 IKE 配置文件。

  1. 在 Sun Ray 服务器上成为超级用户。

  2. 编辑 /etc/racoon/racoon.conf 文件,如下所示:

    path include "/etc/racoon";
    path pre_shared_key "/etc/racoon/psk.txt";
    
    remote anonymous {
            exchange_mode main;
            proposal {
                    authentication_method pre_shared_key;
                    encryption_algorithm 3des;
                    hash_algorithm sha1;
                    dh_group modp1024;
            }
            lifetime time 24 hour;
            proposal_check claim;
    }
    sainfo anonymous {
            authentication_algorithm hmac_sha1;
            encryption_algorithm 3des;
            lifetime time 8 hour;
            compression_algorithm deflate ;
    }
  3. 编辑 /etc/racoon/psk.txt 文件以包括预共享密钥。

    <ip-address_of_Sun_Ray_Client> <key>
    
    10.25.198.65   0x12345678
  4. 配置 SPD。

    # setkey -c  << EOF
    spdadd 10.213.21.168 10.25.198.65 any -P out ipsec esp/transport//require;
    spdadd 10.25.198.65  10.213.21.168 any -P in ipsec esp/transport//require;

    请注意 10.213.21.168 是 Sun Ray 服务器的 IP 地址,而 10.25.198.65 是 Sun Ray Client 的 IP 地址。

  5. 使用以下内容为 Sun Ray Client 创建 sunray_ike.conf 文件并将其保存到 /tftpboot 目录中。

    remote anonymous {
            exchange_mode main;
            proposal {
                    authentication_method pre_shared_key;
                    encryption_algorithm 3des;
                    hash_algorithm sha1;
                    dh_group modp1024;
            }
            lifetime time 24 hour;
            proposal_check claim;
    }
    sainfo anonymous {
            authentication_algorithm hmac_sha1;
            encryption_algorithm 3des;
            lifetime time 8 hour;
    }
  6. 如果需要,在服务器上启用 IPsec。

    # racoon

    如果 IPsec 在服务器上已启用,则不需要执行此手动步骤。可以通过添加一个或多个 -d 选项(例如 -ddd)更改调试级别。

A.4.2. Oracle Linux 5 证书

下面的示例说明如何在运行 Oracle Linux 5 的 Sun Ray 服务器上使用证书配置 IPsec 以及为 Sun Ray Client 准备 IKE 配置文件。

  1. 在 Sun Ray 服务器上成为超级用户。

  2. cacert.pemmycert.pemmykey.pem 文件复制到 /etc/racoon/certs/tftpboot 目录中。

  3. 编辑 /etc/racoon/racoon.conf 文件,如下所示:

    path include "/etc/racoon";
    path certificate "/etc/racoon/certs";
    
    remote anonymous {
            exchange_mode main;
            generate_policy on;
            passive on;
            ca_type x509 "cacert.pem";
            certificate_type x509 "mycert.pem" "mykey.pem";
            my_identifier asn1dn;
            peers_identifier asn1dn;
            proposal_check claim;
            lifetime time 24 hour;
            proposal {
                    encryption_algorithm 3des;
                    hash_algorithm md5;
                    authentication_method rsasig;
                    dh_group modp1024;
            }
    }
    
    sainfo anonymous {
            pfs_group modp1024;
            encryption_algorithm 3des;
            authentication_algorithm hmac_sha1;
            lifetime time 8 hour;
            compression_algorithm deflate;
    }
  4. 使用以下内容为 Sun Ray Client 创建 sunray_ike.conf 文件并将其保存到 /tftpboot 目录中。

    remote anonymous {
            exchange_mode main;
            my_identifier asn1dn;
            ca_type x509 "cacert.pem";
            certificate_type x509 "mycert.pem" "mykey.pem";
            proposal {
                    authentication_method rsasig;
                    encryption_algorithm 3des;
                    hash_algorithm md5;
                    dh_group modp1024;
            }
            lifetime time 24 hour;
            proposal_check claim;
    }
    sainfo anonymous {
            pfs_group modp1024;
            authentication_algorithm hmac_sha1;
            encryption_algorithm 3des;
            lifetime time 8 hour;
    }
  5. 使用以下内容创建名为 ikeload 的远程配置文件并将其保存到 /tftpboot 目录中。

    /certs/cacert.pem=cacert.pem
    /keys/mykey.pem=mykey.pem
    /certs/mycert.pem=mycert.pem
    /ike/default.conf=sunray_ike.conf
  6. 如果需要,在服务器上启用 IPsec。

    # racoon

    如果 IPsec 在服务器上已启用,则不需要执行此手动步骤。可以通过添加一个或多个 -d 选项(例如 -ddd)更改调试级别。

A.4.3. Oracle Linux 6 预共享密钥

下面的示例说明如何在运行 Oracle Linux 6 的 Sun Ray 服务器上使用预共享密钥配置 IPsec 以及为 Sun Ray Client 准备 IKE 配置文件。

  1. 在 Sun Ray 服务器上成为超级用户。

  2. 如果尚未安装,请安装 openswan-2.6.32-16.el6.x86_64.rpm RPM。

  3. 取消 /etc/ipsec.conf 文件中以下行的注释:

    include /etc/ipsec.d/*.conf
  4. 确保 /etc/ipsec.secrets 文件仅包含下面的行:

    include /etc/ipsec.d/*.secrets
  5. 使用以下内容创建 /etc/ipsec.d/shared.conf 文件,这些内容包括 left 项和 right 项分别对应的 Sun Ray 服务器和 Sun Ray Client IP 地址:

    conn new
        left=10.213.21.168
        right=10.25.198.65
        authby=secret
        type=transport
        ike=3des-md5;modp1024
        esp=3des-md5
        keyexchange=ike
        pfs=no
        rekey=no
        aggrmode=no
        phase2=esp
        salifetime=8h
        auto=add 
        
  6. 使用以下内容创建 /etc/ipsec.d/shared.secrets 文件,这些内容包括包含 Sun Ray 服务器和 Sun Ray Client IP 地址以及预共享密钥的项:

    10.213.21.168 10.25.198.65: PSK "12345678"            
  7. 使用以下内容为 Sun Ray Client 创建 sunray_ike.conf 文件并将其保存到 /tftpboot 目录中。

    remote anonymous {
            exchange_mode main;
            proposal {
                    authentication_method pre_shared_key;
                    encryption_algorithm 3des;
                    hash_algorithm sha1;
                    dh_group modp1024;
            }
            lifetime time 24 hour;
            proposal_check claim;
    }
    sainfo anonymous {
            authentication_algorithm hmac_sha1;
            encryption_algorithm 3des;
            lifetime time 8 hour;
    }
  8. 启动 IPsec 服务。

    # /etc/init.d/ipsec start

A.4.4. Oracle Linux 6 证书

下面的示例说明如何在运行 Oracle Linux 6 的 Sun Ray 服务器上使用证书配置 IPsec 以及为 Sun Ray Client 准备 IKE 配置文件。

  1. 在 Sun Ray 服务器上成为超级用户。

  2. 如果尚未安装,请安装 openswan-2.6.32-16.el6.x86_64.rpm RPM。

  3. 取消 /etc/ipsec.conf 文件中以下行的注释:

    include /etc/ipsec.d/*.conf
  4. 确保 /etc/ipsec.secrets 文件仅包含下面的行:

    include /etc/ipsec.d/*.secrets
  5. 使用以下内容创建 /etc/ipsec.d/certs.conf 文件:

     
     conn new1
            left=10.213.21.168
            right=%any
            leftcert="server_certificate"
            rightcert="client_certificate"
            leftid=%fromcert
            rightid=%fromcert
            authby=rsasig
            leftrsasigkey=%cert
            type=transport
            ike=aes-sha2_256;modp1024
            phase2alg=aes-sha2_256
            keyexchange=ike
            keyingtries=3
            pfs=no
            rekey=no
            aggrmode=no
            phase2=esp
            salifetime=8h
            auto=add 
    

    right=%any 项让所有客户端都能使用正确的证书进行连接。

  6. 使用以下内容创建 /etc/ipsec.d/certs.secrets 文件,这些内容包括 Sun Ray 服务器:

    %any : RSA 10.213.21.168
  7. 使用以下内容为 Sun Ray Client 创建 sunray_ike.conf 文件并将其保存到 /tftpboot 目录中。

    remote anonymous {
            exchange_mode main;
            my_identifier asn1dn;
            ca_type x509 "cacert.pem";
            certificate_type x509 "mycert.pem" "mykey.pem";
            proposal {
                    authentication_method rsasig;
                    encryption_algorithm 3des;
                    hash_algorithm sha1;
                    dh_group modp1024;
            }
            lifetime time 24 hour;
            proposal_check claim;
    }
    sainfo anonymous {
            authentication_algorithm hmac_sha1;
            encryption_algorithm 3des;
            lifetime time 8 hour;
    }
  8. 使用以下内容创建名为 ikeload 的远程配置文件并将其保存到 /tftpboot 目录中。

    /certs/cacert.pem=cacert.pem
    /keys/mykey.pem=mykey.pem
    /certs/mycert.pem=mycert.pem
    /ike/default.conf=sunray_ike.conf
     
  9. 启动 IPsec 服务。

    # /etc/init.d/ipsec start

A.4.5. Oracle Solaris 预共享密钥

下面的示例说明如何在运行 Oracle Solaris 10 或 Oracle Solaris 11 的 Sun Ray 服务器上使用预共享密钥配置 IPsec 以及为 Sun Ray Client 准备 IKE 配置文件。

  1. 在 Sun Ray 服务器上成为超级用户。

  2. 编辑 /etc/inet/ike/config 文件,如下所示:

    p1_lifetime_secs 86400
    p1_nonce_len 16
    
    p2_lifetime_secs 28800
    
    ## Parameters that may also show up in rules.
    
    p1_xform { auth_method preshared oakley_group 2 auth_alg sha1 encr_alg aes }
    
    p2_pfs 0
    
    ### Now some rules...
    
    {
       label "SRSS Rule"
    
       # Use whatever "host" (e.g. IP address) identity is appropriate
       local_addr 0.0.0.0/0
       remote_addr 0.0.0.0/0
    
       p1_xform
       { auth_method preshared oakley_group 2 auth_alg sha encr_alg aes }
    
       p2_pfs 0
    }
  3. 编辑 /etc/inet/secret/ike.preshared 文件以包括预共享密钥。

    {
            localidtype     IP
            localid         10.213.21.168
            remoteidtype    IP
            remoteid        10.25.198.65
            key             12345678
    }
  4. 通过将以下行添加到 /etc/inet/ipsecinit.conf 文件中来配置 IPsec 策略:

     { laddr 10.213.21.168 raddr 10.25.198.65 } ipsec {encr_algs aes encr_auth_algs sha1}
  5. 使用以下内容为 Sun Ray Client 创建 sunray_ike.conf 文件并将其保存到 /tftpboot 目录中。

    remote anonymous {
            exchange_mode main;
            proposal {
                    authentication_method pre_shared_key;
                    encryption_algorithm aes;
                    hash_algorithm sha1;
                    dh_group 2;
            }
            lifetime time 24 hour;
            proposal_check claim;
    }
    sainfo anonymous {
            authentication_algorithm hmac_sha1;
            encryption_algorithm aes;
            lifetime time 8 hour;
    }
  6. 在服务器上启用 IPsec。

     # svcadm restart svc:/network/ipsec/ipsecalgs:default
     # svcadm restart svc:/network/ipsec/policy:default
     # /usr/lib/inet/in.iked

    可以使用 svcs | grep ipsec 命令验证是否已启用 IPsec。可以使用 in.iked 命令的 -d 选项使其一直在前台运行并生成调试输出。

A.4.6. Oracle Solaris 证书

下面的示例说明如何在运行 Oracle Solaris 10 或 Oracle Solaris 11 的 Sun Ray 服务器上使用证书配置 IPsec 以及为 Sun Ray Client 准备 IKE 配置文件。

  1. 在 Sun Ray 服务器上成为超级用户。

  2. cacert.pemmycert.pemmykey.pem 文件复制到 /etc/racoon/certs/tftpboot 目录中。

  3. 编辑 /etc/inet/ike/config 文件,如下所示:

    ####
    
    cert_root   "C=US, L=Redwood Shores, ST=CA, O=Company, OU=Sun Ray, 
                 CN=First Last, MAILTO=first.last@company.com"
    
    ignore_crls
    
    p1_lifetime_secs 86400
    p1_nonce_len 16
    
    p2_lifetime_secs 28800
    
    p1_xform { auth_method rsa_sig oakley_group 2 auth_alg sha encr_alg 3des }
    
    p2_pfs 0
    
    {
       label "SRSS Rule"
    
       local_id_type dn
       local_id "C=US, L=Redwood Shores, ST=CA, O=Company, OU=Sun Ray, CN=server-fqdn"
       remote_id ""
    
       local_addr 0.0.0.0/0
       remote_addr 0.0.0.0/0
    
       p1_xform
       { auth_method rsa_sig oakley_group 2 auth_alg md5 encr_alg 3des }
    
       p2_pfs 0
    }
    
    ####
    
  4. 通过将以下行添加到 /etc/inet/ipsecinit.conf 文件中来配置 IPsec 策略:

     { laddr 10.213.21.168 raddr 10.25.198.65 } ipsec {encr_algs 3des encr_auth_algs sha1}
  5. 使用以下内容为 Sun Ray Client 创建 sunray_ike.conf 文件并将其保存到 /tftpboot 目录中。

    remote anonymous {
            exchange_mode main;
            my_identifier asn1dn;
            ca_type x509 "cacert.pem";
            certificate_type x509 "mycert.pem" "mykey.pem";
            proposal {
                    authentication_method rsasig;
                    encryption_algorithm 3des;
                    hash_algorithm md5;
                    dh_group 2;
            }
            lifetime time 24 hour;
            proposal_check claim;
    }
    sainfo anonymous {
            pfs_group modp1024;
            authentication_algorithm hmac_sha1;
            encryption_algorithm 3des;
            lifetime time 8 hour;
    }
  6. 使用以下内容创建名为 ikeload 的远程配置文件并将其保存到 /tftpboot 目录中。

    /certs/cacert.pem=cacert.pem
    /keys/mykey.pem=mykey.pem
    /certs/mycert.pem=mycert.pem
    /ike/default.conf=sunray_ike.conf
  7. 在服务器上启用 IPsec。

     # svcadm restart svc:/network/ipsec/ipsecalgs:default
     # svcadm restart svc:/network/ipsec/policy:default
     # /usr/lib/inet/in.iked

    可以使用 svcs | grep ipsec 命令验证是否已启用 IPsec。可以使用 in.iked 命令的 -d 选项使其一直在前台运行并生成调试输出。

A.4.7. Sun Ray Client 配置

在 Sun Ray 服务器上配置 IPsec 后(包括将正确的 Sun Ray IKE 配置文件和证书添加到 /tftpboot 目录中),便只剩下使用配置 GUI 在 Sun Ray Client 上配置 IPsec 的几个步骤。下面的步骤紧续前面的 Sun Ray 服务器配置示例。

  1. 打开 Sun Ray Client 上的配置 GUI。

    有关详细信息,请参见第 14.5.2 节 “配置 GUI 菜单说明”

  2. 在 Sun Ray Client 上从服务器的 /tftpboot 目录加载配置文件:

    1. 如果只有一个 Sun Ray IKE 配置文件需要加载,请选择 Server/IPsec(服务器/IPsec)> Download Configuration(下载配置)并指定服务器和 IKE 配置文件。在此部分的预共享示例中,将输入 10.213.21.168/sunray_ike.conf 来填充 Sun Ray Client 固件中的 /ike/default.conf 文件。

    2. 如果要使用远程配置文件来加载大量文件,请选择 Advanced(高级)> Download Configuration(下载配置)并输入服务器和远程配置文件。在此部分的证书示例中,将输入 10.213.21.168/ikeload 来填充 Sun Ray Client 固件中的 IKE 配置文件和证书文件。

  3. 选择 Server/IPsec(服务器/IPsec)

  4. 在此部分的预共享密钥示例中,请选择 Manage Preshared Keys(管理预共享密钥)来创建预共享密钥:

    10.25.198.65    0x12345678

    还可以使用远程配置文件加载预共享密钥。

  5. 选择 IPsec Enable(启用 IPsec)并启用 IPsec。

  6. 退出配置 GUI。

A.4.8. IPsec 验证

在 Sun Ray 服务器和 Sun Ray Client 上配置 IPsec 后,可以通过重新引导 Sun Ray Client 并启用 OSD 图标来验证 IPsec 是否可以正常工作。如果 IPsec OSD 网络状态图标显示有上箭头,则 IPsec 应该可以正常工作。

要验证服务器和 Sun Ray 之间的通信流量是否已加密,请使用网络监控工具(例如 snooptcpdump)并确认看到的数据包是否使用 ESP 协议。