解决虚拟机与宿主机不在同一个网段中,不能相互ping通的问题

背景:

在工作中,我在windows中用虚拟机来编译代码。用到的模型是,Windows(source insight) + Linux(编译)。为了方便操作,在虚拟机中搭建了一个samba服务器,供Windows方便访问。

一般来说,要想wondows通过samba访问linux,必须要相互ping通才行。所以我们设置虚拟机的时候,会设置虚拟机的网络模式为桥接模式,然后将虚拟机和宿主机设置为同一网段。这样就可以正常工作。

但是,如果宿主机链接的网路不是一直不变的,或者你从一个工作环境中换到另一个环境中(公司到家),IP改变,或者有线网络和无线网络切换等。都可能造成宿主机IP段的改变。当出现宿主机IP段的改变的时候,为了使samba能正常工作,一般的做法是将虚拟机的网段手动设置为宿主机同一网段。

但是,这种操作太麻烦,每次都要去修改虚拟机的IP,并且访问samba的时候,需要每次都去从新映射。这影响我们愉快的coding,我们需要以不变应万变。所以这里提供一种不管你宿主机ip怎么改变,我虚拟机都不变的方法。

方法:

在开始之前,需要先了解下“Microsoft KM-TEST环回适配器”。

Microsoft 环回适配器是一种可用于在虚拟网络环境中进行测试的工具,比如我服务器和虚拟机安装在同一台机子上,怎么访问呢,就可以通过这个回环适配器来完成。

而在我看来,就是一个块虚拟网卡,可以供测试用。

我们今天要做的就是利用这个回环来解决我们的问题。

一. 首先安装“Microsoft KM-TEST环回适配器”

1.在计算机管理中,选择“设备管理器”中的“网络适配器”,然后点击“操作”中的“添加过时硬件”。

2.选着“安装我手动从列表选择的硬件(高级)”。

3.选择“网络适配器”。

4.选择“Microsoft”,然后选择“Microsoft KM-TEST环回适配器”。

点击安装。

如果安装成功,可以在网络链接中看到多了一张网卡,描述符为“Microsoft KM-TEST环回适配器”。

如果安装不成功,可以自行百度。

二. Microsoft KM-TEST环回适配器的配置

在安装成功后,来对“Microsoft KM-TEST环回适配器”进行配置。

1.配置ip地址。

这里需要注意,只需要设置IP地址和子网掩码。其他不用设置。IP地址可以根据自己需要,自行设置。

2.将宿主机的网络共享给这张虚拟网卡。

这里需要注意的是,可以共享有线网路,也可以共享无线网络。根据实际情况设置,当然不能同时共享。

三.设置虚拟机中的linux的地址

这里可以设置一个固定的地址给虚拟机了。

1.首先在虚拟机的网络中,链接方式选择“桥接网卡”,然后选择我们刚刚创建的网卡“Microsoft KM-TEST环回适配器”。

2.在linux的网络设置中,手动设置IP。这里我用的是ubuntu。

IP地址自行设置,需要注意的是,netmast设置为 255.255.255.0,gateway必须设置为在宿主机上的虚拟网卡的IP地址。

3.重启虚拟机。

设置完成。

下面就是见证我们的操作是否生效的时刻。

在windows下,ping linux。

首先查看windos下的地址,然后ping linux。

宿主机winodws的IP地址是 10.0.1.126。

虚拟机ubuntu的IP地址是192.168.22.22。

成功ping通!

再验证下我们的samba是否能正常工作。

可以的,完全没问题。

扩展:

如果把有线网络换位无线网络,直接在宿主机的网络链接中,将wlan网络共享给配置的虚拟网卡就行了。

实验结果如下:

 

 

 

参考:https://baijiahao.baidu.com/s?id=1637034239523851712&wfr=spider&for=pc

### 回答1: 要让Linux虚拟机和主机ping,需要确保它们在同一网络中,并且已经正确配置了网络设置。可以过在虚拟机中设置网络连接方式为桥接模式,使其主机共享同一个网络,然后在虚拟机中设置IP地址和网关等网络参数,确保主机在同一网段。然后在主机和虚拟机中分别使用ping命令测试网络连接,如果能够互相ping,则表示网络连接已经成功建立。 ### 回答2: Linux虚拟机和主机ping的基本原理是过虚拟网络适配器来实现信的。虚拟网络适配器可以将虚拟机主机连接到同一个虚拟网络中,并且过主机的物理网络适配器来进行信。因此,在网络设置中,必须确保虚拟网络适配器主机的物理网络适配器连接到同一个网络上,才能实现ping。 具体步骤如下: 1. 在主机上启动虚拟机,并且在虚拟机中设置虚拟网络适配器,确保主机的网络适配器连接到同一个网络上。 2. 在主机上使用ipconfig命令或者在虚拟机中使用ifconfig命令来查看网络地址,确保主机和虚拟机的IP地址位于同一个网段内。 3. 在主机上使用ping命令来测试虚拟机的IP地址,如果能够成功ping,则说明虚拟机和主机已经成功连接到同一个网络中,并且可以进行信。 4. 如果ping的时候遇到问题,则需要检查网络设置是否正确,包括虚拟网络适配器的设置、主机的网络适配器设置等。 在实际操作中,需要格外注意虚拟机和主机的网络设置,以确保能够成功ping。对于网络设置不熟悉的用户来说,可以参考相关的网络设置教程或者向相关的技术支持人员寻求帮助。 ### 回答3: 当我们想让Linux虚拟机和主机ping时,我们需要进行以下步骤。 首先,我们需要确保虚拟机网络配置正确。我们可以在虚拟机的设置里检查网络适配器的设置,确保网络适配器已连接到正确的网络接口。我们还可以在虚拟机的操作系统中使用ifconfig命令来查看当前网络配置信息和IP地址。 其次,我们需要确保虚拟机和主机都处于同一网络中。我们可以过查看虚拟机和主机的IP地址和子网掩码来判断它们是否处于同一网络中。 接下来,我们需要确保虚拟机和主机都已开启ping功能。我们可以在虚拟机和主机的命令行中执行ping命令,如果显示"ping: command not found"或类似错误,则说明ping功能被禁用或未安装。我们可以使用命令sudo apt-get install inetutils-ping虚拟机和主机上安装ping工具。 最后,我们可以在虚拟机的命令行中执行ping命令,指定主机的IP地址作为ping的目标地址。如果ping成功,我们可以看到相应的响应信息,证明虚拟机和主机已经ping。 总之,要让Linux虚拟机和主机ping,我们首先要确保虚拟机网络配置正确,然后验证虚拟机和主机是否处于同一网络中,并确保ping功能已开启。最后,我们可以执行ping命令来测试虚拟机和主机之间的连性。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值