希望文章能给到你启发和灵感~
如果觉得文章对你有帮助的话,点赞 + 关注+ 收藏 支持一下博主吧~
阅读指南
开篇说明
近期虚拟机用的多,总结了一些常用的连接方式和适用场景
一、基础环境说明
考虑环境因素,大家适当的对比自己的软硬件环境情况分析~请仔细阅读硬件、软件环境
1.1 硬件环境
宿主机MacOS Monterey 版本 12.6.8 Apple M1
)
1.2 软件环境
工具:Paralles Desktop 19.0.0
二、网络连接方式
虚拟机中的网络连接方式,常见的无非就是几种,
桥接
,NAT
,仅主机
;以下的演示,我已经把其他可影响的因素给开启了,如防火墙等;
2.1 桥接模式(Bridge Mode)
桥接模式下,虚拟机的网络适配器直接“桥接”到主机的物理网络适配器上,相当于虚拟机在网络中拥有了自己独立的身份。虚拟机就像网络上的另一台物理机一样,直接连接到物理网络,
拥有自己的MAC地址
和独立的IP地址
。
简单的来说
【1】就是虚拟机与主机及其他物理设备在同一网段,可以无障碍地相互通信;
【2】桥接下虚拟机会占用实际网络的一个IP地址资源。例如你宿主机的ip是
192.168.199.150,那么你的虚拟机ip也将会是这个网段192.168.199.xxx;
他适用的场景是一般是需要虚拟机与局域网内其他设备自由通信,且局域网中的IP地址资源充足
;
这里我以mac中的paralles desktop虚拟机为例来展示;
桥接模式
下,ip我们看到和宿主机是一个局域网段的,因为他是独立的物理地址
;此时局域网内的其他物理机和虚拟机可以交互的;即虚拟机能和宿主机以及其他同宿主机同局域网段内的设备交互通信,并具备和外网相互交互通信的能力
2.2 NAT模式(Network Address Translation)
NAT模式利用网络地址转换技术,允许虚拟机通过主机的网络连接访问外部网络,而不需要为虚拟机分配独立的公网IP地址。虚拟机的网络流量经过主机上的NAT引擎进行地址转换,从而实现对外通信。
特点是:
【1】虚拟机看到的网络是从NAT设备开始的,通常会分配一个属于私有IP地址范围的IP地址。
【2】虚拟机可以访问互联网,但从外部网络来看,所有流量似乎都来自于主机的IP地址。
【3】宿主机之外的网络设备无法直接看到虚拟机的存在,需要通过端口映射等方式进行访问(如果需要)。
这里我以mac中的paralles desktop虚拟机为例来展示;
这里就是共享模式(NAT ),而不需要为其单独再去分配一个ip
,而是依附在宿主机上的。这里在虚拟机中开启了服务,并且能访问外网(通过宿主机),宿主机是可以访问到虚拟机这个tomcat服务的;但是其他外网物理机就访问不到;即宿主机和虚拟机可以通信,都可以访问外网,但是外网访问不了虚拟机,并且同局域网段设备不能访问虚拟机;
2.3 仅主机模式(Host-Only Mode)
在仅主机模式下,虚拟机只能与主机进行网络通信,不能直接访问外部网络
。虚拟机和主机之间形成一个封闭的私有网络
,通常由虚拟网络适配器(如VMware的VMnet1)提供连接
。
- 虚拟机与主机之间可以相互通信,但
无法访问外部网络
。 - 适用于需要隔离的测试环境或当需要建立虚拟机之间以及虚拟机与主机之间的直接通信而不希望它们暴露给外部网络时使用。
- 虚拟系统的TCP/IP配置信息(如IP地址、网关地址、DNS服务器等)由虚拟网络的DHCP服务器动态分配。
简单的来说,仅主机模式下,就是让虚拟机完全隔离于
外界,只能和宿主机进行通信和交互;不单单与宿主机同局域网下的物理机,连外网的设备也不能抵达;
三、最后
总结一下以上的内容,以及各个模式的适用情况;
【1】桥接模式,需要虚拟机与局域网内其他设备自由通信
,且局域网中的IP地址资源充足。
【2】NAT模式,局域网中的IP地址紧张
,不能给虚拟机分配单独的IP地址,只需要虚拟机访问外部网络,不需要外部设备访问虚拟机。
【3】仅主机模式,需要进行网络隔离的测试环境
。多台虚拟机之间需要进行相互通信,但不希望暴露给外部网络。
【4】NAT和仅主机模式下,如果需要外网可以访问到虚拟机,需要实现一定的配置,如端口映射来实现访问;