环境配置:

* Exsi一台

* Exsi创建的单网卡虚拟机一台

* Ubuntu 14LTS 64位操作系统

* OpenStack Liberty版本

* 使用Neutron网络而非Nova网络

1 Exsi配置

如果OpenStack宿主机是Exsi创建的虚拟机,则必须要进行以下设置。

这个配置主要是让Exsi创建的虚拟机的网卡可以进入混杂模式。

如果没有这个设置,那么就会导致Exsi创建的虚拟机网卡不能分发包到OpenStack创建到虚拟机。

2 安装OpenStack 

最好使用apt-get方式安装OpenStack, 如果是用DevStack安装的话,重启机器后,OpenStack服务不能正常启动。

因为在后续的网络配置过程中,可能会需要重启网络,重启机器。

3 修改Ubuntu网络配置文件

1) /etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down

auto br-ex
iface br-ex inet static
address 192.168.98.85
netmask 255.255.255.0
gateway 192.168.98.1
dns-nameservers 218.6.200.139

2) /etc/resolv.conf

enter the following details

nameserver 192.168.98.1

nameserver 218.6.200.139

4 挂载eth0到br-ex桥上

sudo ovs-vsctl add-port br-ex eth0

以下两条命令可以查看是否挂载成功和路由表情况:

sudo ovs-vsctl show

route -n

5 设置eth0为混杂模式

sudo ifconfig eth0 promisc

6 重启OpenStack宿主机网络

重启机器可以成功,如果不重启机器可以尝试以下方法:

1)sudo ifdown --exclude=lo -a && sudo ifup --exclude=lo -a

2)sudo service networking restart

3)sudo service network-manager restart

7 OpenStack Neutron网络配置

1)删除Neutron上的public,private网络和Router1路由。

2)新建PublicSite网络,Network Type设置为Flat. Physical Network设置为default,并创建子网192.168.98.0/24

3)新建PrivateSite网络,Network Type设置为Local,并创建子网10.0.0.0/24

4) 创建路由表Router1,连接PublicSite和PrivateSite.

5) 创建完成的桥接网络如下。

6)最后创建虚拟机实例,测试虚拟机实例能否ping通外网即可。

编者注:本文来自OpenStack开源团队工程师向新勇

OpenStack Neutron单网卡桥接模式访问外网的更多相关文章

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

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

  2. neutron flat和vxlan网络访问外网流量走向

    OpenStack版本:Mitaka 物理节点: Hostname Management IP Tunnel IP Role test-ctrl-01 192.168.100.11 192.168.1 ...

  3. VMware仅主机模式访问外网

    原文转载至:https://blog.csdn.net/eussi/article/details/79054622 保证VMware Network Adapter VMnet1是启用状态  将可以 ...

  4. VMware workstation 网络选择 NAT模式 访问外网

    多年不用本地做测试  尽然被 nat 模式給卡着了  :动手的还是所以要记录一下: 1.根据自己需求创建 虚拟机 之后: 配置[网络适配器] -- 选择 nat 模式 ( 选择网卡 )   虚拟机   ...

  5. Linux 虚拟机通过NAT模式访问外网

    1.配置本地VM8地址   2.配置虚拟机NAT网卡:设置VM8网卡地址和Linux主机相同网段地址,网关随便设置   3.编译网卡文件 vim /etc/sysconfig/network-scri ...

  6. Win10 在VM里面装Centos7.4后使用桥接模式连接外网,并用MobaXterm远程虚拟机详细教程

    1.首先登陆虚拟机如图 2.执行ping命令看虚拟机里面的centos7是否可以连网 ping www.baiducom 此时会报错:name or service not known 3.设置一个文 ...

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

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

  8. 在OpenStack里怎样配置Neutron,让虚拟机访问外网

    http://blog.csdn.net/zhangli_perdue/article/details/50264681 OpenStack里虚机(或者叫instance)只有在分配floating ...

  9. 本地虚拟机NAT模式下怎么设置才可以访问外网

    记:因为我要在本机虚拟机上安装Docker,结果发现虚拟机环境不能上网,是主机模式.我要调成net模式下才可以访问外网,这就需要怎么设置.下面文章记录一下. 在本机安装VMware软件后,系统中会自动 ...

随机推荐

  1. Spring boot集成Swagger2,并配置多个扫描路径,添加swagger-ui-layer

    Spring boot集成Swagger,并配置多个扫描路径 1:认识Swagger Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目 ...

  2. 跨平台的EVENT事件 windows linux(转)

    #ifndef _HIK_EVENT_H_ #define _HIK_EVENT_H_ #ifdef _MSC_VER #include <Windows.h> #define hik_e ...

  3. C++定义和初始化数组以及memset的使用(转)

    一.一维数组 静态 int array[100]; 定义了数组array,并未对数组进行初始化 静态 int array[100] = {1,2}: 定义并初始化了数组array 动态 int* ar ...

  4. 自定义express中间件

    const http = require('http') class LikeExpress { constructor() { this.middleList = [] this.routes = ...

  5. Codeforces Round #605 (Div. 3) E. Nearest Opposite Parity(最短路)

    链接: https://codeforces.com/contest/1272/problem/E 题意: You are given an array a consisting of n integ ...

  6. [ARIA] Create an Accessible Tooltip on a Text Input

    Here we use HTML and CSS to create a stylish yet semantic tooltip on a form input. I am using aria-d ...

  7. 样式声明对象:document.styleSheets[0].rules[4].style;

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. LOJ P10016 灯泡 题解

    每日一题 day50 打卡 Analysis 用初中学的相似推一波式子,再用三分一搞就好了. #include<iostream> #include<cstdio> #incl ...

  9. JavaScript的入门篇

    快速认识JavaScript 熟悉JavaScript基本语法 窗口交互方法 通过DOM进行网页元素的操作 学会如何编写JS代码 运用JavaScript去操作HTML元素和CSS样式 <!DO ...

  10. 使用localstorage.setItem()存储对象

    使用localstorage.setItem(name,value)存储JSON对象时会发现浏览器存储的内容为[object,object],并不是我们想要的内容,这是因为我们在存储的时候没有进行类型 ...