配置完成后的網絡拓撲如下:
當前環境:
X86服務器1台
Ubuntu 16.04
DevStack搭建OpenStack
網絡拓撲:
外部網絡:192.168.98.0/24
內部網絡:10.0.0.0/24
網絡連接: Flat Bridge
1. 通過Horizon按順序刪除已有的Router、Public和Private網絡。
注:DevStack默認安裝的Public網絡為172.24.4.1/24,經常都不能與生產或者實驗環境的網絡匹配,故先刪除掉當前已用網絡。
2. 編輯/etc/network/interfaces,填寫如下內容。
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface
auto p4p1 iface p4p1 inet static address 0.0.0.0 netmask 0.0.0.0 auto br-ext iface br-ext inet static address 192.168.98.122 netmask 255.255.255.0 gateway 192.168.98.1 dns-nameservers 218.6.200.139
注:p4p1為X86服務的物理網卡名稱,br-ext為待使用的bridge。
3. 刪除DevStack默認創建的虛擬bridge。
注:OpenStack Neutron默認使用Openvswitch進行網絡虛擬化。
使用下述命令查看DevStack默認創建的虛擬bridge。
$ ovs-vsctl show
使用下述命令刪除DevStack默認創建的虛擬bridge。
$ ovs-vsctl del-br br-ex
$ ovs-vsctl del-br br-int
$ ovs-vsctl del-br br-tun
4. 修改Neutron原有的Physical Network(從Public修改ext)。
編輯/etc/neutron/plugins/ml2/ml2_conf.ini,修改下述藍色部分。
[ml2_type_flat]
flat_networks = ext,
[ml2_type_vlan]
network_vlan_ranges = ext
[ovs]
datapath_type = system
bridge_mappings = ext:br-ext
tunnel_bridge = br-tun
5. 添加新的虛擬bridge。
使用下述命令創建的新的虛擬bridge。
$ ovs-vsctl add-br br-ext
$ ovs-vsctl add-port br-ext p4p1
注:p4p1為X86服務的物理網卡名稱,br-ext為待使用的bridge。
6. 重啟Network和Neutron主服務。
$ service networking restart
$ service devstack@q-svc restart
$ service devstack@q-agt restart
7. 通過Horizon重新創建PublicSite。
8. 通過Horizon重新創建PrivateSite。
9. 通過Horizon重新創建Router。
10. 創建虛擬機並分配Floating IP。
11. 設置Security Group保證可以Ping和SSH到Floating IP。