OpenStack虚拟网络与物理网络的衔接(flat方式)

by 无若

这边以CentOS7+Liberty版本为例。

过去一段时间(Juno版本之前版本),OpenStack内的虚拟网络与真正的物理网络衔接主要使用openvswitch,其主要问题是在配置网桥时容易导致断开连接,另外也不好管理。

在L版本中,官方的配置文档中已经不再安装openvswitch,主要是通过flat网络方式与外部物理网络衔接,采用这种方式不会导致突然断开连接。

这里假设你应该完全安装好了各种组件。

(1)检查或编写配置


编辑/etc/neutron/plugins/ml2/ml2_conf.ini​中的

 

[ml2_type_flat]
flat_networks = public

 

 

再编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini中的​

 

 

[linux_bridge]
physical_interface_mappings = public:eth1

 

 

注意这里的eth1是你的网络接口名,可以用ip a查看
注意多网卡的时候,用此命令可以知道哪个网卡是连通的

 

例如:从这里查出eth0是UP的。

 

$ip a
eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master brq070ed0ca-92 state UP qlen 1000
...

 

(2)通过dashboard来配置flat网络

在 “管理员” 条目下选择 “网络”,再点击 “创建网络” ,在里面要注意选择 “Flat” ,物理网络为 “public” (注意这里与/etc/neutron/plugins/ml2/ml2_conf.ini内的[ml2_type_flat]​的flat_networks对应,然后再把 “共享的” 和 “外部网络” 勾选起来,之后点击 “创建网络”。

之后,在 EXT_01 下 增加子网,注意此时需要在 “项目” 下的 “网络” 中增加子网。

 

子网配置,这里 192.168.29.0/24 为真实的物理网络:

配置子网详情,注意这里的 192.168.29.195~192.168.29.197 为真实物理网络中的一段:

创建成功后,创建 路由器 与 EXT_01 关联

 

查看网络拓扑,可以看到路由器在真实物理网络中的IP地址为 192.168.29.196 :

 

验证:使用ip netns命令找到这个虚拟路由器之后,用这个虚拟路由器ping真实物理网络中的网关(这里是192.168.29.254),ping通即证明OpenStack内部虚拟网络与真实物理网络衔接成功!

 

posted @ 2016-07-01 13:17  拾穗云谷  阅读(21947)  评论(3编辑  收藏  举报