OpenStack-Neutron-VPNaaS-配置
配置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-配置的更多相关文章
- OpenStack Neutron单网卡桥接模式访问外网
环境配置: * Exsi一台 * Exsi创建的单网卡虚拟机一台 * Ubuntu 14LTS 64位操作系统 * OpenStack Liberty版本 * 使用Neutron网络而非Nova网络 ...
- OpenStack Neutron配置虚拟机访问外网
配置完成后的网络拓扑如下: 当前环境: X86服务器1台 Ubuntu 16.04 DevStack搭建OpenStack 网络拓扑: 外部网络:192.168.98.0/24 内部网络:10.0.0 ...
- [转] OpenStack IPSec VPNaaS
OpenStack IPSec VPNaaS ( by quqi99 ) 作者:张华 发表于:2013-08-03版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声 ...
- 深入浅出新一代云网络——VPC中的那些功能与基于OpenStack Neutron的实现(一)
VPC的概念与基于vxlan的overlay实现很早就有了,标题中的"新"只是一个和传统网络的相对概念.但从前年开始,不同于以往基础网络架构的新一代SDN网络才真正越来越多的走进国 ...
- OpenStack—neutron组件介绍与安装
neutron介绍 Neutron 概述:传统的网络管理方式很大程度上依赖于管理员手工配置和维护各种网络硬件设备:而云环境下的网络已经变得非常复杂,特别是在多租户场景里,用户随时都可能需要创建.修改和 ...
- 六、OpenStack—neutron组件介绍与安装
一.neutron介绍 Neutron 概述:传统的网络管理方式很大程度上依赖于管理员手工配置和维护各种网络硬件设备:而云环境下的网络已经变得非常复杂,特别是在多租户场景里,用户随时都可能需要创建.修 ...
- [转]OpenStack Neutron解析
1.为什么还需要linux bridge的部署方式? 2.哪一个网桥起着交换机的作用? 3.neutron如何实现私有网络的隔离 =================================== ...
- openstack neutron L3 HA
作者:Liping Mao 发表于:2014-08-20 版权声明:能够随意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 近期Assaf Muller写了一篇关于Neutro ...
- openstack Neutron分析(3)—— neutron-dhcp-agent源码分析
1.neutron dhcp3个主要部件分别为什么?2.dhcp模块包含哪些内容?3.Dnsmasq配置文件是如何创建和更新的?4.DHCP agent的信息存放在neutron数据库的哪个表中? 扩 ...
- OpenStack Neutron 之 Load Balance
OpenStack Neutron 之 Load Balance 负载均衡(Load Balance)是 OpenStack Neutron 支持的功能之一.负载均衡能够将网络请求分发到多个实际处理请 ...
随机推荐
- Android 8 设置蓝牙名称 流程
记录android 8设置蓝牙名称的流程. packages/apps/Settings/src/com/android/settings/bluetooth/BluetoothDeviceRenam ...
- list add对象踩的坑
list 添加对象时,没有把new object写到循环体里,导致最后添加了相同的一个对象: public List<goods> find(String goodsname) { Lis ...
- Vim替换查找
##一.字符的替换及撤销(Undo操作) ###1.替换和撤销(Undo)命令 替换和Undo命令都是针对普通模式下的操作 命令 | 说明 -----|---- ...
- 织梦channelartlist标签当前栏目高亮
channelartlist标签完美支持currentstyle属性,实现自动加载当前栏目CSS样式,可以用来标识当前栏目位置的CSS,解决方法如下: 打开文件include\taglib\chann ...
- Flask学习笔记(3)--路由
0x01 参数传递 传递参数的语法是: /<参数名>/,然后在视图函数中,也要定义同名的参数. 参数的数据类型: 1.如果没有指定具体的数据类型,那么默认就是使用string 数据类型. ...
- 【Zookeeper系列】Zookeeper简单介绍(转)
原文链接:https://www.cnblogs.com/sunddenly/p/4033574.html 一.分布式协调技术 在给大家介绍ZooKeeper之前先来给大家介绍一种技术——分布式协调技 ...
- VS2013生成XP独立运行程序
一.首先选择静态库 如果设置不对会出现如下错误 fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll v ...
- 关于linux下ntp时间同步服务的安装与配置
1.安装ntp服务,要使用时间同步.那么服务端与客户端都需要使用如下命令安装NTP软件包 [root@ ~]# yum install ntp -y 2.如果只是作为客户端的话,配置则可以非常简单,编 ...
- kylin 使用RESTful API 请求
目前根据Kylin的官方文档介绍,Kylin的认证是basic authentication,加密算法是Base64,在POST的header进行用户认证我使用的用户和密码是(格式:username: ...
- 【C++/函数】实验2
1.实验内容 函数声明和函数定义: 形参和实参: 主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送. 形参:形式参数,表示主调函数与被调函数之间的联系.标识了在形参出现的位置 ...