一文读懂虚拟机的网络模式(虚拟机 网络模式)

小编:小丢 更新时间:2022-05-08

前言

虚拟机对于开发人员应该都不陌生,我这里就不展开介绍了。

虚拟机安装完成后,经常会做一些网络配置,比如我们想让虚拟机能上网、宿主机与虚拟机可以互联、虚拟机之间能够互联等等诉求。虚拟机都会提供很多网络配置模式,比如网络地址转换(NAT)、NAT网络、桥接网卡、仅主机(Host-Only)网络等等。为什么会有这么多模式?每种模式又有哪些特性?我们该怎么选择?诸如此类问题,我们会有很多,今天就让小编带着大家一起详细的了解一下。

常用的几种网络模式

在了解几种常见的网络模式之前,先了解介绍两个概念,NAT是什么、桥接又是什么。

NAT(Network Address Translation),是指网络地址转换,简单来说就是把内网IP地址转换为外网IP地址。常见的使用场景就是上网,我们有多台计算机都有自己的内网IP,想要上网就需要将内网IP转换为外网IP就可以上网了。我们家里安装的路由器都有NAT的功能。

桥接,是指两个网卡通过交换机连接到一起就叫做桥接,两个网卡处于同一网段,彼此地位相同。

下面详细了解一下Virtual Box提供的四种网络模式:

NAT网络

NAT模式中,虚拟机的网卡(采用虚拟技术模拟出的网卡)和宿主机的网卡在两个不同的网络中,虚拟机能上网,虚拟机之间可以相互访问,虚拟机也可以访问宿主机,但宿主机不能访问虚拟机,怎么理解呢举个例子,有一台宿主机A,宿主机采用Virtual Box虚拟出了两台虚拟机V1、V2,V1和V2处于同一个NAT网络,那么结论V1与V2可以相互访问,V1和V2也能访问A,但A却无法访问V1和V2。

为什么虚拟机可以访问宿主机呢?原因其实很简单,宿主机所在的物理网络就是NAT虚拟网络的外网。

网络地址转换(NAT)

网络地址转换(NAT)是一种特殊的NAT网络,虚拟机软件帮我们预制NAT网络,不需要我们再手动去创建NAT网络。这种模式下的虚拟机之间是无法相互访问的。原因是虚拟机处于不同的NAT网络,彼此之间是相互隔离的。其它特性和NAT网络相同。

桥接网卡

桥接网卡是一个虚拟的网卡,和物理网卡处于同一层级,这两个网卡通过一个虚拟的交换机连接,他们处于同一子网。虚拟机能上网,宿主机和虚拟机之间,虚拟机与虚拟机之间,虚拟机与其它主机之间都可以相互访问。这种网络的弊端是会占用物理网络的地址。

仅主机(Host-Only)网络

Host-Only网络模式的宗旨就是建立一个与外界隔离的内部网络,来提高内网的安全性,这个功能对大多数的普通用户没什么作用,但一些大型的服务提供商会用到这种模式。在这种模式下,虚拟机不能上网,宿主机和虚拟机之间、虚拟机与虚拟机之间都可以相互访问,但与NAT不同的是,宿主机与虚拟机是通过一个虚拟网卡来实现相互访问的。

搭建宿主机与虚拟机互联模式

基于上面的知识,大家想想如何搭建一个宿主机与虚拟机可以互联,又可以实现虚拟机上网呢?

小编给出一个实现方案:

每个虚拟机可以添加两块网卡,一块网卡采用“仅主机(Host-Only)网络”,是为了宿主机和虚拟机互联,另外一块网卡采用“网络地址转换(NAT)”,是为了可以访问互联网。

总结

相信通过上面的介绍应该可以解决大家大部分的疑惑,如果有不理解的欢迎私信沟通~~~