Linux虚拟机与Windows宿主机间的通信

Posted 我想月薪过万

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux虚拟机与Windows宿主机间的通信相关的知识,希望对你有一定的参考价值。

做 Linux 开发的同志们,虚拟机是一个必不可少的工具。其中,在开发之前,打通虚拟机与宿主机之间的通信通道是最重要的一步。

下面,我们就来讲一下 虚拟机 与 宿主机 之间通信方式,两种方式:桥接 NAT。在这里,我不会详细的讲他们的概念,大家可以自行百度。

我们来看一下各自该怎么操作才能实现互联。

首先 

我们来看一下VM这个软件给我们准备好了什么,见下图:为我们准备好了三个不同类型的虚拟网卡。

它会对应到Windows网络连接模板下的虚拟网卡。如下图:Vmnet0是桥接模式,所以没有虚拟网卡,有的人或许有,这个不重要。重要的是大家记住这两个地方是虚拟机和宿主机通信的桥梁。

NAT配置

在配置NAT之前,我们需要弄清楚虚拟机和宿主机之间的通信路线。

三条路线,大家根据不同颜色来区分,下面我们讲一下这些个部分对应啥玩意。

 

宿主机

宿主机很好理解,就你你本地电脑嘛,他有个IP地址,在 网络连接 里可以看,如下图:

在这里,你得关注以下东西:

 IPv4地址:机器的唯一标识符,如你得身份证。

IPv4子网掩码:确定了网络号和主机号位数。

IPv4默认网关:路过的数据包该往那个路由器上丢,是访问外网的去路。

IPv4DHCP服务器:负责分配子网IP地址。

IPv4DNS服务器:负责域名解析。

这个我分析的比较透彻,后面的大家自行对比分析。

VMnet8

这个是虚拟机给我们自动创建的虚拟网卡,文章开始我就讲过了。下面我们来看看他的配置。

大家可以看到,我们这个VMnet8的网段和宿主机的网段不在同一个网段 ,这就是NAT模式的巧妙之处,对,就是网段转换。所以,你不要自作聪明,把宿主机和VMnet8配置在同一个网段,那NAT模式就失去了他的灵魂。

NAT设备

这个设备在VM软件中的 编辑 -》虚拟网络编辑器 -》中,然后点击 更改设置 就可以对其进行更改了。如下图:

上面这个页面主要需要你关注这么几个地方:

 NAT设置:设置NAT设备的配置参数。

DHCP设置:这是DHCP服务器配置参数。

子网IP:确定子网IP的网段。上面在VMnet8中我们已经说过了,不要和宿主机在同一个网段,

所以,将其设置为 192.168.203.0。

子网掩码:确定网络号和主机号位数,这个根据常规设置为 255.255.255.0 就可以了。

 NAT设置

这个NAT设备有两个功能,从我画的关系图中就可以看出:其一:IP网段转换(绿色2);其二:作为网关进行数据转发(绿色3、4)。

NAT设备属于虚拟机这一方的设备,所以我们要将其IP(网关IP)设置在192.168.203.0这个网段,在这里我给其设置为192.168.203.2,你可以占用其他主机号。

DHCP设置

在这个地方我们需要设置 起始IP地址 和 结束IP地址,它就是规定了子网IP地址该怎么分配,还是那个规则,网络号不变,主机号范围由你来定。但是得注意,不要让VMnet8的IP地址出现在这个范围里。原因请看: xShell连接不上虚拟机

虚拟机

 这是我们最后一个要配置的设备了,是不是很高兴,终于要讲完了。他是在这里配置的,如下图:

就是在Linux中的网络配置里,将IPv4配置一下就可以了。我们来查看一下其IP

 大家可以看到,这样就保证虚拟机IP地址精确落到我们设置的范围里并且和VMnet8不同。

验证配置效果

外网和本地宿主机都 ping 的通,所以,配置的没毛病。 

桥接配置(未完待续)

首先,我们在虚拟机里面 ping www.baidu.com 是 ping 不通的。

于是,就需要我们的配置了。先查看自己本地 的IP

 知道本地主机的 IP 地址之后 来到虚拟机的网络配置面板

 

 

以上是关于Linux虚拟机与Windows宿主机间的通信的主要内容,如果未能解决你的问题,请参考以下文章

LINUX虚拟机与WINDOWS主机,直接复制交换文件会有问题

如何创建虚拟机与主机间的共享文件夹

使用Windows的KVM虚拟机与CentOS宿主机互通

虚拟机之间互联通信

如何让虚拟机与本机进行通信

Vmware虚拟机网络模式及虚拟机与物理机通信方法