计算机网络

详解 VM 的桥接、仅主机、NAT 以及 LAN 网段

前置知识 理解本文可能需要计算机网络基础知识。 另外有几个要点: 虚拟机要访问外网,必须(物理上)途径宿主机。 桥接模式(Bridged) 桥接模式是让虚拟机联网的最简单方法。它相当于将虚拟机和宿主机同时接入一个虚拟交换机。所以就宿主机所在的局域网而言,虚拟机在以太网中和其它机器(比如你的手机,另一台电脑)没有什么区别,都是局域网内的一个站点。它的 IP 也和以太网的其它机器处于同一个网段,如果是动态分配的话,也是从同一个 DHCP 服务器获取。 举个例子,你的台式机接入了路由器,路由器的地址为 192.168.0.1,它同时是网关也是 DHCP 服务器。你的台式机开机后会通过广播(255.255.255.255)从 DHCP 服务器(路由器提供)获得 IP 地址: 分配到 IP 地址 192.168.0.3 以及其它配置信息。 此时你创建了一台虚拟机,宿身于你的台式机(宿主机)中,那么虚拟机开机后,同样广播搜索 DHCP 服务器,并从路由器获取 IP 地址。而虚拟机的上网实际上都要借助台式机的网卡进行,只不过虚拟机有了自己的 MAC(通常可以自己配置),所以能够从宿主机区分开来。 这种方式通过虚拟交换机技术实现。 仅主机模式(Host-Only) 虚拟机之间能通信吗?能! 在仅主机模式中,虚拟机和宿主机之间会创建一个虚拟专用网络 (VPN) 连接。所以对于外部网络(比如宿主机的局域网)的其他机器,虚拟机是隐藏的,而对于其它虚拟机,此虚拟机又与之处于同一网段。 虚拟机的 IP 地址通过虚拟机软件的 DHCP 服务器提供。 虚拟机和宿主机能通信吗?能,需要设置! 当启用_将主机虚拟适配器连接到此网络_之后,相当于允许主机的虚拟网卡和虚拟机的虚拟网卡通信。但是不一定能访问外网,因为主机的虚拟网卡不一定能访问外部网络: 虚拟机可以上外网吗?能,需要设置! 要让仅主机模式下的虚拟机访问外部网络,需要如下条件: 启用_将主机虚拟适配器连接到此网络_(在 VMware/VBox 设置) 在宿主机的可访问外网的物理网卡(如本地连接)共享给宿主机上的虚拟网卡(在操作系统中设置) 所有虚拟网卡的网关设置为宿主机虚拟网卡的地址 网络上许多文章认为仅主机不能访问外网,实际上是可以的,不过设置比较复杂。 网络地址转换模式(NAT) 和仅主机类似,在 NAT 模式中,虚拟机在外部网络是隐藏的。因为 NAT 能够创建一个私有网络,而为了访问外部网络,需要经过 NAT 路由的翻译,如果在宿主机建立 NAT 路由,则宿主机、其它虚拟机在外部网络看来都是同一个站点。NAT 路由则维护一个表,确保外部数据送到对应的主机。这种情况,如果在虚拟机上搭建一个 IP 协议的服务,其端口只能在私有网络中有效。为了暴露到外部网络,需要进行端口转发。 NAT 建立私网,其分配 IP 同样通过 DHCP 实现。 这里可能会认为 NAT 和仅主机几乎没有什么区别。其实是不同的。我们看两个表。 Read more...
1 of 1

最近发布

要查看全部文章,请点击右上角“归档”