跳转到: 导航, 搜索

Neutron/VPNaaS/Brocade Vyatta VPNaaS 插件

概述

Brocade Vyatta VPN 插件提供 VPNaaS 解决方案,使用作为 Neutron 路由器的 Brocade Vyatta vRouter VM。该插件实现 IPSec 站点到站点隧道,以使用 vRouter VM 将租户私有网络连接到远程网络。

该插件包含两个部分:与 neutron-server 的 vpn service-plugin 交互的 Vyatta VPN service-driver,以及与 neutron-l3-agent 捆绑的 Vyatta VPN device-driver。为了使 VPN 功能正常工作,这两个组件都需要正确配置。

Neutron L3 agent 的 Vyatta VPN device-driver 组件将在 VPNaaS 插件确定时,调用 Vyatta vRouter REST API 以执行以下 CRUD API。

1. 创建 / 删除 ike 策略

2. 创建 / 删除 ipsec 策略

3. 创建 / 删除 vpn-service 策略

4. 创建 / 删除 ipsec-site-connection

'

框图

   +----------------------+                  +----------------------+
   |    Neutron Server    |                  |   Neutron L3 Agent   |
   |                      |                  |                      |
   |                      |                  |                      |
   | +------------------+ |                  | +------------------+ |
   | |       VPN        | |                  | |    VPN Agent     | |
   | |  Service Plugin  | |                  | +------------------+ |
   | +------------------+ |                  | |   Vyatta VPN     | |
   | |   Vyatta VPN     | |        RPC       | |  Device Driver   | |
   | | Service Driver   | + <--------------> | |                  | |
   +-+------------------+-+                  +-+--------+---------+-+
                                                        |
                                                        |
                                                        | REST API
                                                        |
                                               +--------v---------+
                                               |                  |
                                               |                  |
                                               |  Vyatta vRouter  |
                                               |                  |
                                               |                  |
                                               |                  |
                                               |                  |
                                               +------------------+


配置

1. 请参阅链接 https://wiki.openstack.org/wiki/Brocade_Vyatta_L3_Plugin 以获取 Vyatta vRouter L3 插件配置。

2. 编辑 Neutron 配置文件 /etc/neutron/neutron.conf 以指定 Vyatta vRouter L3 插件和 Vyatta VPN 插件 service-driver

  service_plugins = neutron.services.l3_router.brocade.vyatta.vrouter_neutron_plugin.VyattaVRouterPlugin,neutron_vpnaas.services.vpn.plugin.VPNDriverPlugin
  [service_providers]
  service_provider = VPN:vyatta:neutron_vpnaas.services.vpn.service_drivers.vyatta_ipsec.VyattaIPsecDriver:default

3. 编辑 /etc/neutron/vpn_agent.ini 文件以指定 Brocade Vyatta VPN agent device-driver

  [vpnagent]
  vpn_device_driver=neutron_vpnaas.services.vpn.device_drivers.vyatta_ipsec.VyattaIPSecDriver

4. 创建一个带有 Vyatta VPN agent 入口点的启动实用程序,最好放在 /usr/local/bin/vyatta-vpn-agent 中的一个文件中。

  #!/usr/bin/python
  # PBR Generated from u'console_scripts'
  
  import sys
  
  from neutron_vpnaas.cmd.eventlet.vyatta_agent import main
  
  
  if __name__ == "__main__":
      sys.exit(main())


5. 重启 Vyatta-VPN agent。

  /usr/bin/python /usr/local/bin/vyatta-vpn-agent --config-file /etc/neutron/neutron.conf --config-file=/etc/neutron/l3_agent.ini --config-file=/etc/neutron/vpn_agent.ini --config-file /etc/neutron/fwaas_driver.ini --config-file /etc/neutron/plugins/brocade/vyatta/vrouter.ini
  NOTE: make sure neutron-l3-agent is not started. vyatta-vpn-agent includes both traditional L3 agent and Vyatta VPN agent functionality