IPsec隧道

IPsec隧道:透过对IP协议的分组加密和认证来保护IP协议的网络传输数据,实现站点到站点(site-to-site)的虚拟私有网络(VPN)连接。

云路由网络下IPsec隧道的典型场景:
  • 在两套隔离的ZStack私有云环境中,使用云路由网络;两套环境中云主机的私有网络无法直接通信,使用IPsec隧道可实现两套云主机的私有网络互相通信。
云路由网络下IPsec隧道的基本使用流程:
  1. 在第一套环境中,创建IPsec隧道,指定第一套网络的本地公网IP、并指定本地可用的私有网络,输入第二套网络指定的公网IP作为远端IP,并输入第二套网络指定的私有网络作为远端网路;
  2. 在第二套环境中,创建IPsec隧道,指定第二套网络的本地公网IP,并指定本地可用的私有网络,输入第一套网络指定的公网IP作为远端IP,并输入第一套网络指定的私有网络作为远端网络。
Note: 两套云路由网络环境中的私有网络段不可重叠。
假定客户环境如下:
  • 第一套ZStack
    1. 公有网络
      Table 1. 公有网络配置信息
      公有网络 配置信息
      网卡 em01
      VLAN ID 非VLAN
      IP地址段 10.108.12.0~10.108.13.255
      子网掩码 255.0.0.0
      网关 10.0.0.1
    2. 管理网络
      Table 2. 管理网络配置信息
      管理网络 配置信息
      网卡 em02
      VLAN ID 非VLAN
      IP地址段 192.168.29.10~192.168.29.20
      子网掩码 255.255.255.0
      网关 192.168.29.1
      Note:
      • 出于安全和稳定性考虑,建议部署独立的管理网络,并与公有网络隔离。
      • 此管理网络与ZStack私有云中的管理网络为相同概念(即:管理物理机、主存储、镜像服务器的网络),如果已创建可直接复用。
    3. 私有网络
      Table 3. 私有网络配置信息
      私有网络 配置信息
      网卡 em01
      VLAN ID 2800
      IP CIDR 192.168.10.0/24
  • 第二套ZStack
    1. 公有网络
      Table 4. 公有网络配置信息
      公有网络 配置信息
      网卡 em01
      VLAN ID 非VLAN
      IP地址段 10.108.14.0~10.108.15.255
      子网掩码 255.0.0.0
      网关 10.0.0.1
    2. 管理网络
      Table 5. 管理网络配置信息
      管理网络 配置信息
      网卡 em02
      VLAN ID 非VLAN
      IP地址段 192.168.29.110~192.168.29.120
      子网掩码 255.255.255.0
      网关 192.168.29.1
    3. 私有网络
      Table 6. 私有网络配置信息
      私有网络 配置信息
      网卡 em01
      VLAN ID 2900
      IP CIDR 192.168.100.0/24
IPsec隧道网络架构如Figure 1所示:
Figure 1. IPsec隧道网络架构图


以下介绍云路由环境下搭建IPsec隧道的实践步骤。

  1. 搭建第一套ZStack的云路由网络,并使用该云路由网络创建一台私有云云主机,例如VM-1,详情可参考本教程基本部署章节。
    创建的云主机如Figure 2所示:
    Figure 2. VM-1


  2. 同理,搭建第二套ZStack的云路由网络,并使用该云路由网络创建一台私有云云主机,例如VM-2。
    创建的云主机如Figure 3所示:
    Figure 3. VM-2


  3. 检测VM-1与VM-2的连通性。
    • 登录VM-1,尝试SSH默认的22端口远程登录VM-2失败,也不能ping通VM-2。
      Figure 4所示:
      Figure 4. VM-1尝试连通VM-2失败


    • 登录VM-2,尝试连通VM-1亦失败。
  4. 在第一套ZStack中创建IPsec隧道。
    1. 创建IPsec隧道-1。
      ZStack网络服务 > IPsec隧道,进入IPsec隧道界面,点击创建IPsec隧道,在弹出的创建IPsec隧道界面,可参考以下示例输入相应内容:
      • 名称:设置IPsec隧道名称,例如IPsec隧道-1
      • 简介:可选项,可留空不填
      • 选择虚拟IP:通过虚拟IP提供IPsec服务
        使用虚拟IP的方法有以下两种:
        • 新建虚拟IP
          如选择新建虚拟IP,需设置以下内容:
          • 网络:选择提供虚拟IP的公有网络
          • 指定IP:可选项,可指定虚拟IP;若留空不填,系统会自动分配虚拟IP
          Figure 5所示:
          Figure 5. 新建虚拟IP


        • 已有虚拟IP
          如选择已有虚拟IP,需设置以下内容:
          • 虚拟IP:选择已有的虚拟IP地址
          Figure 6所示:
          Figure 6. 已有虚拟IP


        Note: 云路由器提供的系统虚拟IP支持用于IPsec服务。
      • 本地子网:选择本地云路由挂载的私有网络,如果云路由仅挂载一个私网则会默认选中该私网
      • 远端网络IP:填写远端网络用于IPsec服务的公网IP
      • 远端网络CIDR:填写远端网络指定的私有网络CIDR
      • 认证密钥:设置密钥,建议设置强度较高的密钥
      • 高级选项:可对高级选项进行设置,以下默认选项为可连通双边私网的选项
        • 认证模式:psk(默认)
        • 工作模式:tunnel(默认)
        • IKE 验证算法:sha1(默认)
        • IKE 加密算法:3des(默认)
        • IKE 完整前向保密:2(默认)
        • 传输安全协议:esp(默认)
        • ESP 认证算法:sha1(默认)
        • ESP 加密算法:3des(默认)
        • 完全正向保密(PFS):dh-group2(默认)
        Note:
        • 如果客户场景设计ZStack私有云的云路由与支持IPsec隧道的第三方设备对接,则需两端协商具体的高级配置信息。
        • 创建IPsec隧道时,需根据远端网络设备IPsec配置内容,调整本地高级设置内容。
      Figure 7所示:
      Figure 7. 创建IPsec隧道-1


    2. IPsec隧道-1创建完成。
      Figure 8所示:
      Figure 8. IPsec隧道-1


  5. 同理,在第二套ZStack中创建IPsec隧道。
    1. 创建IPsec隧道-2。
      Figure 9所示:
      Figure 9. 创建IPsec隧道-2


    2. IPsec隧道-2创建完成。
      Figure 10所示:
      Figure 10. IPsec隧道-2


  6. 检测VM-1与VM-2的连通性。
    • 登录VM-1,可通过SSH默认的22端口远程登录VM-2,以及ping通VM-2。
      Figure 11所示:
      Figure 11. VM-1成功连通VM-2


    • 登录VM-2,亦可通过SSH默认的22端口远程登录VM-1,以及ping通VM-1。

    至此,IPsec隧道的使用方法介绍完毕。