實驗流程:
web
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",其餘保持默認,而後點擊建立
網絡
返回網絡拓撲頁面,查看網絡拓撲的變化
ssh
導航欄選擇」項目-網絡-網絡「,進入網絡列表,能夠查看剛剛建立的網絡
tcp
單擊網絡名稱」Network_web_01",查看網絡詳細信息
查看子網信息
查看網絡接口
ide
而後建立網絡「Network_web_02",子網名稱」Subnet_web_02",網絡地址‘192.168.12.0/24’,網關ip192.168.12.1,地址池起止範圍IP"192.168.12.100-192.168.12.200"
web安全
導航欄,選擇「項目-計算-實例」,進入虛擬機列表,,參照以前的虛擬機發放操做實驗,發放兩個虛擬機實例:學習
分別單擊剛剛建立的2個虛擬機實例名稱,進入虛擬機實例頁面,進入控制檯,而後進行互ping測試
測試
網絡可以互通
在導航欄,進入」項目-網絡-網絡拓撲「,能夠查看當前的網絡拓撲3d
發放虛擬機實例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通
雖然虛擬實例能夠經過路由器相互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,驗證安全組生效
建立網絡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",按照以下配置
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驗證虛擬機實例可以互相通信
查看實例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