Neutron的第二个网络模型,自服务网络

参考官方文档:https://docs.openstack.org/newton/zh_CN/install-guide-rdo/neutron-controller-install-option2.html

  

  在控制节点数据库,消息队列,keystone之前已经配置好

  编辑``/etc/neutron/neutron.conf`` 文件并完成如下操作

[DEFAULT]
...
service_plugins = router
allow_overlapping_ips = True

  编辑``/etc/neutron/plugins/ml2/ml2_conf.ini``文件并完成以下操作:

  在``[ml2]``部分,启用flat,VLAN以及VXLAN网络:

[ml2]
type_drivers = flat,vlan,local,gre,vxlan,geneve

  在``[ml2]``部分,启用VXLAN私有网络:

[ml2]
...
tenant_network_types = flat,vlan,gre,vxlan,geneve

  在``[ml2]``部分,启用Linuxbridge和l2机制(原配置已经有linuxbridge):

[ml2]
...
mechanism_drivers = linuxbridge,l2population

  在``[ml2]`` 部分,启用端口安全扩展驱动:

[ml2]
...
extension_drivers = port_security

  在``[ml2_type_flat]``部分,配置公共虚拟网络为flat网络(之前已经修改并且添加了internal):

[ml2_type_flat]
...
flat_networks = provider

  在``[ml2_type_vxlan]``部分,为私有网络配置VXLAN网络识别的网络范围

[ml2_type_vxlan]
...
vni_ranges = 1:1000

  在 ``[securitygroup]``部分,启用 ipset 增加安全组的方便性(之前已配置):

[securitygroup]
...
enable_ipset = True

  配置Linuxbridge代理

  Linuxbridge代理为实例建立layer-2虚拟网络并且处理安全组规则。

  编辑``/etc/neutron/plugins/ml2/linuxbridge_agent.ini``文件并且完成以下操作:

  在``[linux_bridge]``部分,将公共虚拟网络和公共物理网络接口对应起来(之前已修改):

[linux_bridge]
physical_interface_mappings = provider:eth0,internal:eth1

  在``[vxlan]``部分,启用VXLAN覆盖网络,配置覆盖网络的物理网络接口的IP地址,启用layer-2 population:

  enable_vxlan之前配置为False

  local_ip为本地ip一会修改计算节点也是计算节点的本地ip

[vxlan]
enable_vxlan = True
local_ip =192.168.0.112
l2_population = True

  在 ``[securitygroup]``部分,启用安全组并配置 Linux 桥接 iptables 防火墙驱动(之前已修改):

[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

  

  配置layer-3代理

  编辑``/etc/neutron/l3_agent.ini``文件并完成以下操作:

  在``[DEFAULT]``部分,配置Linuxbridge接口驱动和外部网络网桥:

[DEFAULT]
...
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver

  

  配置DHCP代理(之前已经配置)

  编辑``/etc/neutron/dhcp_agent.ini``文件并完成下面的操作:

  在``[DEFAULT]``部分,配置Linuxbridge驱动接口,DHCP驱动并启用隔离元数据,这样在公共网络上的实例就可以通过网络来访问元数据

[DEFAULT]
...
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = True

  

  在计算节点配置

  配置Linuxbridge代理

  编辑``/etc/neutron/plugins/ml2/linuxbridge_agent.ini``文件并且完成以下操作

  在``[linux_bridge]``部分,将公共虚拟网络和公共物理网络接口对应起来(之前已配置)

[linux_bridge]
physical_interface_mappings = provider:eth0,internal:eth1

  在``[vxlan]``部分,启用VXLAN覆盖网络,配置覆盖网络的物理网络接口的IP地址,启用layer-2 population

[vxlan]
enable_vxlan = True
local_ip = 192.168.0.115
l2_population = True

  在 ``[securitygroup]``部分,启用安全组并配置 Linux 桥接 iptables 防火墙驱动(之前已经配置)

[securitygroup]
...
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

  

  重启服务

  控制节点

systemctl restart neutron-server  neutron-linuxbridge-agent neutron-l3-agent

  计算节点

systemctl status neutron-linuxbridge-agent

  验证

neutron agent-list

  创建自服务网络 参考:https://docs.openstack.org/newton/zh_CN/install-guide-rdo/launch-instance-networks-selfservice.html

  在控制节点获取demo权限(因为是自服务网络所以用demo)

source demo-openstack 

  创建网络

openstack network create selfservice

  在网络上创建子网

openstack subnet create --network selfservice \
--dns-nameserver 192.168.0.1 --gateway 172.16.1.1 \
--subnet-range 172.16.1.0/24 selfservice

  创建路由器(使用admin)

  在控制节点上,加载 admin 凭证来获取管理员能执行的命令访问权限

source admin-openstack

  更新 provider网络

neutron net-update provider --router:external

  

  又回到demo

source demo-openstack

  创建路由(用路由把刚才创建的子网连接起来)

openstack router create router

  给路由器添加一个私网子网的接口

neutron router-interface-add router selfservice

  给路由器设置公有网络的网关

neutron router-gateway-set router provider

  

  验证

  使用demo登陆web界面

  网络-网络拓扑

  创建一台虚拟主机,选择网络的时候选择自服务网络

  先修改之前的限制网络配置操作再来创建主机

  编辑配置文件/etc/openstack-dashboard/local_settings把之前的以下配置改一下

  全部改成True之前单一扁平网络开启了会报错,现在即使不使用也不会报错

OPENSTACK_NEUTRON_NETWORK = {
'enable_router': False,
'enable_quotas': False,
'enable_ipv6': False,
'enable_distributed_router': False,
'enable_ha_router': False,
'enable_lb': False,
'enable_firewall': False,
'enable_vpn': False,
'enable_fip_topology_check': False,
OPENSTACK_NEUTRON_NETWORK = {
'enable_router': True,
'enable_quotas': True,
'enable_ipv6': True,
'enable_distributed_router': True,
'enable_ha_router': True,
'enable_lb': True,
'enable_firewall': True,
'enable_vpn': True,
'enable_fip_topology_check': True,

  重启apache

systemctl restart httpd

  

  私有网络无法访问公网可以添加一个公网IP

  计算-访问与安全-浮动IP-关联-选择端口

Openstack实现共有云VPC的SDN网络的更多相关文章

  1. OpenStack入门篇(二十二)之实现阿里云VPC的SDN网络

    1.修改/etc/neutron/neutron.conf配置 [root@linux-node1 ~]# vim /etc/neutron/neutron.conf [defalut] ... co ...

  2. Openstack实现共有云多flat网络

    首先给两台虚拟机添加网卡,模式为仅主机模式 配置控制节点IP /etc/sysconfig/network-scripts/ifcfg-eth1 TYPE=Ethernet BOOTPROTO=sta ...

  3. SDN网络中hypervisor带来的控制器时延(Hypervisor位置的优化)

    一,问题背景 1.介绍监督器大部分由软件实现,可灵活放置,高效的SDN网络虚拟化需要复杂的技术来放置hypervisor在合适的位置,才能提供租户最佳的性能.称为k-Network Hyperviso ...

  4. 一个比较有意思的SDN网络技术相关blog/doc

    http://feisky.xyz/sdn/linux/index.html 涵盖了目前主流的网络技术,所有比较有意思的内容全都覆盖了 SDN网络 目录 基本网络 TCP/IP标准模型 DHCP与DN ...

  5. 干货 | VPC之间的网络连通实践

    随着公有云技术的日臻完善,越来越多的政府部门.事业单位.企业.个人将自己的IT系统部署在公有云之上.在公有云之上部署业务系统有一个特点,就是先要规划网络,有了网络以后,才能把一些相关的产品部署在网络里 ...

  6. SDN网络虚拟化中有效协调的映射算法

    来自论文An efficient and coordinated mapping algorithm in virtualized SDN networks,来自期刊<信息与电子工程前沿> ...

  7. SDN网络虚拟化、资源映射等相关论文粗读

    1. Control Plane Latency with SDN Network Hypervisors: The Cost of Virtualization 年份:2016 来源:IEEE NE ...

  8. SDN网络IPv6组播机制支持实时视频业务海量用户扩展

    以 OpenFlow 技术为核心的软件定义网络(SDN)框架具有集中控制的功能能够自己感知网络拓扑的变化,在细粒度的路径选择.接入控制.负载均衡方面有着天然的优势,为 IPv6 组播功能的实现提供了好 ...

  9. Openstack neutron:云数据中心底层网络架构

    目录 - 目录 - 云数据中心流量类型 - NSX整体网络结构 - 管理网络(API网络) - 租户网络 - 外联网络 - 存储网络 - openstack整体网络结构 - 管理网络:(上图中蓝线) ...

随机推荐

  1. 【Material Design视觉设计语言】应用布局设计

    [Material Design视觉设计语言]章节列表 [Material Design视觉设计语言]开篇 [Material Design视觉设计语言]Material Design设计概述 [Ma ...

  2. 宏里面的(void)0

    在<c标准库>实现assert.h中有一个语句: #define assert(test) ((test)?(void)0 : _Assert(__FILE__":"_ ...

  3. C++ string long double转char*

    long long q = 10; ]; char* output; sprintf(s, "%ld", q); output = s; double ]; sprintf(s1, ...

  4. SMBUS的介绍与访问

    博文是为了总结自己在bios学习上面的点点滴滴,并且加深印象,由于本人水平有限,难免存在不足之处,望指正,同时感谢CSDN提供的平台.本文主要介绍的是SMBUS. 1  SMBUS的简介 特点: SM ...

  5. [svc]influxdb+grafana实战-各省份api访问成功率统计

    简单说下需求: 统计各个省份的 3大运营商的接口访问成功率,绘图展示 数据格式 {"mobile" : "15812345608", "provinc ...

  6. node js 调试出现同一个端口启动多次报错处理方案 Error: listen EADDRINUSE

    windows 下 1.查询端口占用的进程ID: netstat -aon | findstr "80"    80为端口号, 输出为: TCP    0.0.0.0:3000   ...

  7. nginx解析漏洞

    一个比较老的漏洞了,但是今天在一个交流群里大佬们有那么一个案例.就深入学习了一下其原理. Nginx当检查url最后的文件名为脚本的时候,他就会把整个程序当作脚本来执行,否则就当作非脚本执行. 正确上 ...

  8. Android——Android studio项目中如何查看R.java文件(转)

    Android Studio 是Google推出的一个Android开发环境,它集成了Android 开发工具用于开发和调试,类似 Eclipse ADT.Google公司停止对eclipse的后续支 ...

  9. PHP多进程(4) :内部多进程

    说的都是只兼容unix 服务器的多进程,下面来讲讲在window 和 unix 都兼容的多进程(这里是泛指,下面的curl实际上是通过IO复用实现的). 通过扩展实现多线程的典型例子是CURL,CUR ...

  10. java---多线程及线程的概念

    如果对什么是线程.什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内. 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现.说这个话其 ...