实验流程: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