对于这两个interface含义的理解一波三折,下面我把各种理解都记录下来.
 
2014-9-23
 
#可以把flat_interface理解为Openstack整套生态系统内部的网络接口,内部各节点之间相互通讯用的
#可以把public_interface理解为Openstack系统之外的面向管理员,面向控制端的接口
所以在我的笔记中flat_interface = eth1 (GE网卡,mannual), public_interface = eth0(BBG网卡,static),因为我默认BBG是用来管理的,GE用来内部通讯的.
 
2014-10-28
 
回顾github上的一篇文章 (https://github.com/ChaimaGhribi/Icehouse-Installation-Flat-Networking/blob/master/OpenStack-Icehouse-Installation-Nova-Network.rst#install-the-compute-service-nova), 发现文中nova.conf的public_interface=br100, 对此感到非常奇怪!
我尝试将GE网卡比作文中的eth0用来内部通讯+互联网通讯, BBG网卡比作eth1用来管理. 然后创建浮动ip地址池,将3.242.164.4分配给了cirros(内部IP 172.52.17.2), 但是外界无法联系到cirros.
于是我将BBG网卡的gateway取消, 将GE网卡配上ip, netmask, gateway. 此时从我的电脑3.242.164.104可以ping或ssh至cirros了. 但是从cirros内却无法ping通我.
我尝试使用该文中的public_interface = br100方法,可以达到互通的目的,但是不理解原理.
 
 
2014-10-29
 
今天看了一篇文章: https://groups.google.com/forum/#!topic/china-openstack-user-group/7obOGTcv6gk
Q: 请教一个问题,我在主机上一块网卡安装了Openstack(havana)。网络用的nova-network。配置j如下
network_manager=nova.network.manager.FlatDHCPManager
flat_network_bridge=br100
flat_interface=eth0
public_interface=eth0
eth0网卡地址为10.10.101.105,网关是10.10.101.254,可以连通外网。

br100以及虚拟机的ip用的网段为192.168.100.0/24。现在问题是虚拟机不能访问外网和主机的局域网。ping命令如下
PING www.baidu.com(115.239.210.27)
From 192.168.100.1: icmp_seq=2 Redirect Host(New nexthop: 10.10.101.254)
From 192.168.100.1: icmp_seq=3Redirect Host(New nexthop: 10.10.101.254)
可以看到DNS应该没问题,但是访问不了外网。
A: 由于最近忙别的去了,把这个帖子忘了,今天偶尔看到邮件,有人问这个问题,我把我的解决办法说一下。

1、如果你有两块网卡,当然将flat_interface和flat_interface设成不同的网卡是最好的了。flat_interface是通过网桥连接虚拟机的,随便设置一个网卡就行;public_interface一定要设成你连上外网的那个网卡,这样虚拟机就可以直接上网了。
2、如果你只有一块网卡如”eth0“,那么上面的设置时没有问题的,至于上不去网,是iptables的问题。我的解决办法是执行下面一条命令就行了
iptables -t nat -A POSTROUTING -o br100 -j MASQUERADE
这是到目前为止我认为正确的理解,即: flat主内,public主外似乎还是没错的, 但是管理网络也是可以充当实例间通讯网络的 (这是和2014-9-23理解的不同之处), 所以flat_interface = eth0(BBG). public_interface=eth1(GE), 用GE网卡充当实例访问互联网的那块网卡.
 
2014-10-30
 
昨天的文章中说"flat_interface随便设置一个网卡就行", 今天想了下似乎有道理, 因为一般情况下,所有compute结点的网卡都接在网络中,相互之间肯定可以通讯, 所以flat网卡同时也可以是public网卡.

对于flat_interface与public_interface的理解的更多相关文章

  1. openstack搭建配置

    安装和配置网络节点vim /etc/sysctl.confnet.ipv4.ip_forward=1net.ipv4.conf.all.rp_filter=0net.ipv4.conf.default ...

  2. 7. Add a networking service

    Controller Node: 1. sudo vi /etc/nova/nova.conf [DEFAULT] ... network_api_class = nova.network.api.A ...

  3. openstack组件手动部署整合

    preface:当你完全且正确的配置好整个OpenStack ENV 你将能看到的和体验到的!!! 我们先来看看简单效果吧,祝君能在这条路上走的更远,更好;

  4. Deploying Cloud Foundry on OpenStack Juno and XenServer (Part I)

    link http://rabbitstack.github.io/deploying-cloud-foundry-on-openstack-juno-and-xenserver-part-i/ Cl ...

  5. 8.OpenStack网络组件

    添加网络组件 安装和配置控制器节点 创建数据库 mysql -uroot -ptoyo123 CREATE DATABASE neutron; GRANT ALL PRIVILEGES ON neut ...

  6. 理解CSS视觉格式化

    前面的话   CSS视觉格式化这个词可能比较陌生,但说起盒模型可能就恍然大悟了.实际上,盒模型只是CSS视觉格式化的一部分.视觉格式化分为块级和行内两种处理方式.理解视觉格式化,可以确定得到的效果是应 ...

  7. 彻底理解AC多模式匹配算法

    (本文尤其适合遍览网上的讲解而仍百思不得姐的同学) 一.原理 AC自动机首先将模式组记录为Trie字典树的形式,以节点表示不同状态,边上标以字母表中的字符,表示状态的转移.根节点状态记为0状态,表示起 ...

  8. 理解加密算法(三)——创建CA机构,签发证书并开始TLS通信

    接理解加密算法(一)--加密算法分类.理解加密算法(二)--TLS/SSL 1 不安全的TCP通信 普通的TCP通信数据是明文传输的,所以存在数据泄露和被篡改的风险,我们可以写一段测试代码试验一下. ...

  9. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

随机推荐

  1. codeforces A. IQ Test 解题报告

    题目链接:http://codeforces.com/problemset/problem/328/A 一开始单纯地直接判断给出的序列是等差还是等比,连这一句“You should also prin ...

  2. Powershell 批量替换文件

    Powershell 批量替换文件 ##作者:Xiongpq ##时间:2015-06-10 18:50 ##版本:2.0 ##源文件目录 ##源文件目录的所有文件都会覆盖目标目录的同名文件,源文件目 ...

  3. [Android Pro] sqlite数据库的char,varchar,text,nchar,nvarchar,ntext的区别

    reference : http://blog.csdn.net/xingfeng0501/article/details/7817121 1.CHAR.CHAR存储定长数据很方便,CHAR字段上的索 ...

  4. 告别div,可以代替div的几个标签

    几个最常用的用来代替DIV的HTML5元素 虽说html5中大多数功能性的元素如<video><canvas><audio>等还得不到当前主流浏览器的支持(主要就是 ...

  5. (八)STM32的CAN模块实验

    bxCAN是基本扩展CAN(Basic Extended CAN)的缩写,它支持CAN协议2.0A和2.0B.它的设计目标是,以最小的CPU负荷来高效处理大量收到的报文.它也支持报文发送的优先级要求( ...

  6. Diablo3

    1.装备 主手:元素弓 副手:精细箭袋 头: 胸:燃火外套 手:娜塔亚的手感 护腕:稳击护腕 戒指:罗盘玫瑰+布尔凯索的婚戒 颈部:旅者之誓 腰:科雷姆的强力腰带(速度加25%) 腿:深渊挖掘裤 脚: ...

  7. jquery require.js AMD

    一.为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了.后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载.下面的网页代 ...

  8. 企业级项目中最常用到的SQL

    用SQL语句添加删除修改字段 1.增加字段     alter table docdsp    add dspcode char(200) 例如: 表gwamis.d410Sctzmx添加字段f410 ...

  9. 有哪些关于 Android 开发的博客值得订阅?

    链接:http://www.zhihu.com/question/19788650/answer/60771437来源:知乎 Google 官方[Android Developers Blog](An ...

  10. Java Hour 30 Weather ( 3 )

    有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. Hour 30 上回终点 Model 这里有一些java bean 的 风格约 ...