系统管理指南:IP 服务

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

要在 IPv6 网络中设置 VPN,您需要执行与针对 IPv4 网络执行的步骤相同的步骤。但是,命令的语法稍有不同。有关运行特定命令的更详尽的原因说明,请参见如何使用通过 IPv4 实现的处于隧道模式的 IPsec 隧道保护 VPN中的相应步骤。


注 –

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


此过程使用以下配置参数。

参数 

欧洲 

加利福尼亚 

系统名称 


enigma

partym

系统内联网接口 


hme1

hme1

系统 Internet 接口 


hme0

hme0

系统内联网地址 


6000:6666::aaaa:1116

6000:3333::eeee:1113

系统 Internet 地址 


2001::aaaa:6666:6666

2001::eeee:3333:3333

Internet 路由器名称 


router-E

router-C

Internet 路由器地址 


2001::aaaa:0:4

2001::eeee:0:1

隧道名称 


ip6.tun0

ip6.tun0

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

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


    注 –

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


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

    有关这些命令的作用,请参见步骤 2中的如何使用通过 IPv4 实现的处于隧道模式的 IPsec 隧道保护 VPN

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


      # routeadm
      Configuration       Current         Current
             Option       Configuration  System State
      --------------------------------------------------
      …
      IPv6 forwarding     disabled          disabled
         IPv6 routing     disabled          disabled

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


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


      # ndd -set /dev/ip ip6_strict_dst_multihoming 1
      

      注意 – 注意 –

      系统引导时,会将 ip6_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. 为 VPN 添加 IPsec 策略。

    编辑 /etc/inet/ipsecinit.conf 文件来为 VPN 添加 IPsec 策略。

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


      # IPv6 Neighbor Discovery messages bypass IPsec.
      {ulp ipv6-icmp type 133-137 dir both} pass {}
      
      # LAN traffic to and from this host can bypass IPsec.
      {laddr 6000:6666::aaaa:1116 dir both} bypass {}
      
      # WAN traffic uses ESP with AES and SHA-1.
      {tunnel ip6.tun0 negotiate tunnel} 
        ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
    2. partym 系统上,将以下项键入到 ipsecinit.conf 文件中:


      # IPv6 Neighbor Discovery messages bypass IPsec.
      {ulp ipv6-icmp type 133-137 dir both} pass {}
      
      # LAN traffic to and from this host can bypass IPsec.
      {laddr 6000:3333::eeee:1113 dir both} bypass {}
      
      # WAN traffic uses ESP with AES and SHA-1.
      {tunnel ip6.tun0 negotiate tunnel} 
        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.ip6.tun0 文件中配置隧道 ip6.tun0

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


      6000:6666::aaaa:1116 6000:3333::eeee:1113 tsrc 2001::aaaa:6666:6666 tdst 2001::eeee:3333:3333 router up
    2. partym 系统上,向 hostname.ip6.tun0 文件添加以下项:


      6000:3333::eeee:1113  6000:6666::aaaa:1116 tsrc 2001::eeee:3333:3333 tdst 2001::aaaa:6666:6666 router up
  8. 使用创建的 IPsec 策略保护隧道。


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


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

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


      2001::aaaa:6666:6666 inet6 router
    2. partym 系统上,将路由器项添加到 /etc/hostname6.hme1 文件。


      2001::eeee:3333:3333 inet6 router
  11. 确保路由协议不在内联网内通告缺省的路由。

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


      6000:6666::aaaa:1116 inet6 private
    2. partym 系统上,将 private 标志添加到 /etc/hostname6.hme0 文件。


      6000:3333::eeee:1113 inet6 private
  12. 手动添加通过 hme0 实现的缺省路由。

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


      # route add -inet6 default 2001::aaaa:0:4
      
    2. partym 系统上,添加以下路由:


      # route add -inet6 default 2001::eeee:0:1
      
  13. 要完成该过程,请转至步骤 22 运行路由协议。

  14. 配置安全隧道 ip6.tun0


    注 –

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


    1. enigma 系统上键入以下命令:


      # ifconfig ip6.tun0 inet6 plumb
      
      # ifconfig ip6.tun0 inet6 6000:6666::aaaa:1116 6000:3333::eeee:1113 \
      tsrc 2001::aaaa:6666:6666   tdst 2001::eeee:3333:3333
      
    2. partym 系统上键入以下命令:


      # ifconfig ip6.tun0 inet6 plumb
      
      # ifconfig ip6.tun0 inet6 6000:3333::eeee:1113 6000:6666::aaaa:1116 \
      tsrc 2001::eeee:3333:3333   tdst 2001::aaaa:6666:6666
      
  15. 使用创建的 IPsec 策略保护隧道。


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


    # ifconfig ip6.tun0 router up
    
  17. 在每个系统上,为 hme1 接口打开 IP 转发功能。


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


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

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

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


      # route add -inet6 default 2001::aaaa:0:4
      
    2. partym 系统上,添加以下路由:


      # route add -inet6 default 2001::eeee:0:1
      
  20. 通过向 /etc/hostname6.ip6.tun0 文件中添加项来确保 VPN 在系统重新引导后启动。

    该项复制在步骤 14 中传递到 ifconfig 命令的参数。

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


      6000:6666::aaaa:1116 6000:3333::eeee:1113 \
      tsrc 2001::aaaa:6666:6666  tdst 2001::eeee:3333:3333 router up
    2. partym 系统上,向 hostname6.ip6.tun0 文件添加以下项:


      6000:3333::eeee:1113 6000:6666::aaaa:1116 \
      tsrc 2001::eeee:3333:3333   tdst 2001::aaaa:6666:6666  router up
  21. 在每个系统上,将接口文件配置为将正确的参数传送到路由选择守护进程。

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


      # cat /etc/hostname6.hme0
      ## enigma
      6000:6666::aaaa:1116 inet6 private

      #  cat /etc/hostname6.hme1
      ## enigma
      2001::aaaa:6666:6666 inet6 router
    2. partym 系统上,修改 /etc/hostname6. interface 文件。


      # cat /etc/hostname6.hme0
      ## partym
      6000:3333::eeee:1113 inet6 private

      # cat /etc/hostname6.hme1
      ## partym
      2001::eeee:3333:3333 inet6 router
  22. 运行路由协议。


    # routeadm -e ipv6-routing
    # routeadm -u
    

    您可能需要在运行路由协议之前先配置路由协议。有关更多信息,请参见Oracle Solaris : 中的路由协议。有关过程,请参见配置 IPv6 路由器