虚拟机网络修复
虚拟机网络修复
前言:
众所周知 虚拟机的网络链接有时候容易挂掉 困扰主播很久了 所以单独拿出一篇文章去讲解他的原理 在实际的测试环境中 虚拟机的运用是经常的 那么了解虚拟机独特的上网方式是很重要的 当然也不是很独特的
虚拟机NAT模式联网
NAT(Network Address Translation,网络地址转换)是一种在网络设备(如路由器、防火墙或虚拟机的虚拟网络组件)上实现的技术,核心作用是解决 IPv4 地址资源不足的问题,同时增强内网设备的安全性。在虚拟机(如 VMware、VirtualBox)的 NAT 模式中,其工作原理与物理网络中的 NAT 类似,但通过虚拟组件实现,以下是详细解析:
一、NAT 的核心功能
- 地址转换:将内网设备的私有 IP 地址转换为外网的公有 IP 地址,使多个内网设备可通过一个公有 IP 访问互联网。
- 隔离内外网:外网无法直接访问内网设备的私有 IP,仅能通过 NAT 设备转发的请求通信,提升安全性。
二、虚拟机 NAT 模式的工作原理
以 VMware 为例,NAT 模式下虚拟机的上网流程依赖 3 个核心组件:虚拟网卡(VMnet8) 、NAT 服务、虚拟 DHCP 服务器,具体步骤如下:
1. 虚拟网络环境搭建
- 虚拟网卡(VMnet8) :主机中会生成一块虚拟网卡(如 “VMware Network Adapter VMnet8”),其 IP 地址属于一个私有网段(默认通常为
192.168.137.x
,可自定义),作为主机与虚拟机的 “桥梁”。 - 虚拟交换机:VMware 内部创建一个虚拟交换机,将虚拟机的网络适配器、VMnet8 虚拟网卡、NAT 服务连接到同一网络。
- 虚拟 DHCP 服务器:自动为虚拟机分配私有 IP 地址(如
192.168.137.100
)、子网掩码(如255.255.255.0
)、网关(即 NAT 服务的虚拟 IP,如192.168.137.2
)。
2. 虚拟机访问互联网的完整流程
假设场景:虚拟机(私有 IP:192.168.137.100
)通过主机的公网 IP(如202.xx.xx.xx
)访问互联网(如www.baidu.com
)。
-
虚拟机发送请求
虚拟机生成访问www.baidu.com
的数据包,源 IP 为自身私有 IP(192.168.137.100
),目标 IP 为百度服务器的公网 IP(如180.101.50.242
),并将数据包发送到虚拟交换机。 -
NAT 服务处理请求
数据包经虚拟交换机转发至 NAT 服务,NAT 服务执行以下操作:- 替换源 IP:将数据包的源 IP(
192.168.137.100
)替换为主机的公网 IP(202.xx.xx.xx
)。 - 记录映射关系:在 NAT 设备的 “地址转换表” 中记录一条临时映射:
虚拟机私有IP:端口 <-> 主机公网IP:临时端口
(端口用于区分同一主机下的不同设备请求)。
- 替换源 IP:将数据包的源 IP(
-
主机转发请求到互联网
经过地址转换的数据包,通过主机的物理网卡(如 Wi-Fi、以太网)发送到互联网,最终到达百度服务器。 -
服务器响应并返回数据
百度服务器处理请求后,将响应数据包发送回主机的公网 IP(202.xx.xx.xx
),目标端口为 NAT 服务记录的临时端口。 -
NAT 服务反向转换并转发
主机收到响应后,将数据包转发至 NAT 服务,NAT 服务查询 “地址转换表”,找到对应的虚拟机私有 IP(192.168.137.100
)和原始端口,将响应数据包的目标 IP 替换为虚拟机私有 IP,再通过虚拟交换机转发给虚拟机。 -
虚拟机接收数据
虚拟机收到响应,完成一次网络通信。
三、NAT 模式的特点
- 无需独立公网 IP:虚拟机使用主机的公网 IP 上网,无需额外配置公网地址。
- 内外网隔离:外网设备无法直接访问虚拟机(需手动配置端口映射才能实现),安全性高。
- 配置简单:虚拟机通过 DHCP 自动获取网络参数,无需手动设置 IP、网关等(也可手动固定)。
- 与主机网络独立:虚拟机的网络配置(如 IP 网段)不会影响主机的物理网络,适合新手使用。
修复
关闭主机网卡的网络共享功能
网络共享(ICS)会强制修改虚拟网卡的 IP 配置,与 VMware NAT 模式冲突,导致多网段问题:
- 打开主机「网络连接」(控制面板→网络和共享中心→更改适配器设置)。
- 找到你用于上网的物理网卡(如 “以太网” 或 “Wi-Fi”),右键→属性。
- 切换到「共享」选项卡,取消勾选 “允许其他网络用户通过此计算机的 Internet 连接来连接”,点击确定。
- 重启 VMware 相关服务:按
Win+R
输入services.msc
,找到VMware NAT Service
和VMware DHCP Service
,右键重启。
重置 VMware 虚拟网络配置
VMware 的虚拟网络配置可能因冲突导致异常,建议重置:
-
关闭所有虚拟机,打开 VMware 软件。
-
点击顶部菜单「编辑」→「虚拟网络编辑器」(若提示需要管理员权限,点击 “更改设置”)。
-
点击右下角「还原默认设置」,等待重置完成(此操作会恢复所有虚拟网络的默认配置)。
-
重置后,确认 NAT 模式对应的虚拟网卡(通常是 VMnet8)的网段:
- 在虚拟网络编辑器中,选中 VMnet8,查看 “子网 IP”(默认可能是 192.168.x.0,如 192.168.137.0,这可能是你看到 137 网段的原因)。
- 若需修改为 31 网段,可直接修改 “子网 IP”(如 192.168.31.0),点击「应用」。
统一虚拟机的网络配置
确保虚拟机仅使用 NAT 模式的 IP,避免手动设置与 DHCP 冲突:
-
打开虚拟机,进入网络设置(以 Windows 为例:控制面板→网络连接)。
-
找到虚拟机的网卡(通常是 “以太网”),右键→属性→双击 “Internet 协议版本 4(TCP/IPv4)”。
-
若之前手动设置了 31.1 地址,改为自动获取 IP 地址和自动获取 DNS 服务器地址(由 VMware 的 DHCP 服务分配,与 VMnet8 网段一致)。
-
若需固定 IP(仍在 NAT 网段内):
- 选择 “使用下面的 IP 地址”,IP 地址设置为 VMnet8 子网内的地址(如 192.168.31.100,需与子网 IP 在同一网段)。
- 子网掩码默认 255.255.255.0,默认网关填写 VMnet8 的网关(在虚拟网络编辑器中,点击 VMnet8 的「NAT 设置」可查看,通常是子网 IP 的第 4 段改为 2,如 192.168.31.2)。
- DNS 服务器可填写主机的 DNS(如 114.114.114.114)。
桥接网络
在虚拟机(如 VMware、VirtualBox)中,桥接模式(Bridged Networking) 是一种让虚拟机直接接入物理网络的技术,使虚拟机在网络中表现为一台 “独立的物理设备”,与主机及局域网内其他设备处于同一网段。其核心原理是通过虚拟网桥(Virtual Bridge)将虚拟机的网络适配器与主机的物理网卡 “桥接”,让虚拟机直接参与物理网络的通信。
一、桥接模式的核心组件
- 虚拟网桥(VMnet0,以 VMware 为例)
虚拟机软件会创建一个虚拟网桥(默认名为 VMnet0),它是连接虚拟机、主机物理网卡与物理网络的 “中间枢纽”,工作在数据链路层(基于 MAC 地址转发数据)。 - 虚拟机的网络适配器
虚拟机的虚拟网卡(如 “VMware Virtual Ethernet Adapter”)会被 “挂接” 到虚拟网桥上,相当于虚拟机直接连接到物理网络。 - 主机的物理网卡
主机的物理网卡(如以太网、Wi-Fi)也会被关联到虚拟网桥,使物理网络的流量能通过网桥传递给虚拟机,反之亦然。
二、虚拟机桥接模式的工作原理
桥接模式下,虚拟机与物理网络的通信流程如下:
1. 网络身份与 IP 配置
- 虚拟机的网络身份与物理设备完全一致:它会像物理电脑、手机一样,通过物理网络的DHCP 服务器(如路由器)获取 IP 地址、子网掩码、网关和 DNS(也可手动设置与物理网络同网段的静态 IP)。
- 例如:若物理网络中路由器分配的 IP 网段是
192.168.1.x
(网关192.168.1.1
),则虚拟机获取的 IP 也会是192.168.1.x
(如192.168.1.105
),与主机(如192.168.1.100
)处于同一网段。
2. 数据帧的转发流程
以虚拟机向物理网络中的另一台设备(如路由器或其他电脑)发送数据为例:
-
虚拟机发送数据
虚拟机生成数据帧,源 MAC 地址为虚拟机虚拟网卡的 MAC,目标 MAC 地址为物理网络中目标设备的 MAC(如路由器的 MAC),源 IP 为虚拟机的 IP(如192.168.1.105
),目标 IP 为物理设备的 IP(如192.168.1.1
)。 -
虚拟网桥转发数据
数据帧首先发送到虚拟网桥(VMnet0),网桥会像物理交换机一样,根据目标 MAC 地址判断转发方向:- 若目标设备在物理网络中(如路由器),网桥会将数据帧通过主机的物理网卡转发到物理网络。
- 若目标设备是主机本身,网桥会直接将数据帧转发给主机的网络协议栈。
- 若目标设备是同一主机上的其他桥接模式虚拟机,网桥会直接在虚拟机之间转发(无需经过物理网卡)。
-
物理网络响应与回传
物理网络中的设备(如路由器)收到数据后,会直接以虚拟机的 IP 和 MAC 为目标进行响应,响应数据帧通过物理网络传输到主机的物理网卡,再经虚拟网桥转发给虚拟机。 -
与外网通信
虚拟机访问互联网时,流程与物理设备完全一致:通过物理网络的网关(如路由器)转发,使用自身的 IP 地址与外网通信(无需经过 NAT 转换)。
三、桥接模式的特点
- 与物理网络完全融合
虚拟机拥有与物理设备相同的网络地位,可被物理网络中的其他设备(如电脑、手机、路由器)直接发现和访问(通过 IP 或 MAC 地址)。 - IP 地址与物理网络一致
虚拟机的 IP 必须与物理网络处于同一网段(否则无法通信),通常由物理网络的 DHCP 分配,或手动设置为同网段静态 IP(需与其他设备不冲突)。 - 无需地址转换
与 NAT 模式不同,桥接模式下虚拟机的通信无需经过地址转换,数据直接在物理网络中传输,延迟更低,适合需要被外网直接访问的场景(如搭建服务器)。 - 依赖物理网络状态
若主机断开物理网络(如断开 Wi-Fi、网线),虚拟机也会同时断网;若物理网络的 DHCP 或网关配置变化,虚拟机的网络也会受影响(需重新获取 IP 或手动调整)。
四、与 NAT 模式的核心区别
对比项 | 桥接模式 | NAT 模式 |
---|---|---|
网络地位 | 与物理设备平等,属于物理网络的一部分 | 属于独立的虚拟内网,通过主机 NAT 访问外网 |
IP 网段 | 与物理网络相同(如192.168.1.x ) | 独立虚拟网段(如192.168.137.x ) |
外网访问虚拟机 | 可直接访问(需物理网络允许) | 需手动配置端口映射,否则无法直接访问 |
依赖物理网络 | 强依赖(主机断网,虚拟机也断网) | 弱依赖(主机联网即可,虚拟机网段独立) |
总结
桥接模式的核心是通过虚拟网桥将虚拟机 “接入” 物理网络,使其成为物理网络中的一台 “真实设备”,实现与物理网络的无缝通信。它适合需要虚拟机与物理设备频繁交互、或需要虚拟机被外网直接访问的场景(如开发测试、搭建局域网服务器)
NAT 模式的核心是通过 “地址转换” 和 “端口映射”,让内网设备(如虚拟机)借助一个公网 IP 访问互联网,同时隔离内外网以保障安全。在虚拟机中,这一过程由虚拟网卡、NAT 服务和 DHCP 服务器协同完成,实现了简单、安全的网络连接。