OpenStack實踐(四):Linux Bridge方式實現floating IP

環境:

openstack版本pike
控制節點主機openstack-controller(ubuntu 16.04.5) 172.27.34.37
計算節點主機openstack-computer(ubuntu 16.04.5) 172.27.34.38
vlan100
cirros01(172.27.100.6)、cirros02(172.27.100.12)
vlan101
cirros03(172.27.101.19)

vlan100和vlan101內instance默認不通


ubuntu安裝詳見Ubuntu16.04.5以lvm方式安裝全記錄

openstack安裝詳見OpenStack實踐(一):Ubuntu16.04下DevStack方式搭建p版OpenStack


本文測試內容有:

  1. 創建router實現不同vlan互通;

  2. 外網訪問配置,使instance可連接外網;

  3. floating ip配置,爲instance分配浮動ip,外網可直接訪問實例;


vlan配置:

圖片.png


L3 agent

配置

root@openstack-controller:~# view /etc/neutron/l3_agent.ini
interface_driver = linuxbridge

運行情況

root@openstack-controller:~# su - stack
stack@openstack-controller:~$ source devstack/openrc admin admin
stack@openstack-controller:~$ openstack network agent list

圖片.png


router

創建router router_100_101

圖片.png

新增interface

圖片.png

子網分別選擇vlan100和vlan10圖片.png

配置完router後vlan100和vlan101此時可以ping通

cirros03 ping cirros01

圖片.png

第一個目標實現。


外網訪問配置

配置ml2

stack@openstack-controller:~$ view /etc/neutron/plugins/ml2/ml2_conf.ini
[ml2_type_flat]
flat_networks = externaltt

[ml2_type_vlan]
network_vlan_ranges = default:3001:4000

[linux_bridge]
physical_interface_mappings = default:ens192,externaltt:ens224

由於本文外網環境爲flat網絡(物理機的網卡接在交換機的access口),此處外網配置選擇flat,對應網卡ens224,虛擬機內網爲vlan,對應網卡ens192。


創建外部網絡ext_net

圖片.png

圖片.png

172.27.34.0該網段需能訪問外網。

圖片.png

去除dhcp選項

圖片.png

ext_net創建完成


將外網連接至虛擬路由器

圖片.png

圖片.png

發現虛擬路由器新增了一個接口6489e9ea-23a3

圖片.png

cirros ping外網

圖片.png

第二個目標實現。


創建floating ip

floating ip提供靜態NAT功能,配置在router提供網關的外網interface上。

圖片.png

關聯實例cirros03

圖片.png

圖片.png

查看cirros

圖片.png


安全組配置

圖片.png

添加安全組規則

圖片.png添加icmp規則是保證能ping通,添加ssh規則是爲了外網能直接ssh實例


測試

圖片.png

計算節點可以ping通cirros03並且可以直接ssh連接。

第三個目標實現。


floating ip原理爲iptables增加了兩條處理floating ip的規則:

圖片.png


Open vSwitch方式詳見:OpenStack實踐(九):Open vSwitch方式實現floating IP


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章