背景:
在工作中,我在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网络共享给配置的虚拟网卡就行了。
实验结果如下:
参考:/s?id=1637034239523851712&wfr=spider&for=pc
如果觉得《解决虚拟机与宿主机不在同一个网段中 不能相互ping通的问题》对你有帮助,请点赞、收藏,并留下你的观点哦!