一、使用基于openvswitch的flat网络连通外部网络
在测试环中,使用allinone部署的openstack,如果需要与外部物理网络通讯,则需要配置flat网路。在q版中,neutron服务默认使用openvswitch,而非使用linux bridge。
openvswitch支持五种网络类型,有gre,local,flat,vxlan和vlan类型,其中gre网络和vxlan比较类似,都是使用隧道模式。
local 网络:不会与宿主机的任何物理网卡连接,流量被限制在宿主机内,同时没有任何VLAN ID
flat 网络:不带有tag的网络,宿主机的网卡通过网桥与flat network连接,每个flat网络都占有一个物理网卡
vlan网络: 是带有tag的网络,在openvswitch的实现方式下,不同的vlan instance的虚拟网卡都会被接到br-int上
gre和vxlan网络:基于隧道技术的overlay network,建立在其他网络上的网络。
测试环境使用flat网络连接外部物理网络
首先在/etc/neutron/plugins/ml2/ml2_conf.ini中设置相关参数,指定普通用户网络类型为flat
vim /etc/neutron/plugins/ml2/ml2_conf.ini [ml2] tenant_network_types=flat #将tenaant_network_types修改为flat
因为使用packstack部署openstackallinone的时候,已经指明了flat网络与物理网络的对应关系。如果使用控制计算分离的部署,则需要修改配置文件指明对应关系,如:
[ml2_type_flat] flat_networks=default [ovs] bridge_mappings=default:br-ex #指定对应外部网桥br-ex
完成后,重启neutron网络服务
systemctl restart neutron-server
然后使用ovs-vsctl命令检查一下br-ex 配置
ovs-vsctl show