天天看點

openstack之neutron linuxbridge + vlan組網

linuxbridge是和linuxbridge plugin比對的core agent,主要實作L2層的功能和security group的功能。security group的功能逐漸會被neutron firewall取代。

linuxbridge的啟動指令在linuxbridge_neutron_agent.py中;啟動的時候需要提供neutron.conf和linuxbridge_conf.ini配置檔案

主要配置項:

  linuxbridge_conf.ini

  [vlans]

  network_vlan_ranges = physnet1,physnet2:1000:2999

  tenant_network_type=vlan

  [linux_bridge]

  physical_interface_mappings = physnet1:eth0, physnet2:eth1

  其中physnet1和physnet2表示該節點可用的實體網絡名字(physical network, 名字可以随便定義),physical_interface_mappings用來把名字和該網絡使用的實體網卡對應起來。

  physical_interface_mappings是linuxbridge中最重要的配置項,用來定義節點中的實體網絡,可以有多個。openstack中的節點(按功能不同,可分為計算節點,dhcp節點,L3節點等)通過實體網絡實作互聯。這個實體網絡用來實作neutron中定義的虛拟網絡拓撲,和openstack的管理網絡不是一個,是不同的概念。

  虛拟網絡的流量需要通過實體網絡承載,而實體網絡其實就是該節點上的網卡。在linuxbridge實作中,每個網絡對應一個bridge,每個網絡又會有一個實體網絡(provider:physical_network屬性)來承載,與該實體網絡對應的網卡(physical_interface_mappings中配置,如physnet1對應eth1),會被加入這個bridge中,這樣該網絡就可以和外部系統通信了。

  如果虛拟機中需要和外網相連(通路Internet),需要在L3節點(負責路由功能)上配置可以通路外部的實體網絡,然後建立一個provider網絡 和這個實體網絡對應起來。把該provider網絡和需要通路外網的虛拟機所在網絡加入同一個路由器,即可實作通路外網的功能;

 例子:建立provider網絡,public01是該網絡的名字,physnet1是實體網絡的名字。physical_interface_mappings需要配置physnet1對應的實體網卡,如eth0。

  建立可通路外網的網絡net01(vlan類型),該網絡的實體網絡是physnet2。physical_interface_mappings需要配置physnet2對應的實體網卡,如eth1。

  建立另外一個可通路外網的網絡net02

  這兩個網絡中的VM就可以通路外網,通過SNAT方式。如果需要外部網絡直接通路VM,需要給VM配置設定一個floating IP位址。

繼續閱讀