引入
现在有这样一个场景,有两组比赛的选手,一个是云计算队,一个是网络安全队它们的比赛都要在云平台上进行操作,现在为它们各自划分不同的两个网络
创建网络
我们直接从创建网络这张图来了解Neutron
注意是在管理员选项下的网络
名称
创建的这个网络叫什么名字,区分识别操作它的一个标识
项目
这个网络属于哪个项目,这里我们有云计算和网络安全两个比赛项目,所以待会我们去创建这两个项目
网络类型
点开下拉框可以看到有,Local,Flat,VLAN,GRE,VXLAN,Geneve这几种网络类型
在网络节点中(这里控制节点和网络节点都是同一个),neutron中有一个ml2_conf.ini,定义了它的网络类型
代码语言:txt复制[root@controller /]# cat /etc/neutron/plugins/ml2/ml2_conf.ini
[ml2]
#当前网络类型驱动
type_drivers=flat,vlan,vxlan,gre,local
#当前租户(项目)使用的网络
tenant_network_types=vxlan
#交换机类型是openvswitch
mechanism_drivers=openvswitch
它的配置文件里的内容的配置,来源于自己在部署openstack的时候应答文件中自己是如果配置的
代码语言:txt复制[root@controller /]# cat ~/ans.conf |grep "^CONFIG_NEU"
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vlan,vxlan,gre,local
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vxlan
CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch
这些类型具体是什么样的,之后我们再讲
启用管理员状态
将不会启用dhcp功能,网络下的云主机无法通过dhcp来获取ip地址
共享的
刚才上面在创建网络的时候可以选择,它是属于哪一个项目的,也就意味者网络是某个项目它自己私有的
这里的共享意思是,所有项目都可以使用我创建的这个网络
外部网络
在OpenStack里面它的网络默认都是和外界隔离的,内网的云主机想访问外部公网的资源是不能直接访问到的。
就比如这样的就是内部网络
如果网络设置成外部网络,数据包就可以通过eth1物理网上出来到公网中
创建子网
子网在这个网络里面就是一个具体的ip段,在这里创建子网时,必须一个项目和名称,现在去创建一个项目
切换到admin环境中,创建一个ctf的项目
代码语言:txt复制[root@controller ~]# source ~/keystonerc_admin
[root@controller ~(keystone_admin)]# openstack project create ctf
------------- ----------------------------------
| Field | Value |
------------- ----------------------------------
| description | |
| domain_id | default |
| enabled | True |
| id | 2c9ab6ba08b94b0cab0cb4407a073bee |
| is_domain | False |
| name | ctf |
| parent_id | default |
| tags | [] |
------------- ----------------------------------
名称叫ctf_net,项目选择ctf,网络类型暂时选local,不是外部和共享网络,选择创建子网
填写子网的信息
在子网详情这里可以填写dhcp的地址池,DNS服务器,主机路由
然后点创建,就出来了一个网络
引出
在实际中,如果要创建一个网络,得有交换机路由器,这些硬件设备才能组成一个基本的网络。
而上面就是用户在openstack界面中鼠标点几下然后界面上就出现了一个网络。
为什么可以不需要实际的交换机路由器,也能弄出网络来?
创建网络这个功能到底是openstack中哪个组件来完成的,如何完成的?
以上问题下一篇接着说~