虚拟机三种网络模式

news2024/9/26 3:27:58

基本知识

ipconfig查看信息。
网关(Gateway)又称网间连接器、协议转换器。是你连接到的上层节点的地址。
ip地址是你本身的地址(如果是路由器分配的 那么是路由器所构建的内网地址)
网卡:需要网卡才能连接其他设备 是设备端的
交换机:类似集线器
路由:类似路由器

Virtual Ethernet Adapter
Network Adapter VMnet1虚拟网卡连接
VMnet1虚拟交换机

vmnet1是vmware的虚拟网卡,默认用于host-only模式
vmnet8是vmware的虚拟网卡,默认用于nat模式
这2个网卡,都跟物理主机的本地连接没有关系。

网络适配器VMware Virtual Ethernet Adapter for vmnet1是vmware的虚拟网卡

专用网络是两个企业间的专线连接,这种连接是两个企业的内部网之间的物理连接。专线是两点之间永久的专用电话线连接。和一般的拨号连接不同,专线是一直连通的。这种连接的最大优点就是安全。除了这两个合法连入专用网络的企业,其他任何人和企业都不能进入该网络。所以,专用网络保证了信息流的安全性和完整性。
域是微软的活动目录的概念,只要你的机器加入了活动目录(和工作组不同),且在网络中检测到你所加入的活动目录,那么就会显示出域网络

桥接模式Bridged

在这里插入图片描述
物理机上虚拟网卡VM0相当于交换机(集线器),一头连到了家用路由器,另外N头接所有需要上网的电脑。虚拟机 和 物理机同等地位。
在这里插入图片描述

所以虚拟机的网络配置和物理机保持一模一样。
如果物理机是固定IP,这里虚拟机也要固定IP,把IP末尾改一下其他DNS不变。
这里物理机自动分配,于是虚拟机也自动分配。
在这里插入图片描述

NAT模式

NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。
在这里插入图片描述
在这里插入图片描述

类似路由器,物理机虚拟出了一个路由器,然后虚拟机连接到这个虚拟路由器。

虚拟机在物理机的一个子网中,虚拟机的地址是内网地址,虚拟机所有上网都是借助物理机NAT功能把内网IP转换成外网IP,因此对外面网络上花花绿绿的机器来说,看到的永远只是外网IP。
类似于我现在一个笔记本、一个手机都是通过家用路由器上网,一个192.168.1.2,一个192.168.1.3,但是对百度来说,它所看到的源IP绝对不是这个,而是经过路由器转换后的电信提供的公网IP。百度无法从这一个IP判断是我的笔记本还是手机在上网。

在这里插入图片描述
在这里插入图片描述
内网把DNS发到192.168.204.2,就会有人来做这个DNS查询,这实际上是因为上述虚拟网络编辑器中配置了网关192.168.204.2,VMware就来我们完成。

剩下只需要保证虚拟机连上VM8,且IP在这个网段内,就好啦~

虚拟出一个路由器,然后其他设备连接到这个路由器的dns服务器地址

在这里插入图片描述
在这里插入图片描述

Host-Only(仅主机模式)

什么叫做仅主机?就是虚拟机只能跟物理机联系,不能直接上互联网。
想象就是两台家用电脑,一根网线把它们连起来。这时候如果双方IP掩码都在一个段,就可以相互通信;如果不在就连不了,因为对方并没有DHCP的能力。
在这里插入图片描述
Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的。之所以称之为仅主机模式,就是虚拟机只能和宿主机进行通信,不能连接互联网,也不能在局域网进行访问和被访问。他和NAT模式一样,独立使用一块虚拟机网卡,一般名称为VMware Virtual Ethernet Adapter for VMnet1在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

三种网络模式在的生活中类比

以下箭头均代表访问方式为:主动请求,被动接收

红色代表:局域网内的访问

绿色代表:可以访问外网,比如互联网

一、仅主机模式

在这里插入图片描述

二、NAT模式(地址转换模式)

在这里插入图片描述

此种情况相当于,虚拟机是个小学生,还没有自己的支付宝账号和银行卡,他可以外界交互,去购物,但是都是以父母的身份去购物,拿着父母的支付宝或银行卡。此时父母(物理主机)可以访问外网,虚拟也可以,不过是透过父母去间接访问外网。

三、桥接模式

在这里插入图片描述

此种情况相当于,虚拟机已经长大成人,有也自己的独立身份,有自己的支付宝账号和银行卡,他可以直接与外界交互,去购物,无需再透过父母的身份去购物。此时父母(物理主机)可以访问外网,虚拟也可以独立,直接的访问外网。

隧道

Tunnel 中文译作隧道。平时开发中,我们或多或少都会碰到这个词。

我们先借助现实中的一个例子来看看隧道的作用。

西成高铁北起西安,南至成都,线路全长643公里,设计时速250公里。自古以来,进入天府之国就是一件异常艰难之事,群峰环伺的四川无论从哪个方向进入都步履维艰。我们知道西安和成都之间隔有秦岭天险,它就挡在那里,高铁总不能像飞机一样从天上飞越过去。又要快,又不能飞,唯一的方法就是在秦岭群山之间挖隧道,让高铁从隧道里面穿过秦岭。

来到我们的网络世界。你想访问Remote Server,但可惜你和它之间隔着防火墙。这个防火墙就如同秦岭横亘在那里,躲是躲不过去的,那怎么办呢?

这个时候就得上Tunnel了。Tunnel的概念不难理解,它有两个鲜明的特点值得列出来:

它需要借助 middle man 来中继数据。这很好理解。通信双方但凡可以直连,就不需要借助别人了。
这个 middle man 既可以是用户态应用,如我们下文要聊的 HTTPS Proxy,也可以位于内核态模块,如我们之前聊过的基于 flannel.1 实现的 VXLAN。
middle man 所中继的数据在大部分应用场景下是被加密过的,这就使得 middle man 退化为一个管道的角色,而不再具备数据嗅探的功能。数据不经加密通过隧道的一个例子是 Flannel VXLAN 模式。
我们来看看到目前为止,我们经常使用的隧道有哪些:

HTTPS proxy 所涉及到的 tunnel 。它是通过 HTTPS proxy 不断地 relay 客户端和服务器的数据来实现的。
SSH tunnel 。它是利用了防火墙开放 22 端口来实现的。当然,如果防火墙把 22 端口关闭了,那这招就失效了。
VPN tunnel 。
基于 flannel VXLAN 模式所实现的 K8s Overlay 网络模型。
我们来一个一个瞧瞧。

HTTPS Proxy Tunnel
说到HTTPS Proxy,不得不先提起 HTTP Proxy。如图 1所示。HTTP Proxy 如同一个中间人:
在这里插入图片描述

客户端浏览器向它发起 TCP 连接,并把实际需要访问的 web service 放在 GET 和 HOST HTTP header 中。
它收到请求后,解析 HTTP header,并向真正的 web service 发起请求。
稍后它再将 web service 返回的内容返回至客户端。
在上述这个过程中,HTTP Proxy 同时维持了2个 TCP 连接。因为它非常清楚地知道客户端和服务端之间的对话内容,所以带来了安全隐患。另外有些无良的 Proxy 还会自己往服务端所返回的 HTML 页面里面添加烦人的广告。
时代在变,技术在变,需求也在变。如今放眼望去,大部分网站都在使用 HTTPS 。这个时候再使用 HTTP Proxy 的话,就会出现一个问题:只有 Proxy 能看到 web service 的证书,但客户端却只能接收到 Proxy 的证书。很明显,Proxy 证书里面的名字和客户端所想要访问的地址完全不同,这个时候浏览器会毫不留情地给出一个警告,TLS handshake 也没法通过。

为了解决这个问题,HTTPS Proxy 应运而生。图 2 展示了它的工作流程。

① 客户端浏览器首先向 HTTPS Proxy 发起 TCP 连接,但在 HTTP 请求里,用的是 CONNECT 方法。

② HTTPS Proxy 收到这个连接后,利用 CONNECT 请求里面的数据,向 google.com 发起 TCP 连接。

③ 从此以后 HTTPS Proxy 只负责 relay 客户端和 google.com 之间的数据,不会做任何解析,也没有办法解析,因为它根本没有参与 TLS handshake 这个过程。它所 relay 的数据包括:TLS handshake 数据包(如证书、加密算法、加密秘钥等)、加密过之后的HTTP payload。

在步骤 ③ 这里,HTTPS Proxy 通过对客户端及服务端会话数据的透明转发,实现了 tunnel 的效果。

需要强调的是上述过程中,浏览器从始至终都没有和 google.com 发起直接的TCP连接,通信双方所有的数据都是经过 HTTPS Proxy中转的。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

SSH Tunnel
经过研究,你发现因为防火墙的原因,虽然客户端和服务器之间无法直接通信,但有一个好消息:防火墙对端口 22 是开放的。

如果把你的请求作为 payload 放到访问 22 端口的网络包里面,不就可以通过这防火墙了吗?

如图5所示。这就如同在防火墙里面挖了一条隧道出来,看到图中那个正穿过 SSH tunnel 的红色长条吗?像不像正在穿过秦岭隧道的高铁?

当然这个网络包的接收端是一个侦听在 22 端口的SSH server。它收到这个网络包后做什么事情不重要,重要的是你的请求已经成功地穿过了防火墙,且被投递出去了。不单如此,借助SSH自带的Secure加持,数据还是加密投递的。用一送一的感觉有没有?

好吧,知道 SSH server 收到数据后干了什么也很重要。图 5只是一个示意图,二哥总想把它背后的细节给大家扒拉一遍。在本例中,local client 真正想访问的是 192.168.4.23:32020 这个服务。当然它无法直接访问。

SSH client 侦听在 localhost:9300。
当客户端访问 localhost:9300 时,实际上访问请求会被 SSH Client 封装并经过 SSH tunnel 送至 SSH server端。SSH server 侦听在 192.168.5.24:22 。
SSH server端再向 192.168.4.23:32020 发起请求。

图 6:通过SSH tunnel来将请求穿越防火墙细节图
在这里插入图片描述

二哥在文章《​​如何对Pod容器进行remote debug​​》里详细描述了 SSH Tunnel 的使用场景。

VPN
二哥在文章《tun设备的妙用-VPN篇》及《tun设备的妙用-OpenVPN篇全流程补充》详细介绍了VPN的工作原理以及客户端通过VPN向企业内部服务发起请求时所涉及到的具体过程。附图如下,细节跳过。
在这里插入图片描述
在这里插入图片描述

实战

链接yun 隧道

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/31684.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]SSM计算机毕业设计教师业绩考核系统JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Mybatis-Plus条件构造器学习and方法

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 Mybatis-Plus条件构造器学习and方法一、代码1.Controller2、Service3、效果一、代码 1.Controller GetMapping("/queryProductList1")public List<ProductDTO&…

panads基础入门

目录 一、查看数据 二、选择数据 1、选择单列 2、 用 [ ] 切片行&#xff1a; 3、标签选择 1、选择某列的某一行&#xff0c;如下是 A 列 第 51 行的值 2、B列与A列的数据相互替换 3、用标签选取多列 4、用标签切片&#xff0c;包含行与列结束点&#xff1a; 5、提取标…

传奇列表格式怎么上传以及公告小窗口皮肤如何设置

相信各位新手小白GM在架设传奇配置登录器的时候都会遇到列表格式的问题&#xff0c;接下来我来教各位登录器的这个列表格式该怎么上传&#xff0c;列表上传地址&#xff1a;传奇常用引擎免费单机列表格式-传奇入门GOM-GEE引擎教学 我们版本是什么引擎我们就用什么引擎的列表格式…

基于Zookeeper实现高可用架构

Zookeeper高可用相关特性 Zookeeper介绍 ZooKeeper is a distributed, open-source coordination service for distributed applications It exposes a simple set of primitives that distributed applications can build upon to implement higher level services for sync…

分布式协调系统ZooKeeper实践与原理剖析

基础的一些知识&#xff0c;高阶知识后续看看补充 第一章 ZooKeeper概述 1.1 介绍 What is ZooKeeper&#xff1f; Apache ZooKeeper is an effort to develop and maintain an open-source server which enables highly reliable distributed coordination ZooKeeper is…

EasyX图形库的下载安装与Dev-C++配置

1.下载Dev-Cpp 6.3版本&#xff08;红色logo&#xff09; 下载地址&#xff1a;Download Dev-C for Windows 10/8/7 from SourceForge.netA fast, portable, simple, and free C/C IDEhttps://sourceforge.net/projects/embarcadero-devcpp/files/v6.3/Embarcadero_Dev-Cpp_6.3…

详细介绍百度ERNIE 2.0:A Continual Pre-Training Framework for Language Understanding

阅读更多&#xff1a;详细介绍百度ERNIE&#xff1a;Enhanced Representation through Knowledge Integration 文章目录ERNIE 2.0简介相关工作语言表征的无监督学习持续学习ERNIE2.0 框架持续的预训练预训练任务的构建持续的多任务学习针对应用任务的微调ERNIE 2.0模型模型结构…

【Java八股文总结】之消息队列

文章目录消息队列一、消息队列常见面试题1、什么是消息队列&#xff1f;2、为什么要用消息队列&#xff1f;3、使用消息队列存在的问题4、JMS vs AMQP&#xff08;一&#xff09;JMSQ&#xff1a;什么是JMS&#xff1f;Q&#xff1a;JMS两种消息模型Q&#xff1a;JMS五种不同消…

Lucid EDI需求分析及项目注意事项

Lucid Motors路西德汽车&#xff0c;是一家美国电动汽车制造商&#xff0c;总部位于美国加利福尼亚州纽瓦克。除了电动汽车&#xff0c;Lucid还有储能技术和代工生产等业务。公司成立于2007年。 截至2021年9月&#xff0c;其第一辆汽车Lucid Air已投入生产&#xff0c;于2021年…

使用arduino编写mqtt客户端连接emqx服务器

摘要&#xff1a;mqtt客户端可以有很多种&#xff0c;本文介绍一种使用arduino d1&#xff08;esp8266&#xff09;制作的客户端&#xff0c;连接emqx服务器的方法。 首先需要配置开发环境&#xff0c;配置方法可以参考文章 (1条消息) 使用arduino开发esp8266和esp32时首选项设…

美容美发店会员管理系统开发_分享美容美发店做会员管理系统的好处

为什么都在做美容美发店会员管理系统&#xff1f; 最主要的目的就是将新客留住&#xff0c;并通过各种会员福利发展成愿意多次消费的长期会员。 美容美发店作为服务类行业&#xff0c;吃的大部分都是回头客的盈利&#xff0c;而回头客的消费意愿&#xff0c;也普遍会比新客要…

Executor接口实现线程池管理

从JDK5开始&#xff0c;在java.util.concurrent包下增加了Executor接口及其子类&#xff0c;允许使用线程池技术来管理线程并发问题。Executor接口提供了一个常用的ExecutorService子接口&#xff0c;通过该子接口可以很方便地进行线程池管理。 通过Executor接口实现线程池管理…

LeetCode 0529. 扫雷游戏

【LetMeFly】529.扫雷游戏 力扣题目链接&#xff1a;https://leetcode.cn/problems/minesweeper/ 让我们一起来玩扫雷游戏&#xff01; 给你一个大小为 m x n 二维字符矩阵 board &#xff0c;表示扫雷游戏的盘面&#xff0c;其中&#xff1a; M 代表一个 未挖出的 地雷&am…

【前端】博客系统——简单的页面设计

前端 传送门【前端】HTML入门 —— HTML的常见标签 【前端】CSS(1) —— CSS的基本语法和一些简单的选择器 博客系统 (简单的页面设计)目录页面介绍效果预览代码实现实现博客列表页实现导航栏 版心实现导航栏 部分版心样式实现列表页版心样式实现博客正文页实现导航栏 版心…

基于ghOSt用户调度器的环境搭建

文章目录ghOSt环境搭建编译安装ghOSt内核使用ghOSt用户空间组件ghOSt环境搭建 资源: ghOSt-kernel:https://github.com/google/ghost-kernelghOSt-userspace:https://github.com/google/ghost-userspace论文原文&#xff1a;https://dl.acm.org/doi/abs/10.1145/3477132.348354…

[网络] https是什么?https是怎么保障我们信息传输的安全的?

文章目录前言HTTPs是什么&#xff1f;TLS是什么&#xff1f;协议栈对比&#xff1a;HTTPs vs HTTP万能的TLS协议TLS如何保障我们的通信安全的&#xff1f;对称加密和非对称加密的优缺点对称加密方式密钥易泄露的问题改良版之混合加密TLS中混合加密的应用附&#xff1a;有时候会…

pytorch的buffer学习整理

pytorch模型中的buffer 这段时间忙于做项目&#xff0c;但是在项目中一直在模型构建中遇到buffer数据&#xff0c;所以花点时间整理下模型中的parameter和buffer数据的区别&#x1f495; 1.torch.nn.Module.named_buffers(prefix‘‘, recurseTrue) 贴上pytorch官网对其的说…

sqli-labs/Less-52

这一关输入几次rand()页面发生了改变 说明这一关的注入类型属于数字型注入 接着尝试一下报错注入 输入如下 sortupdatexml(1,if(11,concat(0x7e,database(),0x7e),1),1)-- 发现没有回显 显然不能使用报错注入 只能使用盲注了 这一关我们通过rand()函数的形式来实现盲注 首先…

HTML+CSS+JavaScript仿京东购物商城网站 web前端制作服装购物商城 html电商购物网站

常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他等网页设计题目, A…