对于这两个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. HDU1003MAX SUM

    Max Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  2. HTML5学习记录1-新特性

    新特性 HTML5 中的一些有趣的新特性: 1. 用于绘画的 canvas 元素 2. 用于媒介回放的 video 和 audio 元素 3. 对本地离线存储的更好的支持 4. 新的特殊内容元素,比如 ...

  3. 在Win8中创建热点,共享网络

    在Win8中创建热点,共享网络 办公室中,我独享10M光纤,没什么要下的,便想利用来更新下Ipad里面的程序,下点公开课.那在不利用软件[用很多wifi共享的软件],从win7开始 系统本身就自带相关 ...

  4. 解决Unable to reach a settlement: [diffie-hellman-group1-sha1, diffie-hellman-group-exchange-sha1] and [curve25519-sha256@li

    SharpSSH或JSCH使用diffie-hellman-group1-sha1和diffie-hellman-group-exchange-sha1密钥交换算法,而OpenSSH在6.7p1版本之 ...

  5. linux环境下配置虚拟主机域名

    linux环境下面配置虚拟主机域名 第一步:在root目录下面(即根目录)ls(查看文件)cd进入etc目录find hosts文件vi hosts 打开hosts文件并进行编辑在打开的文件最下面添加 ...

  6. 使用show profiles分析SQL性能

    如何查看执行SQL的耗时 使用show profiles分析sql性能. Show profiles是5.0.37之后添加的,要想使用此功能,要确保版本在5.0.37之后. 查看数据库版本 mysql ...

  7. 字符串匹配与KMP算法实现

    >>字符串匹配问题 字符串匹配问题即在匹配串中寻找模式串是否出现, 首先想到的是使用暴力破解,也就是Brute Force(BF或蛮力搜索) 算法,将匹配串和模式串左对齐,然后从左向右一个 ...

  8. volley 应用 GET POST请求 图片异步加载

    package com.example.volleydemo; import java.util.HashMap; import java.util.Map; import org.json.JSON ...

  9. hdu 1754 单点更新

    题意:很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.这让很多学生很反感.不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问.当然,老师 ...

  10. json学习系列(1)-使用json所要用到的jar包下载

    内容来源于互联网. json是个非常重要的数据结构,在web开发中应用十分广泛.每个开发者都应该好好的去研究一下json的底层实现.在使用json之前首先要明白需要哪些jar文件,初次使用的时候很容易 ...