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/
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!