系统管理指南:IP 服务

Procedure如何使用通过 IPv4 实现的处于传输模式的 IPsec 隧道保护 VPN

在传输模式下,外部头决定保护内部 IP 包的 IPsec 策略。

此过程扩展了如何使用 IPsec 保证两个系统之间的通信安全过程。除了连接两个系统之外,还要连接两个连接到这两个系统的内联网。此过程中的系统作为网关使用。

此过程使用用于保护 VPN 的 IPsec 任务的网络拓扑说明中介绍的设置。有关运行特定命令的更详尽的原因说明,请参见如何使用通过 IPv4 实现的处于隧道模式的 IPsec 隧道保护 VPN中的相应步骤。


注 –

在两个系统中执行此过程中的步骤。


  1. 在系统控制台上,承担主管理员角色或成为超级用户。

    主管理员角色拥有主管理员配置文件。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”


    注 –

    远程登录会使安全关键型通信易于遭到窃听。即使以某种方式保护远程登录,系统的安全性也会降至远程登录会话的安全性。请使用 ssh 命令进行安全的远程登录。


  2. 在配置 IPsec 之前控制包流。

    1. 确保 IP 转发和 IP 动态路由功能均处于禁用状态。


      # routeadm
      Configuration       Current         Current
             Option       Configuration  System State
      --------------------------------------------------
      IPv4 forwarding     disabled           disabled
         IPv4 routing     default (enabled)   enabled
      …

      如果已启用 IP 转发和 IP 动态路由功能,您可以通过键入以下内容来禁用它们:


      # routeadm -d ipv4-routing -d ipv4-forwarding
      # routeadm -u
      
    2. 打开 IP 严格目标多宿主。


      # ndd -set /dev/ip ip_strict_dst_multihoming 1
      

      注意 – 注意 –

      系统引导时,会将 ip_strict_dst_multihoming 的值恢复为缺省值。要使更改的值具有持久性,请参见如何防止 IP 电子欺骗


    3. 禁用多数网络服务,也可能会禁用所有网络服务。


      注 –

      如果系统中安装了“受限制的”SMF 配置文件,则可以跳过此步骤。将禁用网络服务(Solaris 安全 Shell 除外)。


      禁用网络服务可防止 IP 包危害系统。例如,可以采用 SNMP 守护进程、telnet 连接或 rlogin 连接。

      选择以下选项之一:

      • 如果运行的是 Solaris 10 11/06 发行版或更高版本,请运行“受限制的”SMF 配置文件。


        # netservices limited
        
      • 否则,单独禁用网络服务。


        # svcadm disable network/ftp:default
        # svcadm disable network/finger:default
        # svcadm disable network/login:rlogin
        # svcadm disable network/nfs/server:default
        # svcadm disable network/rpc/rstat:default
        # svcadm disable network/smtp:sendmail
        # svcadm disable network/telnet:default 
    4. 检验是否已禁用大多数网络服务。

      检验回送挂载和 ssh 服务是否正在运行。


      # svcs | grep network
      online         Aug_02   svc:/network/loopback:default
      …
      online         Aug_09   svc:/network/ssh:default
  3. 在两个系统间添加一对 SA。

    选择以下选项之一:

  4. 添加 IPsec 策略。

    编辑 /etc/inet/ipsecinit.conf 文件来为 VPN 添加 IPsec 策略。要增强策略,请参见示例 20–15

    1. enigma 系统上,将以下项键入到 ipsecinit.conf 文件中:


      # LAN traffic to and from this host can bypass IPsec.
      {laddr 10.16.16.6 dir both} bypass {}
      
      # WAN traffic uses ESP with AES and SHA-1.
      {tunnel ip.tun0 negotiate transport} 
       ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
    2. partym 系统上,将以下项键入到 ipsecinit.conf 文件中:


      # LAN traffic to and from this host can bypass IPsec.
      {laddr 10.1.3.3 dir both} bypass {}
      
      # WAN traffic uses ESP with AES and SHA-1.
      {tunnel ip.tun0 negotiate transport} 
       ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
  5. (可选的)检验 IPsec 策略文件的语法。


    # ipsecconf -c -f /etc/inet/ipsecinit.conf
    
  6. 要配置隧道并使用 IPsec 对其加以保护,请根据 Solaris 发行版执行相应步骤:

  7. /etc/hostname.ip.tun0 文件中配置隧道 ip.tun0

    1. enigma 系统上,向 hostname.ip.tun0 文件添加以下项:


      10.16.16.6 10.1.3.3 tsrc 192.168.116.16 tdst 192.168.13.213 router up
    2. partym 系统上,向 hostname.ip.tun0 文件添加以下项:


      10.1.3.3 10.16.16.6 tsrc 192.168.13.213 tdst 192.168.116.16 router up
  8. 使用创建的 IPsec 策略保护隧道。


    # svcadm refresh svc:/network/ipsec/policy:default
    
  9. 要将 hostname.ip.tun0 文件的内容读入内核,请重新启动网络服务。


    # svcadm restart svc:/network/initial:default
    
  10. hme1 接口打开 IP 转发功能。

    1. enigma 系统上,将路由器项添加到 /etc/hostname.hme1 文件。


      192.168.116.16 router
    2. partym 系统上,将路由器项添加到 /etc/hostname.hme1 文件。


      192.168.13.213 router
  11. 确保路由协议不在内联网内通告缺省的路由。

    1. enigma 系统上,将 private 标志添加到 /etc/hostname.hme0 文件。


      10.16.16.6 private
    2. partym 系统上,将 private 标志添加到 /etc/hostname.hme0 文件。


      10.1.3.3 private
  12. 手动添加通过 hme0 实现的缺省路由。

    1. enigma 系统上,添加以下路由:


      # route add default 192.168.116.4
      
    2. partym 系统上,添加以下路由:


      # route add default 192.168.13.5
      
  13. 要完成该过程,请转至步骤 22 运行路由协议。

  14. 配置隧道 ip.tun0


    注 –

    以下步骤用于在运行 Solaris 10 4/09 发行版之前的发行版的系统中配置隧道。


    使用 ifconfig 命令创建点对点接口:


    # ifconfig ip.tun0 plumb
    
    # ifconfig ip.tun0 system1-point system2-point \
    tsrc system1-taddr tdst system2-taddr
    
    1. enigma 系统上键入以下命令:


      # ifconfig ip.tun0 plumb
      
      # ifconfig ip.tun0 10.16.16.6 10.1.3.3 \
      tsrc 192.168.116.16 tdst 192.168.13.213
      
    2. partym 系统上键入以下命令:


      # ifconfig ip.tun0 plumb
      
      # ifconfig ip.tun0 10.1.3.3 10.16.16.6  \
      tsrc 192.168.13.213 tdst 192.168.116.16
      
  15. 使用创建的 IPsec 策略保护隧道。


    # ipsecconf
    
  16. 初启隧道的路由器。


    # ifconfig ip.tun0 router up
    
  17. hme1 接口打开 IP 转发功能。


    # ifconfig hme1 router
    
  18. 确保路由协议不在内联网内通告缺省的路由。


    # ifconfig hme0 private
    
  19. 手动添加通过 hme0 实现的缺省路由。

    缺省路由必须是可以直接访问 Internet 的路由器。


    # route add default router-on-hme0-subnet
    
    1. enigma 系统上,添加以下路由:


      # route add default 192.168.116.4
      
    2. partym 系统上,添加以下路由:


      # route add default 192.168.13.5
      
  20. 通过向 /etc/hostname.ip.tun0 文件中添加项来确保 VPN 在系统重新引导后启动。


    system1-point system2-point tsrc system1-taddr \
    tdst system2-taddr encr_algs aes encr_auth_algs sha1 router up
    1. enigma 系统上,向 hostname.ip.tun0 文件添加以下项:


      10.16.16.6 10.1.3.3 tsrc 192.168.116.16 \
      tdst 192.168.13.213 router up
    2. partym 系统上,向 hostname.ip.tun0 文件添加以下项:


      10.1.3.3 10.16.16.6 tsrc 192.168.13.213 \
      tdst 192.168.116.16 router up
  21. 将接口文件配置为将正确的参数传送到路由选择守护进程。

    1. enigma 系统上,修改 /etc/hostname.interface 文件。


      # cat /etc/hostname.hme0
      ## enigma
      10.16.16.6 private

      # cat /etc/hostname.hme1
      ## enigma
      192.168.116.16 router
    2. partym 系统上,修改 /etc/hostname.interface 文件。


      # cat /etc/hostname.hme0
      ## partym
      10.1.3.3 private

      # cat /etc/hostname.hme1
      ## partym
      192.168.13.213 router
  22. 运行路由协议。


    # routeadm -e ipv4-routing
    # routeadm -u
    

示例 20–15 在所有处于传输模式的系统上要求 IPsec 策略

在此示例中,管理员注释掉了在步骤 4 中配置的 bypass 策略,从而加强了保护。通过此策略配置,LAN 中的每个系统都必须激活 IPsec 以便与路由器通信。


# LAN traffic must implement IPsec.
# {laddr 10.1.3.3 dir both} bypass {}

# WAN traffic uses ESP with AES and SHA-1.
{tunnel ip.tun0 negotiate transport} ipsec {encr_algs aes encr_auth_algs sha1}


示例 20–16 使用过时的语法配置处于传输模式的 IPsec 隧道

在此示例中,管理员将 Solaris 10 7/07 系统与运行 Solaris 10 发行版的系统连接在一起。因此,管理员在配置文件中使用 Solaris 10 语法,并在 ifconfig 命令中包含 IPsec 算法。

管理员按照如何使用通过 IPv4 实现的处于传输模式的 IPsec 隧道保护 VPN过程进行操作,但在语法上进行了以下更改。