環境:linux
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
ubuntu安裝詳見:Ubuntu16.04.5以lvm方式安裝全記錄安全
openstack安裝詳見:OpenStack實踐(一):Ubuntu16.04下DevStack方式搭建p版OpenStackbash
本文測試內容有:網絡
建立router實現不一樣vlan互通;
app
外網訪問配置,使instance可鏈接外網;ssh
floating ip配置,爲instance分配浮動ip,外網可直接訪問實例;ide
vlan配置:
測試
L3 agentspa
配置
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
router
建立router router_100_101
新增interface
子網分別選擇vlan100和vlan10
配置完router後vlan100和vlan101此時能夠ping通
cirros03 ping cirros01
第一個目標實現。
外網訪問配置
配置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
172.27.34.0該網段需能訪問外網。
去除dhcp選項
ext_net建立完成
將外網鏈接至虛擬路由器
發現虛擬路由器新增了一個接口6489e9ea-23a3
cirros ping外網
第二個目標實現。
建立floating ip
floating ip提供靜態NAT功能,配置在router提供網關的外網interface上。
關聯實例cirros03
查看cirros
安全組配置
添加安全組規則
添加icmp規則是保證能ping通,添加ssh規則是爲了外網能直接ssh實例
測試
計算節點能夠ping通cirros03而且能夠直接ssh鏈接。
第三個目標實現。
floating ip原理爲iptables增長了兩條處理floating ip的規則:
Open vSwitch方式詳見:OpenStack實踐(九):Open vSwitch方式實現floating IP