如何使虚拟机与主机互相能ping通

Posted

tags:

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

  刚刚因为虚拟机与主机没法互相ping通的事情,奋战到将近凌晨一点。现在把这个过程总结一下,以方便后加入该行业的广大IT精英。
  VMWare提供了三种工作模式:bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。
1. bridged(桥接模式)
  在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立主机,它可以访问网内任何一台机器。在桥接模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网。使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信。
  如果你想利用VMWare在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式。
2. NAT(网络地址转换模式)
  使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。
  如果你想利用VMWare安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,建议你采用NAT模式。
3. host-only(主机模式)
  在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。在host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。
  提示:在host-only模式下,虚拟系统和宿主机器系统是可以相互通信的,相当于这两台机器通过双绞线互连。
  在host-only模式下,虚拟系统的TCP/IP配置信息(如IP地址、网关地址、DNS服务器等),都是由VMnet1(host-only)虚拟网络的DHCP服务器来动态分配的。
  如果你想利用VMWare创建一个与网内其他机器相隔离的虚拟系统,进行某些特殊的网络调试工作,可以选择host-only模式。
  之前,我使用的是NAT模式,安装Ubuntu操作系统时默认选中的此选项。当时没有考虑太多,没有详细研究这三种模式的区别。就是因为这次草率导致我搞了个通宵,在此鄙视一下自己,也警示一下读者,不要随便处理事情,这样只会给自己添加不必要的麻烦。当时,我在单机环境中调试bridged模式,苦恼了很久。在此环境中,无论如何都没办法让虚拟机上网。后来在查找资料时,也看到需要用路由器,凭着自己的感觉我否定了这个因素,我有这个随便臆断事情毛病。当使用bridged模式时,当设备接入局域网时,会被随机分配一个IP,这个可以通过ifconfig命令来查看,此时该设备已经接入局域网,可以和局域网中的其它电脑IP互相ping一下来检查连接性。
参考技术A 首先确定,物理机是什么网络环境!
再根据具体的网络环境去设置虚拟机网络适配器的工作模式!
以VMware workstation为例,其虚拟网络设备有3种:

vmnet0(桥接模式),无实体虚拟网卡,其实就是一个协议而已,会在对应网卡上加入VMware bridge protocol桥接协议,其作用相对于使用一个虚拟交换机连接虚拟机和物理机网卡。

vmnet1(仅主机模式,hostonly),生成vmnet1虚拟网卡,并定义一个ip地址,虚拟机设置为仅主机模式,需要手动设置和vmnet1相同的子网网段,作用相同与vmnet0但由于vmnet1不接入其他网络,所以数据只在虚拟机和物理机间交换。

vmnet8(NAT模式,网络地址转换),生成vmnet8虚拟机网卡,并通过VMware NAT service提供网关和地址转换服务,VMware DHCP service提供虚拟机ip地址自动分配服务,通过vmnet8与虚拟机通讯。

桥接模式下,虚拟机和主机位同一局域网,确保两边没开防火墙或正确设置防火墙即可ping通
仅主机模式下,虚拟机和主机的vmnet1通讯,虚拟机ping vmnet1通即可
NAT模式,主机ping虚拟机ip地址通即可,虚拟机ping主机网关.2,vmnet.1通即可本回答被提问者和网友采纳
参考技术B 那是最基本的 没有什么具体的设置 要我怎么给你说
网卡只要选择nat模式 vm网卡设置和物理机在一个网段
不会ping不通的
关闭虚拟机防火墙试试

补充:装了虚拟机后会出现另外两个vm1和vm8这个是另外两种网卡模式的时候才用的到的
如果你没有这两个连接,请检查你的vm是否安装完全.
参考技术C 只要将虚拟机的IP地址设置成与默认ip同一网段的就可以。
如果有路由器,而且打开了dhcp,直接就能ping通。

两个VPC虚拟机ping ping真机可以ping通 但是互相ping不通

我设置的网卡是NAT共享模式 高手指导下 急!!! QQ408394521

参考技术A 没清楚你的需求:
1、如果使用vmware虚拟机除了自定义网卡需要设置才能实现宿主主机与虚拟机、虚拟机与虚拟机,三个之间能ping通,前提要关闭防火墙或者防火墙放通icmp协议才可以。
2、如果使用virtualBox,相对VMware比较麻烦,nat网络地址转换是可以上网但是与宿主主机无法通信,nat网络还得手动单独设置,但也无法与宿主主机通信,host-only是可以与宿主主机通信,但是无法上网;内部网络只能虚拟机之间 通信了,还是相对麻烦,而且这个软件bug多不稳定。
所以建议不玩ensp或者hcl模拟器这类的, 还是建议用VMware虚拟机,不要把时间浪费在没啥价值的事务上。
参考技术B 关闭两个虚拟机的防火墙,此步骤是亮点。

参考资料:http://www.computerite.net

参考技术C 用桥接

以上是关于如何使虚拟机与主机互相能ping通的主要内容,如果未能解决你的问题,请参考以下文章

如何让虚拟机与物理机互相ping通

虚拟机之间互联通信

虚拟机与宿主机可以互相ping通,但是外网不能

虚拟机与主机如何ping通

两个VPC虚拟机ping ping真机可以ping通 但是互相ping不通

vmware中虚拟机与主机能ping通 为啥虚拟机不能上网