OpenStack创建网络和虚拟机、dhcp设备、虚拟路由器、虚拟机访问外网原理分析
创建网络和虚拟机流程:
1、创建网络和子网
背后发生了什么:
Neutron让控制节点上针对此子网的dhcp(虚拟设备)启动,用于给该子网下的实例分配ip
2、生成虚拟机
背后发生了什么:
用户通过GUI或CLI发送创建实例的请求;
Nova将请求中包含的虚拟机基本信息部分存入Nova数据库,调用glance,cinder服务生成虚拟机。实例基本信息包括:实例类型,内存,数量等
Nova调用Neutron API配置网络,包括实例ip地址。Neutron 会在 subnet 中创建一个 port,port中包含 IP 和 MAC 地址,并将 port 分配给实例。(参考:https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587630&idx=1&sn=4c9495f74f3360c5ef81e73af5122eec&chksm=8d3080b7ba4709a13f4f78247c8ba23b6bd17963b99bf0a7165f195b36c19d3e09baa8dd8853&scene=21#wechat_redirect)
参考:
创建虚拟机细致的流程:https://www.cnblogs.com/sammyliu/p/9192592.html
创建虚拟机大致流程和创建虚拟机时的具体信息:https://www.sdnlab.com/21244.html
DHCP工作过程
虚拟机路由器
虚拟机访问外网原理
创建外网ext_net:外网的网段和网关应该是物理网络的网段和ip.创建外网后,要在已有虚拟机路由器上添加外网网段的接口,从而访问ext_net
参考:https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587552&idx=1&sn=f6eff207c135c1d25352e0da88bba175&chksm=8d308079ba47096f20fdda00a19c54764fe1b1f97238bae469771ad0ae06bd0f12348f13ef5c&scene=21#wechat_redirect
由虚拟机发起向外网的通信:通信过程是,经过含有外网网段接口的router1时,router1做了SNAT,将虚机发往外网的数据包的源地址改为自己的外网ip地址(也就是接口上的ip),这样外网返回的ip就知道从哪里出去。
由外网主机向虚拟机主动发起的通信:通过浮动ip实现。浮动ip为虚拟机ip
参考:https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587542&idx=1&sn=4d209648987ab21349d8ca93af1e370e&chksm=8d30804fba4709599201f35102648fbaaa3165a220fa5a9bccb97d3c633162f9074f7df472c5&scene=21#wechat_redirect
https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587547&idx=1&sn=437882d6c5c24929d0455e41c0b4a226&chksm=8d308042ba470954a45fb20f9cfc3245a94e91a0816238dd54097838eabbbaa148cfc162d436&scene=21#wechat_redirect
OpenStack创建网络和虚拟机、dhcp设备、虚拟路由器、虚拟机访问外网原理分析的更多相关文章
- 本地虚拟机在NAT网络连接模式下如何设置才可以访问外网以及使用Xshell远程连接
本文演示环境: 笔记本电脑系统:windows 7 虚拟机系统:CentOS 7 虚拟化软件:VMware Workstation 12 远程连接工具:Xshell 5 第一步: 打开虚拟网络编辑器 ...
- OpenStack Neutron配置虚拟机访问外网
配置完成后的网络拓扑如下: 当前环境: X86服务器1台 Ubuntu 16.04 DevStack搭建OpenStack 网络拓扑: 外部网络:192.168.98.0/24 内部网络:10.0.0 ...
- 在OpenStack里怎样配置Neutron,让虚拟机访问外网
http://blog.csdn.net/zhangli_perdue/article/details/50264681 OpenStack里虚机(或者叫instance)只有在分配floating ...
- 本地虚拟机NAT模式下怎么设置才可以访问外网
记:因为我要在本机虚拟机上安装Docker,结果发现虚拟机环境不能上网,是主机模式.我要调成net模式下才可以访问外网,这就需要怎么设置.下面文章记录一下. 在本机安装VMware软件后,系统中会自动 ...
- neutron flat和vxlan网络访问外网流量走向
OpenStack版本:Mitaka 物理节点: Hostname Management IP Tunnel IP Role test-ctrl-01 192.168.100.11 192.168.1 ...
- 虚拟机固定IP访问外网配置
大家都知道虚拟机网络连接有三种模式,桥接,host-only,NAT,不再赘述. 这里说一下桥接模式下,实现主机与虚拟机通讯,虚拟机与虚拟机通信,虚拟机访问外网,废话不多说,直接说解决方案: 1.本地 ...
- 虚拟机如何固定ip并访问外网?!
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNor ...
- 闲置安卓设备搭建Linux服务器实现外网访问
title: 闲置安卓设备搭建Linux服务器实现外网访问 这是我搭过的第一个博客系统,写贴纪念一下 待博主整理好思路,将今天所用到的全部分享! 好吧,我就是穷.富人靠科技,穷人靠变异.我这种穷人是真 ...
- Docker: 解决Docker无法在电信网络中访问外网
在电信网络中,Docker在build和run时会无法访问外网,原因是docker的默认dns地址是8.8.8.8,由于众所周知的原因,我们需要改写这个地址,方法如下: 修改/etc/sysconfi ...
随机推荐
- python day 22 CSS拾遗之箭头,目录,图标
目录 day 4 learn html 1. CSS拾遗之图标 2. html文件的目录结构 3. CSS拾遗之a包含标签 4. CSS拾遗之箭头画法 day 4 learn html 2019/11 ...
- CSS 案例
一.滑动门案例 二.小黄人案例 三.圣杯布局&双飞翼布局
- Java语言的介绍
1. 计算机语言 语言:沟通交流的方式 计算机语言:人与计算机之间的交流方式 java是一门计算机编程语言,也是意大利自行车品牌 软件工程师,java开发工程师 <--------------- ...
- 汽车行业如何个性化定制转型?看APS系统在这家企业的运用
传统汽车行业中往往采用的是按库存推动式生产,一旦市场产生变动就会造成大量的生产,给企业带来大批的资金压力,而另一方面采用按单生产的方式企业往往面临供应链,产能的诸多约束条件限制,稍有不慎就会带来产线停 ...
- 最强在线文件格式转换(支持200+文件格式如常用的PDF,DOCX,JPG,GIF,MP3,MP4,FLV,MOBI)(通用)
网站展示:http://www.alltoall.net/ 分类简洁 支持的所有文件格式展示: 单独展示文档转换: 单独展示PDF转换:
- openssl生成证书及签名
第一步,生成私钥 $ openssl genrsa -out privatekey.pem 2048 查看生成的私钥内容 $ file privatekey.pem privatekey.pem: P ...
- NIO与网络编程系统化学习
1.背景 数据在网络中传输,必然回遇到读写问题.... 2.比较NIO与IO 3.案例演示 3.1.缓冲区演示 package com.wfd360.nio; import org.junit.Tes ...
- manjaro手动安装Redis
以前都是用的Windows系统,最近有被win10搞得有点烦,就入了manjaro的坑,windows下部分软件在manjaro安装记录,留个记录. 我的系统信息 下面开始正式干活. 一.准备步骤 下 ...
- kubernetes集群证书过期之后--转发
步骤 如果有多master,需要在每个master上进行以下操作. 需要进行以下步骤 重新生成证书 重新生成对应的配置文件 重启docker 和 kubelet 拷贝kubectl 客户端文件 [ro ...
- C++学习(5)—— 内存的分区模型
C++程序在执行时,将内存大方向划分为4个区域 代码区:存放函数体的二进制代码,由操作系统进行管理的 全局区:存放全局变量和静态变量以及常量 栈区:由编译器自动分配释放,存放函数的参数值.局部变量等 ...