配置openstack版本:Juno

vpnaas配置的资料很少,官网目前参考的https://wiki.openstack.org/wiki/Neutron/VPNaaS/HowToInstall比较旧,方面配置基本没有讲

经历漫长时间的查找资料、学习,现终于配置成功了,记录下来给大家参考一下,有什么不正确的地方及时留言

1.1 准备

yum install openstack-neutron-vpn-agent libreswan -y  

vi /etc/sysctl
net.ipv4.ip_forward=1
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.default.rp_filter = 0

1.2添加vpn服务

vim /etc/neutron/neutron.conf
[DEFAULT]
service_plugins = router,vpnaas
[service_providers]
service_provider = VPN:Vpn:neutron.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default

1.3 配置vpnaas

vim /etc/neutron/vpn_agent.ini 
[DEFAULT]
# VPN-Agent configuration file
# Note vpn-agent inherits l3-agent, so you can use configs on l3-agent also
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
[vpnagent]
vpn_device_driver=neutron.services.vpn.device_drivers.ipsec.OpenSwanDriver
[ipsec]
ipsec_status_check_interval=30
vi /usr/share/neutron/rootwrap/vpnaas.filters
[Filters]
ip: IpFilter, ip, root
ip_exec: IpNetnsExecFilter, ip, root
openswan: CommandFilter, ipsec, root
libreswan: CommandFilter, certutil, root

1.4 dashboard启用vpn

vim /etc/openstack-dashboard/local_settings

OPENSTACK_NEUTRON_NETWORK = {
'enable_vpn': True,
}

1.5 启动ipsec

chkconfig ipsec on
service ipsec start

  

2 修改代码

2.1

vi /usr/lib/python2.7/site-packages/neutron/services/vpn/device_drivers/ipsec.py

97行添加
bcertutil = "certutil"
114行添加
NSS_FILES = [
'cert8.db',
'key3.db',
'secmod.db'
]
189行添加
def _ensure_nss(self, nss_files):
if not os.path.isfile(nss_files):
#start nss database
self._execute([self.bcertutil,
'-N',
'--empty-password',
'-d', self.ipsecd_dir,
])
204行添加
for nss_file in self.NSS_FILES:
nss_path = os.path.join(self.ipsecd_dir, nss_file)
self._ensure_nss(nss_path)
327行添加
self.ipsecd_dir = os.path.join(
self.etc_dir, 'ipsec.d')
409、410行修改和删除
修改 '--ipsecdir', self.etc_dir 成: '--ipsecdir', self.ipsecd_dir
删除 '--use-netkey',
422行删除
'--defaultroutenexthop', nexthop,
470行添加
pid_file = self.pid_path + '.pid'
if os.path.exists(pid_file):
os.remove(pid_file)

2.2

vi /usr/lib/python2.7/site-packages/neutron/services/vpn/device_drivers/template/openswan/ipsec.conf.template

    3行删除:nat_traversal=yes
7行删除:keylife=60m 添加:salifetime=60m
20行删除:leftnexthop=%defaultroute
31行删除:rightnexthop=%defaultroute
63行删除:lifetime={{ipsec_site_connection.ipsecpolicy.lifetime_value}}s 添加:salifetime={{ipsec_site_connection.ipsecpolicy.lifetime_value}}s

3. 重启服务

systemctl enable neutron-vpn-agent
service neutron-vpn-agent start
重启neutron所有服务

PS

Centos7中直接yum安装的libswan版本是3.8.这个会造成ipsec报错:whack:Pluto is not running(no "/var/run/pluto/pluto.ctl")

原因是版本的问题,3.8中很多配置都变了

经过测试使用2.6.38后,不需要修改neutron的代码ipsec就可用,本博客只是在使用3.8的情况下需要修改的代码

OpenStack-Neutron-VPNaaS-配置的更多相关文章

  1. OpenStack Neutron单网卡桥接模式访问外网

    环境配置: * Exsi一台 * Exsi创建的单网卡虚拟机一台 * Ubuntu 14LTS 64位操作系统 * OpenStack Liberty版本 * 使用Neutron网络而非Nova网络 ...

  2. OpenStack Neutron配置虚拟机访问外网

    配置完成后的网络拓扑如下: 当前环境: X86服务器1台 Ubuntu 16.04 DevStack搭建OpenStack 网络拓扑: 外部网络:192.168.98.0/24 内部网络:10.0.0 ...

  3. [转] OpenStack IPSec VPNaaS

    OpenStack IPSec VPNaaS ( by quqi99 ) 作者:张华  发表于:2013-08-03版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声 ...

  4. 深入浅出新一代云网络——VPC中的那些功能与基于OpenStack Neutron的实现(一)

    VPC的概念与基于vxlan的overlay实现很早就有了,标题中的"新"只是一个和传统网络的相对概念.但从前年开始,不同于以往基础网络架构的新一代SDN网络才真正越来越多的走进国 ...

  5. OpenStack—neutron组件介绍与安装

    neutron介绍 Neutron 概述:传统的网络管理方式很大程度上依赖于管理员手工配置和维护各种网络硬件设备:而云环境下的网络已经变得非常复杂,特别是在多租户场景里,用户随时都可能需要创建.修改和 ...

  6. 六、OpenStack—neutron组件介绍与安装

    一.neutron介绍 Neutron 概述:传统的网络管理方式很大程度上依赖于管理员手工配置和维护各种网络硬件设备:而云环境下的网络已经变得非常复杂,特别是在多租户场景里,用户随时都可能需要创建.修 ...

  7. [转]OpenStack Neutron解析

    1.为什么还需要linux bridge的部署方式? 2.哪一个网桥起着交换机的作用? 3.neutron如何实现私有网络的隔离 =================================== ...

  8. openstack neutron L3 HA

    作者:Liping Mao  发表于:2014-08-20 版权声明:能够随意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 近期Assaf Muller写了一篇关于Neutro ...

  9. openstack Neutron分析(3)—— neutron-dhcp-agent源码分析

    1.neutron dhcp3个主要部件分别为什么?2.dhcp模块包含哪些内容?3.Dnsmasq配置文件是如何创建和更新的?4.DHCP agent的信息存放在neutron数据库的哪个表中? 扩 ...

  10. OpenStack Neutron 之 Load Balance

    OpenStack Neutron 之 Load Balance 负载均衡(Load Balance)是 OpenStack Neutron 支持的功能之一.负载均衡能够将网络请求分发到多个实际处理请 ...

随机推荐

  1. 2.基础(Foundations)

    chain rule: Bayes' rule: 其他内容就是一些基本的概率论的概念(联合分布,边际分布等)和图的一些概念(节点,边,路径,向上闭包等)

  2. mysql like 查不到结果 中文 查询优化

    [参考]mysql like %keyword%不走索引替代方法 在使用msyql进行模糊查询的时候,很自然的会用到like语句,通常情况下,在数据量小的时候,不容易看出查询的效率,但在数据量达到百万 ...

  3. ubuntu16.04 在/etc/network/interfaces设置static ip无效

    双网卡使用无线网卡上互联网,使用以太网卡连局域网,在/etc/network/interfaces里对以太网卡设置static ip无效,使用ifconfig临时设置也仅能工作一会,设置的ip马上就消 ...

  4. 基于VS Code快速搭建Java项目

    有时候随手想写一点Java测试代码,以控制台程序为主,还会用到一些其它框架,并基于Maven构建. 1.Java Extension Pack一定要安装. 2.VS Code打开一个指定目录,创建相应 ...

  5. C# Linq处理list数据

    获取数据列表. //获取数据列表,Model是类 IList<Model> list = dao.getmx(Model, pageInfo);//DataTable数据DataTable ...

  6. C++ Addon Async 异步机制

    线程队列: libuv,window 可在libuv官网下载相应版本 opencv:  编译的时候opencv的位数要和 node的bit 一致 兼容electron :  node-gyp rebu ...

  7. windows下eclipse实现操作虚拟机ubantu中的hdfs hbase

    1.首先打开虚拟机,查看虚拟机的ip地址 2.修改C:\Windows\System32\drivers\etc下的主机名与ip的映射文件 3.配置Map/reduce 配置成功后可以查看hdfs文件 ...

  8. 剑指offer——python【第49题】把字符串转换成整数

    题目描述 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一 ...

  9. 谷歌浏览器(Chrome)禁止浏览器缓存 设置

    在开发项目期间用谷歌浏览器调试,他总是缓存我的css样式这个很气人啊,后经过摸索找到了方法,如下 先F12或者shift+ctrl+j 打开调试者工具,在找Network这个tab按钮,点击进入,勾选 ...

  10. Android 四大布局属性介绍

    线性布局 控件距离布局底,左,右,顶部部的距离 android:paddingBottom="35.0dip"          android:paddingLeft=" ...