實驗流程:
Dashboard操作
創建網絡
admin用戶登陸dashboard界面,導航欄選擇“項目-網絡-網絡拓撲”,顯示當前環境的網絡拓撲,點擊創建網絡
創建網絡,名稱爲“Network_web_01",並勾選”共享“,其他保持默認
創建子網,名稱爲Subnet_web_01",網絡地址192.168.11.0/24,網關ip”192.168.11.1“,其他保持默認
配置”子網詳情“,輸入分配地址池的起止IP"192.168.11.100,192.168.11.200",其他保持默認,然後點擊創建
返回網絡拓撲頁面,查看網絡拓撲的變化
導航欄選擇”項目-網絡-網絡“,進入網絡列表,可以查看剛剛創建的網絡
單擊網絡名稱”Network_web_01",查看網絡詳細信息
查看子網信息
查看網絡接口
然後創建網絡“Network_web_02",子網名稱”Subnet_web_02",網絡地址‘192.168.12.0/24’,網關ip192.168.12.1,地址池起止範圍IP"192.168.12.100-192.168.12.200"
虛擬機實例相互訪問
導航欄,選擇“項目-計算-實例”,進入虛擬機列表,,參照之前的虛擬機發放操作實驗,發放兩個虛擬機實例:
- 虛擬機實例名稱:Instance_web_test
- 數量2
- 選擇啓動源:Image
- 創建新卷:NO
- 分配鏡像:Img_web
- 分配規格:Flavor_web
- 分配網絡:Network_web_01
- 其他保持默認
可以看到,創建成功,網絡也分配成功
Instance_web_test_1:192.168.11.110
Instance_web_test_2:192.168.11.102
分別單擊剛剛創建的2個虛擬機實例名稱,進入虛擬機實例頁面,進入控制檯,然後進行互ping測試
網絡能夠互通
在導航欄,進入”項目-網絡-網絡拓撲“,可以查看當前的網絡拓撲
發放虛擬機實例Instance_web_test-3,網絡選擇Network_web_02,其他參數與Instance_web_test_1一致
看可以看到分配的地址是192.168.12.101,此時無法與Instance_web_test1互通
查看現在的網絡拓撲
Instance_web_test-1與Instance_web_test-3處於不同的網絡
創建路由器
在"項目-網絡-路由”,創建路由器
輸入路由器名稱Router_web,外部網絡選擇provider,其他保持默認,進行創建
進入路由,查看路由概覽
進入接口頁面,添加接口
添加子網“Network_web_01"
返回接口列表,查看添加的接口,等待一段時間,接口狀態變爲up
繼續添加接口,添加”Network_web_02"
此時查看網絡拓撲
此時,Instance_web_1與Instance_web_2通過路由器,能夠相互ping通
管理浮動ip
雖然虛擬實例可以通過路由器相互ping通,但是無法訪問外部網絡,也無法與宿主機相關進行通信。
如需要訪問外部網絡,必須在路由器上配置浮動ip
在使用浮動ip之前,需要在“管理員-網絡”中創建一個flat類型的provider網絡,如果需要訪問外部網路,還得勾選外部網絡選項。
openstack tranning labs默認在提供了了一個provider網絡。可以分配浮動ip,如下所示
進入“項目-網絡-浮動ip",點擊分配給項目
分配池默認選擇provider,進行隨機分配
完成後,可以看到分配的浮動ip
在“項目-計算-實例”中,將浮動ip分配給Instance_web_test_3
按照如下方式進行分配
同樣的,也可以爲Instance_web_test_1分配浮動ip
創建安全組
進入Instance_web_test-3的概覽,查看虛擬機實例當前應用的安全組
在導航欄,選擇“項目-網絡-安全組”,進入列表,點擊管理規則
查看defualt安全組
默認安全組規則允許所有外出流量,但是禁止進入流量。
返回安全組列表,創建安全組
創建一個名爲SG_web的安全組,然後添加規則
配置一個規則,能夠讓任何地址ping
再添加一個規則,允許所有tcp協議
檢查配置的安全組規則
然後再虛擬機實例中Instance_web_test_3,點擊編輯安全組
刪除默認安全組default,添加SG_web安全組
確認安全組規則
從宿主機ping Instance_web_test-3的浮動ip,證實安全組生效
從署主機ssh登陸虛擬機實例Instance_web_test-3,驗證安全組生效
CLI操作
創建網絡
創建網絡Network_cli_01,設置爲shared
openstack network create --share Network_cli_01
查看網絡列表
openstack network list
創建Network_cli_01的子網subnet_cli_01,網絡地址“192.168.21.0/24",子網地址”192.168.21.100~192.168.21.200“,網關地址:”192.168.21.1“
openstack subnet create --network Network_cli_01 --subnet-range 192.168.21.0/24 --allocation-pool start=192.168.21.100,end=192.168.21.200 --gateway 192.168.21.1 Subnet_cli_01
查看網絡子網列表
openstack subnet list
查看網絡”Network_cli_01"的網口列表
openstack port list --network Network_cli_01 --long
創建網絡Network_cli_02和子網Subnet_cli_02,網絡地址192.168.22.0/24,地址池192.168.22.100~192.168.22.200,網關192.168.22.1
openstack network create --share Network_cli_02
openstack subnet create --network Network_cli_02 --subnet-range 192.168.22.0/24 --allocation-pool start=192.168.22.100,end=192.168.22.200 --gateway 192.168.22.1 Subnet_cli_02
查看網絡和網絡子網列表
openstack network list
查看子網
openstack subnet list
因爲openstack tranning lab限制項目虛擬機資源爲10,需要刪除之間的虛擬機實例才能繼續創建新的虛擬機
openstack server delete Instance_web_test_{1,2,3}
發放兩個虛擬機實例”Instance_cli_test",按照如下配置
- 啓動源image
- 鏡像:img_cli
- 規格:flavor_cli
- 分配網絡:network_cli_01
openstack server create --image Img_cli --flavor Flavor_cli --network Network_cli_01 --min 2 --max 2 Instance_cli_test
創建完成之後,可以去dashboard裏面驗證虛擬機實例的網絡連通性
創建Instance_cli_test-3,啓動源image,鏡像img_cli,規格flavor_cli,網絡Network_cli_02
openstack server create --image Img_cli --flavor Flavor_cli --network Network_cli_02 Instance_cli_test-3
去dashboard驗證虛擬機實例的互通性
創建路由器
按照以下方式,創建路由器
openstack router create --availability-zone-hint nova Router_cli
查看路由器列表
openstack router list
配置路由器的外部網絡爲provider
openstack router set --external-gateway provider Router_cli
分別添加子網“Subnet_cli_01和Subnet_cli_02
openstack router add subnet Router_cli Subnet_cli_01
openstack router add subnet Router_cli Subnet_cli_02
查看路由器Router_cli的接口信息
openstack router show Router_cli | grep interfaces_info
去dashboard驗證虛擬機實例能夠互相通訊
管理浮動ip
查看實例Instance_cli_test-3的網口
openstack port list --server Instance_cli_test-3
記錄待分配的網口ID
爲虛擬機實例Instance_cli_test-3網口創建並分配外部網絡provider的浮動ip
openstack floating ip create --port <port_id> provider
查看浮動ip列表,查看網口狀態openstack floating ip list --long
可以看到浮動ip不會因爲虛擬機實例的刪除而刪除,會被解分配
重新創建一個浮動ip
openstack floating ip create provider
創建的浮動ip爲203.0.113.118
爲實例Instance_cli_test-1分配浮動ip
openstack server add floating ip Instance_cli_test-1 203.0.113.118
安全組
查看Instance_cli_test-3的安全組
openstack server show Instance_cli_test-3
記錄安全組的名稱和項目ID
查看Instance_cli_test-3安全組ID
openstack security group list --project <project_id>
查看對應的虛擬機實例的安全組規則ID
openstack security group rule list | grep <security_group_id
查看安全組對應的規則詳細信息
openstack security group rule show <security_group_rule_id>
創建安全組SG_CLI
openstack security group create SG_CLI
查看安全組列表
openstack security group list
添加安全組sg_cli的icmp規則
openstack security group rule create --protocol icmp --ingress --remote-ip 0.0.0.0/0 SG_CLI
添加tcp規則
openstack security group rule create --protocol tcp --ingress --remote-ip 0.0.0.0/0 SG_CLI
虛擬機移除default安全組
openstack server remove security group Instance_cli_test-3 default
添加安全組SG_CLI
openstack server add security group Instance_cli_test-3 SG_CLI
確認虛擬機實例的安全組
openstack server show Instance_cli_test-3 |grep security_groups