对于这两个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. DP:Corn Fields(POJ 3254)

    北大教你如何高效养牛(误)(点我查看)  2015-08-21: 问题的大意就是有一片稻田,里面有很多坑,你要在上面种稻谷,然后呢田里面还会养牛,牛不喜欢扎堆吃饭,所以呢你种的稻谷要间隔种在坑里面,所 ...

  2. codeforces 479C Exams 解题报告

    题目链接:http://codeforces.com/problemset/problem/479/C 题目意思:简单来说,就是有个人需要通过 n 门考试,每场考试他可以选择ai, bi 这其中一个时 ...

  3. Mac OS Ruby安装 使用RVM

    访问http://www.ruby-lang.org/en/downloads/ 使用第三方工具安装ruby,经过了解,在mac下可以使用macports和rvm安装ruby. 经过实际操作觉得rvm ...

  4. vs2013 error c4996: 'fopen': This function or varia

    做opencv练习时,使用vs2013遇到如下错误: ​错误1error C4996: 'fopen': This function or variable may be unsafe. Consid ...

  5. Instruments_Automation使用入门

    Instruments 是应用程序用来动态跟踪和分析 Mac OS X 和 iOS 代码的实用工具. 这是一个灵活而强大的工具,它让你可以跟踪一个或多个进程,并检查收集的数据. 这样,Instrume ...

  6. Ubuntu 下搭建SVN服务器

    root@iZ25q0jd99eZ:~# sudo apt-get install subversion root@iZ25q0jd99eZ:/etc/subversion# mkdir /svn r ...

  7. nginx: [warn] conflicting server name "locahost" on 0.0.0.0:80, ignored

    里面域名重复: 在vhosts下多个虚拟机配置文件,都是基于域名配置的,其中两个配置文件,都起了localhost ,所以会报错!!!! 多个域名可以指向同一个目录,但同一个域名不可一指向多个目录!! ...

  8. php 的函数参数值类型限定

    如例: function test(array $a,test $b){ /*...*/ } class test{ /*...*/ } test(array(),new test); 表示test函 ...

  9. jQuery 知识点积累

    1.判断checkbox是否选中   $("#aa").prop("checked")==true2.给属性赋值   $("#aa").pr ...

  10. ActiveMQ Exception: java.io.EOFException: Chunk stream does not exist

    解决办法: 方法1. 去掉延迟功能:<broker xmlns="http://activemq.apache.org/schema/core " brokerName=&q ...