20210106浅谈vm的虚拟网络环境 - ziyouzy/2021blog GitHub Wiki

ubuntu的桌面版,如果是vm虚拟机的默认NAT模式的网络适配器,则初始是dhcp模式

可以修改为固定ip格式,修改方式和物理机一样,需要注意的是要先明确vm的虚拟网段范围

相关配置操作存在于编辑->虚拟网络编辑器

这里先看一篇关于网桥(gateway)的作用:

https://www.cnblogs.com/cnmarkao/p/4827347.html

其实可以把NAT模式理解成,Vm所有的虚拟宿主机组成了一个平级网络(矩阵1)

而我真实的路由器所连接的新旧笔记本,以及新买的云硬盘是另一个平级网络(矩阵2)

而路由器与矩阵2在同一层,矩阵1在下层

于是既然矩阵1可以手动设置固定ip还是dhcp,矩阵2也是可以的

同时矩阵1是一个网段,如192.168.10.1254,矩阵2是192.168.11.1254

(其实两个矩阵的网段地址相同也是可以的,因为他们是通过网关实现的两个域名,具体下面会详细说明)

矩阵1和2可以分别设置为前者固定ip,后者dhcp;或者前者dhcp,后者固定ip

核心在于,vm不仅创造的虚拟网络,还把主机变成了虚拟路由器

物理主机这一层的dhcp是通过物理路由器实现
物理主机这一层的不同网段间通信也是通过物理路由器实现
而宿主机这一层的dhcp和不同网段间通信都是通过物理主机的vm虚拟功能模块实现的
宿主机并没有直接和物理路由器通信,而是借助物理主机的软件和硬件实现了路由的相关功能
两个网段是上下级关系

或者说,vm的虚拟网络实现了虚拟交换机汇集各个宿主机;也实现了虚拟路由器让虚拟网络域拥有了和真实物理网络域功能一摸一样

同时物理主机此时此刻有两个网卡,一个是真实的物理网卡,一个是虚拟网卡,分别有自己的ip地址,重点说下虚拟网卡:

虚拟网卡是vm在主机上虚拟出来的,vm同时还虚拟出了一个虚拟路由器

这个虚拟路由器其实只能说是个半虚拟路由器,因为他是把物理主机的物理网卡转化成了这个路由器

因此实现这个半虚拟路由器后,物理机也就失去了通过自己最初的物理网卡连接万维网的功能

再聊聊虚拟网卡,这个虚拟网卡会和先其他虚拟宿主机的虚拟网卡一起链接到这个半虚拟路由器

然后这个半虚拟路由器在去和真实的物理路由器连接,从而实现上网

真实物理机相当于下降了一层,比如和新买的云硬盘相比

之前物理路由,云硬盘,物理主机在同一层,现在物理主机在下层了,同时物理主机,虚拟宿主机,半虚拟路由器在同一层

用物理网口实现的半虚拟路由器负责与上层的物理路由器实现不同域间的数据传输

这篇文章解释的比较清晰:

https://blog.csdn.net/luckwxf/article/details/92831096

而桥接模式从表面上看是:物理路由器物理主机,虚拟宿主机都在同一层,矩阵1和矩阵2是融合在一起的

因此必须都在同一个网段,如192.168.10.1~254

同时也是统一的dhcp服务来处理各个设备,或者统一设置成固定ip

但是似乎这个模式又有两种模式:

1.vm创造的一个虚拟交换机,所有的虚拟宿主机都用他实现信号汇总,再以下层的身份和物理机相连
同时物理机通过软件会实现一个纯粹的虚拟路由器,接收虚拟下层的连接,再使用自身的物理网卡,实现自身与物理路由器,以及云硬盘的上层网络域
缺陷是虚拟域不具备访问万维网的功能

2.基础架构不变,但是打开物理网卡共享开关,本质上其实有些类似NAT模式那样把物理网卡转化为半物理路由器,但却不是
而到这里开始和NAT模式开始不同:物理机依然能通过物理网卡上网,因为只是实现了物理网卡和虚拟网卡的二合一,而不是实现一个半虚拟的路由器。
于是通过虚拟网卡访问web等同于使用物理网卡访问web,从而让物理主机,虚拟宿主机,云硬盘都在同一层
缺陷在于想访问外网就必须让所有设备和物理路由器在同一层

再说说网关的作用,注意网关和网桥是区别很大的,网关需要路由器实现,网桥使用交换机或者集线器都可以

网关的作用是:矩阵1和2属于上下属,解决他们之间的通信

可以把路由器理解成,路由器就是个网关,路由器占用同层的一个ip地址,如192.168.1.1
他永远不会主动与下层交互而是会与上层实现交互
同一层,也不会设计某个单独的ip地址来表示下层的路由器
同一层的设备,只要把网关设置成路由器的ip地址,就可以实现与上层的数据交互了

同时不同网段之间的通信不能指望网桥,集线器,交换机来帮你完成,而是需要路由器

有个大原则是,不可能存在两个平级的网络矩阵,而是要么同属一个,要么上下属

文章中的这句话要研究透彻:“这里我觉得要明确的是,网桥不是用来连接不同网段的!!!我当初被这个问题害惨了,K了N多资料,不过还好,有点收获:>,不同网段之间通信,需要网关的帮助,它一般是路由器这类网络层的设备。网桥或交换机是链路层设备,网段这个是和IP相关的概念,属于网络层。网桥和交换机跟本无能力去处理网络层的东西!如果非要说用网桥和交换机去连接两个不同网段的网络不是不行,只是没有作用而已,因为不同网段机器的始终是不能互访问,网桥不能做网关!”