kolla openstack基础使用

一、dashboard界面

1、创建镜像

 

2、创建外网

通过dashboard管理员身下的网络管理进行创建

 

 

 vi /etc/kolla/neutron-openvswitch-agent/ml2_conf.ini

 

 

 所以物理网络名称 physnet1

 

 

 

3、创建内部网络

 

 

 

 

 

 

4、创建路由

5、通过路由将内部网络与外部网络连接

 

6、创建实例类型

7、创建密钥对

将密钥对存储到机器中,赋予600权限

vi 4.pem   chmod 600 4.pem

8、编辑安全组规则

9、创建实例

 

 

 

 

 

 

 

 

 

 

 

 

 

10、分配浮动ip

 

11、ssh访问

ssh访问有两种方式,一种密码,一种基于秘钥

cirros gocubsgo

ssh -i 111.pem cirros@192.168.102.105   #cirros   111.pem 密钥名称 用户名 192.168.102.105-ip名称

12、实例ping通外网

二、命令行方式

0、认证

. /etc/kolla/admin-openrc.sh

1、下载镜像

wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img

wget http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-1802.qcow2c

2、上传镜像

openstack image create "cirros" --file cirros-0.4.0-x86_64-disk.img --disk-format qcow2 --container-format bare --public    #cirros-openstack中镜像名称 cirros-0.4.0-x86_64-disk.img-镜像文件的名称 qcow2-镜像格式  public-共有

openstack image create "CentOS7-image" --file CentOS-7-x86_64-GenericCloud-1802.qcow2c --disk-format qcow2 --container-format bare --public

openstack image set  --property hw_disk_bus=ide  --property hw_vif_model=e1000 镜像id  (虚拟机安装openstack)

3、创建网络

3.1、创建内网

openstack network create selfservice                           #selfservice-内网名称

创建子网:

openstack subnet create --network selfservice --dns-nameserver 8.8.8.8 --gateway 172.16.1.1 --subnet-range 172.16.1.0/24 self  #selfservice-内网名称;8.8.8.8-dns服务器设置 ;172.16.1.1-网关ip; 172.16.1.0/24-网络地址 ;self-子网名称

openstack network create selfservice1

创建子网:

openstack subnet create --network selfservice1 --dns-nameserver 8.8.8.8 --gateway 172.16.2.1 --subnet-range 172.16.2.0/24 selfservice1

//命令行创建子网

//openstack subnet create --network provider --allocation-pool start=192.168.10.10,end=192.168.10.250 --dns-nameserver 8.8.4.4 --gateway 192.168.103.1 --subnet-range 192.168.10.0/24 provider-subnet

3.2、创建路由

openstack router create router1  #router1-路由器名称

设置接口: openstack router add subnet router1 self    #router1-路由器名称  self-子网名称

设置网关: openstack router set router1 --external-gateway public  #router1-路由器名称  public 外部网络名称

3.3、查看网络拓扑

4、创建实例类型

openstack flavor create --id 6 --vcpus 2 --ram 1024 --disk 10 m1.nano    #6-id名称  2-vcpu数量 1024-单位MB内存 10-跟磁盘 单位GB m1.nano -实例类型

5、创建密钥对

方法一(将公钥上传密钥对):

root@controller ~]# ssh-keygen -q -N ""
Enter file in which to save the key (/root/.ssh/id_rsa):
[root@controller ~]# ll /root/.ssh/
total 12
-rw------- 1 root root 1675 Jun 11 13:26 id_rsa #生成的私钥文件
-rw-r--r-- 1 root root 397 Jun 11 13:26 id_rsa.pub #生成的公钥文件
创建秘钥对,并将生成的公钥文件添加到秘钥对:
[root@controller ~]# openstack keypair create --public-key ~/.ssh/id_rsa.pub testkey

方法二(创建密钥对,推荐):openstack keypair create key0510t    #key0510t密钥对名称

vi key0510t.pem  将密钥复制粘贴进去

chmod 600  key0510t.pem  修改key file的读写属性为只读(重要)

ssh -i key0510t.pem root@ip

6、创建安全组规则

openstack security group rule create --proto icmp default   #如果default不止一个 就采用id方式

openstack security group rule create --proto icmp  f2274079-3aaa-45d3-bf19-7421989d5182   #f2274079-3aaa-45d3-bf19-7421989d5182-项目安全组id

openstack security group rule create --proto tcp --dst-port 22 default
openstack security group rule create --proto tcp --dst-port 22 f2274079-3aaa-45d3-bf19-7421989d5182 #f2274079-3aaa-45d3-bf19-7421989d5182-项目安全组id

7、创建实例

openstack server create --flavor m1.nano --image CentOS7-image --nic net-id=9511c24d-f369-41a2-9de6-d7cfe92a658d --security-group f2274079-3aaa-45d3-bf19-7421989d5182 --key-name testkey centos7-cloudvm1

 

#m1.nano-实例模板类型  CentOS7-image-镜像名称  9511c24d-f369-41a2-9de6-d7cfe92a658d-网络 id  f2274079-3aaa-45d3-bf19-7421989d5182-安全组id testkey-密钥名称  centos7-cloudvm1-实例名称

 

openstack server create --flavor m1.nano --image cirros --nic net-id=99a56929-95fc-42d6-8adb-b0ba66a91960 --security-group f2274079-3aaa-45d3-bf19-7421989d5182 --key-name testkey vm1

openstack server create --flavor m1.nano --image CentOS7-image --nic net-id=4c5ffc9a-903a-45ff-8d5d-5a0f1405c1a4 --security-group f2274079-3aaa-45d3-bf19-7421989d5182 --key-name testkey vm2

 

openstack server create --flavor m1.nano --image cirros --nic net-id=99a56929-95fc-42d6-8adb-b0ba66a91960 --nic net-id=ffba54e9-e762-48b5-8f2e-48333627349a --security-group f2274079-3aaa-45d3-bf19-7421989d5182 --key-name testkey vm6

openstack server create --flavor m1.nano --image cirros --nic net-id=9511c24d-f369-41a2-9de6-d7cfe92a658d --security-group e392b92d-1184-4613-8ecc-b985ece8abe4 --key-name testkey vm2

 

openstack server create --flavor m1.nano --image cirros --nic net-id=faacfd9c-e451-4020-88a4-4a7a7d2de334 --security-group e392b92d-1184-4613-8ecc-b985ece8abe4 --key-name testkey vm3

openstack server create --flavor m1.nano --image cirros --nic net-id=faacfd9c-e451-4020-88a4-4a7a7d2de334 --security-group e392b92d-1184-4613-8ecc-b985ece8abe4 --key-name testkey vm4

8、分配浮动ip

如果需要ssh ping实例,可以通过浏览器界面分配浮动ip,浮动ip范围就是外网ip池

ping实例

ping 外网ip 也就是浮动ip

9、ssh访问

ssh访问有两种方式,一种密码,一种基于秘钥

cirros gocubsgo

ssh -i 111.pem cirros@192.168.102.105   #cirros   111.pem 密钥名称 用户名 192.168.102.105-ip名称

10、实例ping通外网

11、文件注入(为后面flag文件注入做铺垫)

(1)创建test.txt    vi test.txt   随机输入内容        flag:ushafsaofjoscmosjdfosjfosdkfpwfo

(2)创建实例时同时注入文件

openstack server create --flavor m1.large --image CentOS7-image --nic net-id=095b771f-be70-461b-a65e-85cb2a328e75 --security-group f2274079-3aaa-45d3-bf19-7421989d5182 --key-name key2t --user-data test.txt test

(3)创建实例完成后绑定浮动ip

(4)ssh 访问 并切换到root权限

ssh -i key2t.pem centos@192.168.102.134

sudo su root      #centos7纯净源切换root权限

(5)查找实例中注入的文件并比对

[root@test centos]# cd /var/lib/cloud

[root@test cloud]# ls

data handlers instance instances scripts seed sem

[root@test cloud]# cd instance

[root@test instance]# ls

boot-finished cloud-config.txt datasource handlers obj.pkl scripts sem user-data.txt user-data.txt.i vendor-data.txt vendor-data.txt.i

[root@test instance]# cat user-data.txt

flag:ushafsaofjoscmosjdfosjfosdkfpwfo

注入的文件与原文件内容相同

 

备注:文件注入不是所有镜像都能成功,需要后期一一验证 cirros与kali不能成功

 

官网陈述:

将用户数据和文件注入到实例

$ openstack server create --user-data FILE INSTANCE
$ openstack server create --user-data userdata.txt --image cirros-qcow2 \
  --flavor m1.tiny MyUserdataInstance2

使用ssh连接到实例,查看``/var/lib/cloud``验证文件是否成功注入

12、查看各个服务命令(查看前要认证)

0、认证

. /etc/kolla/admin-openrc.sh

1、镜像

openstack image list

2、实例模板类型
openstack flavor list

3、网络
openstack network list

4、子网

neutron subnet-list

5、安全组
openstack security group list

6、安全组规则
openstack security group rule list

7、密钥对
openstack keypair list

8、实例
openstack server list

13、部分删除命令

openstack router unset --external-gateway $j  #删除路由网关   $j-路由器名称

 

openstack port list --router $j --format=value -c ID  #查看路由端口  $j-路由器名称

 

openstack router remove port $j $PORT        #删除路由端口  $j-路由器名称 $port-路由端口id

 

openstack router delete $j                    #删除路由        $j路由器名称  

 

openstack network list --name=$k --format=value -c Subnets  #查看网络的子网 $k-内部网络名称

 

openstack subnet delete $SUBNET #删除网络的子网 $SUBNET-子网id

 

openstack network delete $k      #删除网络 $k-内部网络名称        可直接删除网络、这样其网络的子网也被删除

14、命令行速查表

openstack --help

openstack image --help

15、OpenvSwitch查看与修改端口绑定

ovs系列介绍 https://www.cnblogs.com/goldsunshine/p/10959199.html
docker ps

docker exec -it openvswitch_vswitchd bash

ovs-vsctl show      能看出 绑定enp3s0网卡

 

 

 

ovs-vsctl del-port br-ex enp3s0   删除

ovs-vsctl add-port br-ex enp2s0  添加

ctrl+D 退出  ssh此类退出都是这个命令

16、网络命名空间的使用

网络命名空间 详解 https://blog.csdn.net/supahero/article/details/100606953

ip netns

ip net exec qdhcp-8081ea46-8f79-4f52-a3af-b063e230d50c bash

ifcongfig

ip l

ip link set eth1 up

17、过程录屏及链接

链接:https://pan.baidu.com/s/1RvW1UDFc5ZrwDi1wU714Ig
提取码:KALI

18、部分参考链接

Openstack 环境部署并创建Centos 7 虚拟机教程:https://blog.csdn.net/jmh1996/article/details/102794028

OpenStack使用CentOS7官方通用云镜像创建虚拟机实例:https://blog.csdn.net/networken/article/details/80334111

b站 openstack网络配置 :  https://www.bilibili.com/video/BV1bE41177Dc/



 

posted @ 2022-08-27 17:18  秦0710  阅读(441)  评论(0编辑  收藏  举报