http://blog.csdn.net/zhangli_perdue/article/details/50264681

OpenStack里虚机(或者叫instance)只有在分配floating IP后才能访问外网,那么需要怎样做配置才能达到目的呢?

1. 需要在网络节点上确定一个可以访问外网的物理网卡,这个网卡可以和管理网卡是一个。这里我们假定外网网卡和管理网卡是独立的,且外网网卡的名字叫做eth2。

2. 添加一个新的bridge br-ex,并将eth2作为port绑定到br-ex

  1. # ovs-vsctl add-br br-ex
  2. # ovs-vsctl add-port br-ex eth2

3. 创建/etc/sysconfig/network-scripts/ifcfg-eth2文件,并输入如下内容:

  1. TYPE=OVSPort
  2. BOOTPROTO=none
  3. DEVICETYPE=ovs
  4. OVS_BRIDGE=br-ex
  5. DEVICE=eth2
  6. ONBOOT=yes

4. 创建/etc/sysconfig/network-scripts/ifcfg-br-ex文件,并输入如下内容:

  1. TYPE=OVSBridge
  2. BOOTPROTO=none
  3. DEVICETYPE=ovs
  4. NAME=br-ex
  5. DEVICE=br-ex
  6. ONBOOT=yes

5. 重新启动网络服务让配置生效

  1. # systemctl restart network.service

6. 用具有admin role的用户在Openstack Controller节点创建外网(external network)和相应子网,这里的外网是所谓的provider network,是不允许普通权限的租户创建的,普通的租户只能创建租户网络。注意"--router:external=true"选项表示这是一个外网,网络类型选的是flat(如果外网是VLAN,就选VLAN),子网的CIDR是192.168.100.0/24。

  1. # neutron net-create --provider:network_type flat --provider:physical_network default --router:external=true public
  2. # neutron subnet-create public --name public_subnet --allocation-pool start=192.168.100.100,end=192.168.100.150 192.168.100.0/24

创建完成后显示结果如下:

7. 如果要让租户的虚机访问外网,还需要创建一个router,用普通租户用户创建router,命令如下:

  1. # neutron router-create router01

8. 将租户的私有子网(private_sub)作为interface加入router01,并将外网(public)设置为网关:

  1. # neutron router-interface-add router01 private_sub
  2. # neutron router-gateway-set router01 public

9. 然后就可以为虚拟机分配floating IP了。分配完成后虚拟机就可以访问外网了。

  1. # neutron floatingip-create public
  2. # neutron floatingip-list

    1. # neutron floatingip-associate e12a6c2b-fc5e-4448-a6bb-3047638b850e 164f410e-6961-422d-b256-0609bfe6e9ff

在OpenStack里怎样配置Neutron,让虚拟机访问外网的更多相关文章

  1. OpenStack创建网络和虚拟机、dhcp设备、虚拟路由器、虚拟机访问外网原理分析

    创建网络和虚拟机流程: 1.创建网络和子网 背后发生了什么: Neutron让控制节点上针对此子网的dhcp(虚拟设备)启动,用于给该子网下的实例分配ip 2.生成虚拟机 背后发生了什么: 用户通过G ...

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

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

  3. VMware配置Linux虚拟机访问外网

    [虚拟机版本] 系统版本 : Centos 6.8 [连接方法] 网络模式:桥接模式 ps:本人比较喜欢用桥接,直接NAT也是可以的 [配置步骤] 1.配置网卡 #配置命令 vi /etc/sysco ...

  4. vmware进程,虚拟机NAT模式配置固定ip,访问外网与ping通主机

    vmware进程杀不掉 在使用vmware虚拟机时,如果强制结束vmware进程,可能会发现在资源监视器中有一个vmware-vmx.exe进程始终关不掉,获得管理员权限去杀或者重启都没有用,然后正常 ...

  5. VirtualBox - NAT虚拟机访问外网 + Host-Only物理主机虚拟机互访

    [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-System_eth0 # 未手动设定HOST-ONLY静态IP时的默认值 #T ...

  6. 虚拟机固定IP访问外网配置

    大家都知道虚拟机网络连接有三种模式,桥接,host-only,NAT,不再赘述. 这里说一下桥接模式下,实现主机与虚拟机通讯,虚拟机与虚拟机通信,虚拟机访问外网,废话不多说,直接说解决方案: 1.本地 ...

  7. 本地虚拟机在NAT网络连接模式下如何设置才可以访问外网以及使用Xshell远程连接

    本文演示环境: 笔记本电脑系统:windows 7 虚拟机系统:CentOS 7 虚拟化软件:VMware Workstation 12 远程连接工具:Xshell 5 第一步: 打开虚拟网络编辑器 ...

  8. VMware安装Ubuntu配置NAT模式下静态IP,解决访问外网问题

    安装好VMware后,打开网络连接可以看到有VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两个网络适配器,VMnet1是针对桥接 ...

  9. vmvare workstation虚拟机连接外网

    在使用网上的yum源的时候,我们就需要我们的虚拟机能连接外网,在这里记录下配置vmvare workstation虚拟机连接外网的方法. 配置步骤: 1.打开主机的 "网络和Internet ...

随机推荐

  1. VB 十六进制转汉字的函数

    Public Function HexToStr(ByVal strs As String) As String Dim i As Integer, tmp As String, n If Len(s ...

  2. 关于ajax里边不能识别$(this)的解决方法

    在ajax外面弄个变量var mythis = $(this),然后在里面用就行

  3. netty + Protobuf (整合二)

    [正文]Protobuf 消息设计 疯狂创客圈 死磕Netty 系列之12 [博客园 总入口 ] 本文说明 本篇是 netty+Protobuf 实战的第二篇,完成一个 基于Netty + Proto ...

  4. MAC OSX--docker

    http://www.cnblogs.com/yjmyzz/p/docker-install-tutorial.html http://www.cnblogs.com/yjmyzz/p/docker- ...

  5. Vue(2)- v-model、局部组件和全局组件、父子组件传值、平行组件传值

    一.表单输入绑定(v-model 指令) 可以用 v-model 指令在表单 <input>.<textarea> 及 <select> 元素上创建双向数据绑定. ...

  6. MYSQL SET ENUM字段类型

    show create table stu;//显示建表语句 create table t1(t enum('a','b','c')); insert into t1 values('a'); cre ...

  7. Tomcat WEB站点部署

    上线的代码有两种方式, 第一种方式是直接将程序目录放在webapps目录下面 第二种方式是使用开发工具将程序打包成war包,然后上传到webapps目录下面.下面让我们见识一下这种方式 这个网站里面已 ...

  8. java 程序cpu100%问题

    找到java应用进程 ID即 java_id 找到该 java_id对应的CPU占用比较大的线程 ID即 thread_id 使用jdk自带jstack工具打印跟该线程相关的堆栈信息 [root@pv ...

  9. window7+wamp环境配置Oracle数据库连接

    最近开发需要使用的oracle数据库!翻看了PHP手册,也在网上找了些帖子!功夫不负有心人,花费了四五个小时的时间,终于找到了Oracle的配置方法.下面就讲解下如何配置Oracle数据库连接吧! 附 ...

  10. web项目的getContextPath()

    伯乐一看小编的这个博文的标题是不是觉得有些小,以点到面,知道了web中getContextPath()这种获取路径的方式,显然其他的方式的是可以以此类推的.常说,工作学习找共同点嘛. 上一段我们也提高 ...