虚拟机突然连不上校园网了,发现是虚拟机桥接模式的原因。。。
为什么??,先了解一下NAT 模式和桥接模式的原理和区别
网络连接原理
NAT 模式
在 NAT 模式下,虚拟机通过宿主机(物理机)与外部网络进行通信。虚拟机的网络连接被视为宿主机内部的一个私有网络。宿主机充当虚拟机的网关,虚拟机向外部网络发送的数据包首先到达宿主机,宿主机将这些数据包的源地址转换为自己的外部网络地址(即进行 NAT 操作)后再发送到外部网络。例如,虚拟机的 IP 地址可能是 192.168.100.10(私有 IP),宿主机的外部网络地址为 10.0.0.10(公网 IP 假设),当虚拟机访问外部网络(如 8.8.8.8)时,数据包的源地址在宿主机上被转换为 10.0.0.10,外部网络返回的数据包根据 NAT 表再转发给虚拟机。
桥接模式
桥接模式下,虚拟机就像直接连接到外部网络的一台独立物理机。虚拟机的网络适配器直接与宿主机所在的网络进行桥接,虚拟机获得与宿主机同网段的 IP 地址(如果网络支持 DHCP,则由 DHCP 服务器分配;如果是静态配置,也需要配置同网段的 IP 地址)。例如,如果宿主机所在网络的网段是 192.168.1.0/24,宿主机的 IP 地址为 192.168.1.10,虚拟机在桥接模式下可能被分配到 192.168.1.20 的 IP 地址,虚拟机可以直接与该网段内的其他设备(如其他物理机、打印机等)进行通信,就像一台普通的网络设备。
IP分配
NAT 模式
虚拟机的 IP 地址由 VMware 的虚拟网络编辑器中的 NAT 设置所管理的虚拟 DHCP 服务器分配。通常是一个私有网络地址段,如 192.168.100.0/24 之类的地址。这些 IP 地址是内部专用的,不会与外部网络的公网 IP 地址冲突。
桥接模式
如果网络中有 DHCP 服务器,虚拟机可以通过 DHCP 获取 IP 地址,这个 IP 地址与宿主机所在网络中的其他设备的 IP 地址获取方式相同,都是从网络中的 DHCP 服务器获取。如果采用静态 IP 地址配置,也需要遵循所在网络的 IP 地址规划,与其他设备处于同网段
然而校园网呢是有认证的,而桥接模式是使用一个与宿主机的同网段IP来访问外网的,而校园网的网关是不承认这个未认证的IP就导致不会给这个IP发送数据包。
这里我使用了Wireshark进行了抓包
虚拟机:
主机:
可以发现除了源IP外其他都相同
要解决这个问题也很简单,就是把桥接模式换位NAT模式,虚拟机发出的到源IP会被宿主机修改为宿主机的IP,发给虚拟机的包也会通过NAT表转发给虚拟机。
如何修改虚拟机的网络模式?