Flat网络介绍
Openstack的Neutron中的Flat网络允许虚拟实例能够共享已经存在的网络。
下面通过一个Flat网络的应用场景来讲解这种类型的网络:
如下图所示,远程终端与计算节点在同一网段,假设现在有个“ssh远程访问虚拟机”的需求,当然,要满足这种需求我们可以使用NAT,这里我们通过FLAT网络实现。
通过创建FLAT网络,然后分配给虚拟机实例,如下图左半部分所示。虚拟机实例连接入FLAT网络后,其逻辑网络连接如下图的右半部分所示。虚拟机实例与计算节点在管理网络中处于平等的地位,所以把Neutron创建的这种网络叫做扁平的(FLAT)网络。
Flat网络配置
所有配置都在网络节点中进行
a、首先创建一个Open vSwitch网桥
# ovs-vsctl add-br br-eth1 # ovs-vsctl add-port br-eth1 eth1
b、配置端口IP(这里使用上图所示的网段与端口号)
auto eth1 iface eth1 inet manual up ifconfig $IFACE 0.0.0.0 up up ip link set $IFACE promisc on down ip link set $IFACE promisc off down ifconfig $IFACE down auto br-eth1 iface br-eth1 inet static address 192.168.99.108 netmask 255.255.255.0
c、配置l2 agent.ini(ml2_conf.ini) ,告诉Open vSwitch连接到eth1的网桥,映射physnet1到br-eth1
[ovs] network_vlan_ranges = physnet1 bridge_mappings = physnet1:br-eth2
d、配置nova.conf的[neutron]区 ,告诉Neutron不要使用元数据代理(否则,你在请求元数据服务的时候会得到HTTP 400错误)
service_metadata_proxy=false
c、使用physnet1创建网络
# neutron net-create flat --shared --provider:network_type flat --provider:physical_network physnet1
d、创建子网
# neutron subnet-create --name flat-subnet --gateway 192.168.99.1 --dns-nameserver 8.8.8.8 --allocation-pool start=192.168.99.120,end=192.168.99.250 flat 192.168.99.0/24
现在,你的虚机就能换得物理网络中的IP。