Openstack icehouse ubuntu 部署 - 虚拟机网络配置(GRE配置版本)
来源:互联网 发布:数据字典是用来定义 编辑:程序博客网 时间:2024/05/22 06:36
Openstack icehouse ubuntu 部署 - 虚拟机网络配置(GRE配置版本)
1、配置前提
已按照icehouse官方文档配置好了一套 3 节点的openstack环境。
2、环境配置说明
本人是用家用笔记本创建的3台ubuntu的虚拟机来构建的,虚拟机配置信息如下:
NAT模式下外网网关:172.16.77.2
节点名称虚拟硬件(硬盘,内存,CPU)ip地址(接口)作用与运行的服务 controller20GB, 1GB, 1eth0:172.16.77.11(管理网络)neutron、nova、glance、rabbitmq-server、DB network20GB, 1GB, 1eth0:172.16.77.21(管理网络)
eth1:192.168.10.21(虚拟机通信网络)
eth2:ext(外网网络)neutron,openvswitch(l2,l3,dhcp agent) compute120GB, 2GB, 2eth0:172.16.77.31(管理网络)
eth1:192.168.10.31(虚拟机通信网络) neutron,nova-compute,openvswitch(l2 agent)
为了方便配置,将各节点网络做了些修改后变成如下配置:
节点名称虚拟硬件(硬盘,内存,CPU)ip地址(接口)作用与运行的服务 controller20GB, 1GB, 1eth0:172.16.77.11(管理网络、外网网络)neutron、nova、glance、rabbitmq-server、DB network20GB, 1GB, 1eth0:172.16.77.21(管理网络、外网网络)
eth1:192.168.10.21(虚拟机通信网络) neutron,openvswitch(l2,l3,dhcp agent) compute120GB, 2GB, 2eth0:172.16.77.31(管理网络、外网网络
eth1:192.168.10.31(虚拟机通信网络) neutron,nova-compute,openvswitch(l2 agent)
节点名称虚拟硬件(硬盘,内存,CPU)ip地址(接口)作用与运行的服务 controller20GB, 1GB, 1eth0:172.16.77.11(管理网络、外网网络)neutron、nova、glance、rabbitmq-server、DB network20GB, 1GB, 1eth0:172.16.77.21(管理网络、外网网络)
eth1:192.168.10.21(虚拟机通信网络) neutron,openvswitch(l2,l3,dhcp agent) compute120GB, 2GB, 2eth0:172.16.77.31(管理网络、外网网络
eth1:192.168.10.31(虚拟机通信网络) neutron,nova-compute,openvswitch(l2 agent)
3、网络节点配置
首先我们按照官方指导创建两个neutron系统默认使用的openswitch网桥(br-ex, br-int):
# ovs-vsctl add-br br-int
# ovs-vsctl add-br br-ex
接下来官方中,需要将一个连接在外网上的接口(比如eth2)加入到br-ex(该网桥就是负责外网与虚拟路由的连接)中,如下
# ovs-vsctl add-port br-ex eth2
因为我在网络上做了些调整,那么现在将eth0加入到网桥中:
# ovs-vsctl add-port br-ex eth0
我们会发现,配置完成后网络节点不能上网了,就连网关也ping不通了,因为加入到网桥的接口是作为二层接口来看待的,因此
没有IP地址,也就是说我们现在的网络节点没有了IP地址了,成为了为一台二层设备了,不能进行任何的三层(IP网络)操作了.
其实使用ovs-vsctl命令创建网桥时,会默认加入一个与网桥名同名的一个三层接口,对br-ex来说就是br-ex网络接口,
可以通过ifconfig命令或以下命令查看:
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:e5:58:67
inet6 addr: fe80::20c:29ff:fee5:5867/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
......
# ovs-vsctl show
......
Bridge br-ex
Port br-ex
Interface br-ex
type: internal
Port "eth0"
Interface "eth0"
Port "qg-996c4fe2-16"
Interface "qg-996c4fe2-16"
type: internal
Port "qg-b9e495ce-45"
Interface "qg-b9e495ce-45"
type: internal
ovs_version: "2.0.2"
因此我们可以将 br-ex 接口的ip地址设成原来eth0的地址,即网络节点的地址172.16.77.21/24,
同时需要修改路由表,添加一条从br-ex接口上的默认路由。
需要进行如下配置:
# ovs-vsctl add-br br-int
# ovs-vsctl add-br br-ex
# ovs-vsctl add-port br-ex eth0
# ifconfig br-ex 172.16.77.21 netmask 255.255.255.0
# route add default gw 172.16.77.2 br-ex
4、效果预览
在配置之前,我们看下,最终要达到什么样的效果:
网络拓扑如下:
外网公共网络:ext-net(子网:172.16.77.0/24)
内部网络1:private1(子网:192.168.1.0/24)
内部网络2:private2(子网:192.168.2.0/24)
虚拟机demo-vm1、demo-vm2在网络private1上,配置如下:
demo-vm1: 固定IP(192.168.1.2)
demo-vm2: 固定IP(192.168.1.4)、float Ip(172.168.200.201)
虚拟机demo-vm3在网络private2上,配置如下:
demo-vm3: 固定IP(192.168.2.2)、float Ip(172.168.200.204)
最终的网络目的是:
1 demo-vm1、demo-vm2 内部通讯正常
2 demo-vm1、demo-vm2 能和外部节点正常通讯
3 demo-vm2 和 demo-vm3 正常通讯
4 demo-vm3 能和外部节点正常通讯
5 外部能正常访问demo-vm2、demo-vm3
5、配置网络、子网、路由和虚拟机
配置外网网络 ext-net:
# neutron net-create ext-net --shared --router:external=True
# neutron subnet-create ext-net --name ext-subnet \
--allocation-pool start=172.16.77.200,end=172.16.77.240 \
--disable-dhcp --gateway 172.16.77.2 172.16.77.0/24
创建私有网络private1:
# neutron net-create private1
配置子网
# neutron subnet-create private1 --name private1-subnet \
--gateway 192.168.1.1 192.168.1.0/24
配置路由
#neutron router-create private1-router
添加路由内网接口
# neutron router-interface-add private1-router private1-subnet
设置路由外网网关
# neutron router-gateway-set private1-router ext-net
创建私有网络private2:
# neutron net-create private2
配置子网
# neutron subnet-create private2 --name private2-subnet \
--gateway 192.168.2.1 192.168.2.0/24
配置路由
#neutron router-create private2-router
添加路由内网接口
# neutron router-interface-add private2-router private2-subnet
设置路由外网网关
# neutron router-gateway-set private2-router ext-net
创建完成后,我们在horizon页面能看到相应的网络:
创建虚拟机,选择对应规划的网络,这里我是直接在horizon页面创建的。如下:
需要特别注意的是,创建虚拟机的用户请选择(demo用户)
固定IP是自动分配的,浮动IP在虚拟机创建完成后,点击动作 -> 更多 -> 绑定浮动IP,就可以从外部网络配置虚拟机的浮动IP了。
按照规划的IP创建好虚拟机后,需要配置默认防火墙的设置:
注意:虚拟机所在的 用户 下配置防火墙(我这里是demo用户):
开放防火墙访问:(ping)
# nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
开放远程访问端口:(ssh)
# nova secgroup-add-rule default tcp 22 22 0.0.0.0/0
(注意,请以demo用户环境变量去执行如下命令)
本人的环境变量如下:demo-openrc.sh
export OS_USERNAME=demo
export OS_PASSWORD=DEMO_PASS
export OS_TENANT_NAME=demo
export OS_AUTH_URL=http://icehouse1-controller:35357/v2.0
防火墙开放后,可以通过命令去检验是否可以访问虚拟机内部网络了:
在network节点,查看路由信息:
# ip netns
qdhcp-3f117010-e64e-42f2-8001-f20601b11bc0
qrouter-54378e42-205c-4fee-afde-e648fa821530
qdhcp-6dcaa9da-79ab-4550-8d47-00efa82eedb9
qrouter-83d34437-35b6-4dd5-a71f-62a91c3cf704
因为我们有两个路由,所以有多条信息
# ip netns exec qrouter-54378e42-205c-4fee-afde-e648fa821530 ping 192.168.2.2
PING 192.168.2.2 (192.168.2.2) 56(84) bytes of data.
64 bytes from 192.168.2.2: icmp_seq=1 ttl=64 time=16.3 ms
64 bytes from 192.168.2.2: icmp_seq=2 ttl=64 time=0.961 ms
如上配置完成后,验证下虚拟机之间、虚拟机外网访问、不通子网虚拟机之间、外部访问虚拟机是否OK了:
1 demo-vm1、demo-vm2 内部通讯正常
2 demo-vm1、demo-vm2 能和外部节点正常通讯
3 demo-vm2 和 demo-vm3 正常通讯
4 demo-vm3 能和外部节点正常通讯
5 外部能正常访问demo-vm2、demo-vm3
0 0
- Openstack icehouse ubuntu 部署 - 虚拟机网络配置(GRE配置版本)
- Openstack Icehouse 虚拟机迁移配置(转)
- Openstack Icehouse Spice配置
- Openstack Icehouse Spice配置
- KVM虚拟机部署openstack的网络配置
- openstack虚拟机网络配置
- icehouse版本openstack部署lbaas服务
- 通过devstack自动部署Openstack icehouse 版本
- OpenStack 部署总结之:在CentOS 6.5上使用RDO单机安装icehouse(Ml2+GRE)
- OpenStack 部署总结之:在CentOS 6.5上使用RDO安装双结算结点的icehouse(Ml2+GRE)
- OpenStack 部署总结之:单节点icehouse网桥的配置
- icehouse版本openstack部署neutron防火墙-fwaas服务
- 使用ml2 plugin配置OpenStack Neutron gre 网络
- OpenStack Newton版本部署 ---- 环境配置
- openstack icehouse部署学习笔记
- OpenStack多节点部署(三)——网络配置
- 部署完openstack后的网络配置(一)
- 部署完openstack后的网络配置(二)
- ACM整理(七)——1006:zoj
- Java实现http协议的解析
- 函数指针
- hdu 5015 233 Matrix 2014 ACM/ICPC Asia Regional Xi'an Online 矩阵快速幂
- 猫推荐算法大赛Top 9团队
- Openstack icehouse ubuntu 部署 - 虚拟机网络配置(GRE配置版本)
- HDU 5009 Paint Pearls(西安网络赛C题)
- Java深入 - Java Socket和NIO
- Linux服务器编程之:truncate()函数+案例说明
- Java集合框架的知识总结(1)
- 【转】数学专业的数学与计算机专业的数学的比较
- Distributed transactions with multiple databases, Spring Boot, Spring Data JPA and Atomikos
- OO and Procedural
- HDU 5007 Post Robot(字符串寻找)