虚拟机三种网络模式详解
一:NAT( 网络地址转换)
工作原理/链接方式
工作原理
-
NAT模式(网络地址转换模式,Network Address Translation)允许虚拟机通过主机访问外部网络(如互联网),但外部网络无法直接访问虚拟机。其工作原理主要是通过主机充当虚拟机的“网关”来实现网络地址转换。
-
虚拟机的私有网络:
-
在 NAT 模式下,虚拟机会被分配一个私有 IP 地址(如 192.168.x.x 或 10.x.x.x),这个 IP 地址只能在虚拟机和主机之间有效,并且与外部网络隔离。
-
-
虚拟机请求外部网络:
-
当虚拟机需要访问外部网络(如互联网)时,它会把数据包通过虚拟网卡发送给主机。
-
数据包的源 IP 地址是虚拟机的私有 IP 地址,而目标地址是外部网络的某个设备(例如某个网站的服务器 IP)。
-
-
主机进行 NAT 转换:
-
主机充当,NAT 路由器,将来自虚拟机的数据包进行,网络地址转换。
-
将数据包中的源 IP 地址从虚拟机的私有 IP 地址转换为主机的公网 IP 地址。
-
保留虚拟机的端口信息,以便将返回数据正确转发给虚拟机。
-
-
-
数据包发送至外部网络:
-
主机将已经替换源 IP 的数据包发送到外部网络(例如互联网)。
-
外部服务器只看到数据包的源地址为主机的公网 IP,而不知道虚拟机的私有 IP。
-
-
外部网络响应数据:
-
外部服务器将响应数据包发送回主机的公网 IP。
-
主机接收到响应后,使用 NAT 表将数据包中的目标 IP 地址重新转换回虚拟机的私有 IP 地址。
-
-
主机将数据包转发给虚拟机:
-
主机将响应数据包转发给对应的虚拟机,虚拟机接收到外部网络的数据包后完成通信。
-
-
NAT模式下,主机是虚拟的路由器,而虚拟机是一台私有网络中的机器。而既然是私有网络中的机器,那就和私有网络IP地址有关
私有网络IP地址范围
-
10.0.0.0 - 10.255.255.255
-
172.16.0.0 - 172.31.255.255
-
192.168.0.0 - 192.168.255.255
其他需要注意的
-
处于网络中的计算机,必须要在同一个子网下面才能直接通信(通过数据链路层来通信)。具体什么是子网 可以看我的另一篇博客:
-
如果两台计算机不在同一个子网,不能通过直接的数据链路层进行数据传输。但是,它们可以通过 三层(网络层) 的设备,例如路由器,来进行通信。
-
路由器通过网络层协议(如 IP 协议)将数据从一个子网转发到另一个子网
-
https://blog.csdn.net/qq_61654952/article/details/139453099
二:桥接模式(独立主机)
桥接模式允许虚拟机与主机网络以及外部网络完全独立地通信,虚拟机就像是网络中的一台独立主机,具有自己的 IP 地址。
工作原理
1.网络连接:
-
在桥接模式下,虚拟机的网络适配器与主机的物理网卡(例如以太网适配器或无线适配器)相连接。这种连接模拟了虚拟机与局域网中的一台独立设备直接相连的情况。
2.获取 IP 地址:
-
虚拟机启动后,会通过 DHCP(动态主机配置协议)从网络中的 DHCP 服务器获取一个 独立的 IP 地址。这个 IP 地址与局域网中的其他设备位于同一子网内,确保虚拟机可以与其他设备直接通信。
3.数据链路层通信:
-
虚拟机和其他网络设备之间的通信是在数据链路层(Layer 2)进行的。虚拟机使用 MAC 地址进行识别和通信。
-
当虚拟机发送数据包时,它会将数据包发送到主机的物理网卡。由于虚拟机的网络适配器与主机的网卡桥接,数据包将直接转发到局域网。
其他需要注意的
-
需要确保 DHCP 服务器能够为虚拟机分配 IP,或者手动为虚拟机分配一个不与其他设备冲突的 IP 地址。
-
桥接模式下,虚拟机和主机地位是一样的,都是主机链接的局域网中的一台机器,它可以直接访问局域网中的其他设备,如打印机、文件服务器等,也可以被其他设备直接访问。
三:主机模式(子主机)
主机模式将虚拟机完全隔离在主机的网络中,虚拟机只能与主机通信,无法访问外部网络,也无法与其他局域网设备通信。
工作原理
1.虚拟网络适配器:
-
在主机模式下,虚拟机通过一个虚拟网络适配器与主机进行连接。这个虚拟适配器形成了一个独立的局域网,仅包含主机和虚拟机,完全隔离于外部网络。
2.IP 地址分配:
-
主机和虚拟机在这个私有网络中都有各自的 IP 地址。主机的虚拟网络适配器通常会为虚拟机分配一个私有 IP 地址(例如 192.168.x.x)。这个 IP 地址只在主机和虚拟机之间有效,外部网络无法访问。
3.数据传输:
-
当虚拟机需要与主机通信时,它通过虚拟网络适配器发送数据包。这些数据包只在主机和虚拟机之间进行转发。
-
主机和虚拟机之间的通信是在数据链路层(Layer 2)进行的,使用 MAC 地址进行识别和处理。
其他需要注意的
-
没有,这个模式一般也很少人用吧
在VM中打开
总结
虚拟机软件设置不同的网络模式,是因为有其特定的应用场景,比如
-
桥接模式:适合需要与外部网络通信的虚拟机。
-
NAT 模式:适合需要访问外部网络,但无需外部设备访问虚拟机的情况。
-
主机模式:适合完全隔离的虚拟环境。
你好,我是Qiuner. 为帮助别人少走弯路而写博客 这是我的 https://github.com/Qiuner⭐ https://gitee.com/Qiuner 🌹
如果本篇文章帮到了你 不妨点个赞吧~ 我会很高兴的 😄 (^ ~ ^) 。想看更多 那就点个关注吧 我会尽力带来有趣的内容 😎。
代码都在github或gitee上,如有需要可以去上面自行下载。记得给我点星星哦😍
如果你遇到了问题,自己没法解决,可以去我掘金评论区问。私信看不完,CSDN评论区可能会漏看 掘金账号 https://juejin.cn/user/1942157160101860
更多专栏:
📊
📝
⚽
🌟
🤩
🚀
🎨
📡
🎯
🔍
感谢订阅专栏 三连文章
- 点赞
- 收藏
- 关注作者
评论(0)