openstack学习-网络管理操作

实验流程:

Dashboard操作

创建网络

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",其他保持默认,然后点击创建

返回网络拓扑页面,查看网络拓扑的变化

导航栏选择”项目-网络-网络“,进入网络列表,可以查看刚刚创建的网络

单击网络名称”Network_web_01",查看网络详细信息

查看子网信息

查看网络接口

然后创建网络“Network_web_02",子网名称”Subnet_web_02",网络地址‘192.168.12.0/24’,网关ip192.168.12.1,地址池起止范围IP"192.168.12.100-192.168.12.200"

虚拟机实例相互访问

导航栏,选择“项目-计算-实例”,进入虚拟机列表,,参照之前的虚拟机发放操作实验,发放两个虚拟机实例:

  • 虚拟机实例名称:Instance_web_test
  • 数量2
  • 选择启动源:Image
  • 创建新卷:NO
  • 分配镜像:Img_web
  • 分配规格:Flavor_web
  • 分配网络:Network_web_01
  • 其他保持默认

    可以看到,创建成功,网络也分配成功
    Instance_web_test_1:192.168.11.110
    Instance_web_test_2:192.168.11.102

分别单击刚刚创建的2个虚拟机实例名称,进入虚拟机实例页面,进入控制台,然后进行互ping测试

网络能够互通
在导航栏,进入”项目-网络-网络拓扑“,可以查看当前的网络拓扑

发放虚拟机实例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通

管理浮动ip

虽然虚拟实例可以通过路由器相互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,验证安全组生效

CLI操作

创建网络

创建网络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",按照如下配置

  • 启动源image
  • 镜像:img_cli
  • 规格:flavor_cli
  • 分配网络:network_cli_01
    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验证虚拟机实例能够互相通讯

管理浮动ip

查看实例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

原文地址:https://blog.51cto.com/11555417/2438445

时间: 2024-10-09 16:37:11

openstack学习-网络管理操作的相关文章

openstack学习-存储管理操作

实验流程 Dashboard操作 卷类型和QOS管理 使用admin用户登陆Dashboard界面,导航栏选择"管理员-卷-卷类型",点击"创建卷类型"输入类型名称"VolumeType_web",勾选"公有",进行创建单击"创建 QOS 规格"输入Qos规格名称"QoS_web","消费者(啥翻译?)"选择"后端",进行创建返回卷类型列表,查看已

openstack学习-网络管理

openstack的网络服务组件为neutron,它的设计目标是实现"网络即服务".设计上:遵循基于"软件定义网络(SDN)"的灵活和自动化原则实现上:充分利用linux中各种网络相关的技术 物理网络与虚拟化网络 Neutron最为核心的工作是对二层物理网络的抽象与管理,物理服务器虚拟化后,虚拟机的网络功能由虚拟机网卡(vnic)提供,物理交换机也被虚拟化为虚拟交换机(vswitch),各个vnic连接再vswitch的端口上,最后这些vswitch通过物理服务器的

AngularJS学习--- 动画操作 (Applying Animations) ngAnimate step 12

1.切换目录 git checkout step-12 npm start 2.效果图 这里在点击右边的缩略图时,会有一个很明显的从下向上的动画过程. 3.代码实现: step11和step12之间的代码差异:https://github.com/angular/angular-phonecat/compare/step-11...step-12 Dependencies(依赖的js库): bower.json { "name": "angular-seed", &

python学习之操作mysql

欢迎点击个人博客 http://www.iwangzheng.com/ 刚开始学python,所以很多代码都需要在ipython里尝试一下.今天记录的是最基本的操作mysql数据库. 写数据库连接操作的时候,仿佛回到了当年在前两家公司写asp.net的感觉. 1.首先在mysql数据库里新建个数据库 create database db_02 default charset utf8; create table user (id int auto_increment primary key,us

Java并发学习之四——操作线程的中断机制

本文是学习网络上的文章时的总结,感谢大家无私的分享. 1.如果线程实现的是由复杂算法分成的一些方法,或者他的方法有递归调用,那么我们可以用更好的机制来控制线程中断.为了这个Java提供了InterruptedException异常.当你检测到程序的中断并在run()方法内捕获,你可以抛这个异常. 2.InterruptedException异常是由一些与并发API相关的Java方法,如sleep()抛出的. 下面以程序解释 package chapter; import java.io.File

jQuery学习----------DOM操作

DOM操作之创建元素: DOM: var ele = document.createElement("element") 例子:document.createElement("div") jQuery: var $ele = $("element")    //返回的是一个jQuery对象 例子:$("<div></div>") DOM操作之输入文本: DOM: var txt = document.c

linux基础学习笔记——操作大全

作者:liaoyi 更新时间:2014-6-2 ****************基本操作***************** 关机 shutdown -h now    root用户               init 0              root用户halt      root+一般用户poweroff 重启shutdown -r now    root用户init6     root用户reboot            root+一般用户 注意:1.shutdown 比较灵活,可

OpenStack 学习笔记

1 安装 2 管理 3 监控 书籍推荐:OpenStack Cloud Computing Cookbook OpenStack 学习笔记

hadoop学习;hdfs操作;运行抛出权限异常: Permission denied;api查看源码方法;源码不停的向里循环;抽象类通过debug查找源码

eclipse快捷键alt+shift+m将选中的代码封装成方法:alt+shift+l将选中的代码添加对应类型放回参数 当调用一个陌生方法时,进入源码不停的向里循环,当找不到return类似方法的时候,可以看到最原始的方法 package com.kane.hdfs; import java.io.InputStream; import java.net.URL; import org.apache.hadoop.fs.FsUrlStreamHandlerFactory; import org