在不连接网线的情况下Windos与VM之间如何ping通
一般情况下,如果宿主主机的网口连接网线并且能够上网,那么按照VM的默认安装,在VM-Settings-Hardware-Network Adapter-Network connection中选择Bridged连接方式,同时注意关闭window下的防火墙,那么windows和VM直接很容易就ping通了,但当宿主主机的网口没有连接网络时,两者之间相互ping通就没有那么轻松了。笔者在一个项目中就正好遇到了这样的问题:
- 宿主主机网口不能连接网线
- 宿主主机上的windows系统和VM上的Ubuntu系统必须绑定IPv6地址
下面来分析下问题,同时,提出解决问题的方法。
VM的网络连接方式有Bridged、NAT、Host-only以及Custom,下面来具体看下前三个连接方式(最后这个笔者也还没搞明白)。
- Bridged(网桥):网桥把虚拟机器连接到你的宿主机所在的局域网LAN上。这是让虚拟机访问宿主机所在网络的最容易的一种方式。这种情况下虚拟机需要自己独立的标识,比如TCP/IP网络中就需要自己的IP地址,这个IP地址从网络管理员处获得,还有其它的一些网络细节都需要手工设置。网桥方式下虚拟机跟宿主机一样是本地网络中的一个独立体,如同一个物理的机器一样。如果在vmware中同时运行多个虚拟机,那么每个虚拟机都应该有一个独立的IP地址。
- NAT(网络地址转换NAT设备):如果宿主机所在网络不能给该虚拟机一个IP地址,那么NAT就是最容易的一种让虚拟机访问宿主机网络的方式。由于虚拟机没有外部物理网络的IP地址,因此vmware在宿主机上建立一个独立的私有网络,通过虚拟的DHCP服务器获得ip地址。NAT能够把多个虚拟机的网络数据加以区分并在虚拟机与外部物理网络之间进行传送。NAT方式下许多标准的TCP/IP协议都可以在虚拟机上使用,比如 HTTP/FTP/TELET等。但是默认情况下外部网络上的计算机不能连接到虚拟机上,因此虚拟机不能提供诸如WEB浏览这样的服务。
- Host-only(宿主机虚拟网络适配器):该模式允许虚拟机与宿主机通信,但是这个虚拟适配器不会连接到任何外部的网络,只有在宿主机上建立起特殊的软件诸如代理服务器才能把虚拟适配器和物理适配器连接起来。实际上虚拟机只和宿主机进行网络连接。
除此之外,还要说明,在vmware软件安装时根据需要会自动安装交换机组件。跟真实的交换机一样,它允许把多个网络组件连接起来,最多允许挂接9个交换机,名称分别为VMnet0-8。其中有3个已经默认分配给网桥(VMnet0),宿主机虚拟网络适配器(VMnet1)和网络地址转换NAT设备(VMnet8)。
VMnet0、VMnet1、VMnet8在windows下是可以看到的,但当宿主主机拔出网线时,VMnet0就会自动消失,变得无效。这也就是为什么当宿主主机不连接网线时,选择Bridged模式,windows与VM之间无法ping通。
到这里解决的办法也就很清楚了:
- 选择NAT模式,VM对windows选择ping操作时选择VMnet8的IP地址。
- 选择Host-only模式,VM对windows选择ping操作时选择VMnet1的IP地址。
最后提示一点:在VM端的Ubuntu绑定IP时,最好IPv4和IPv6的地址全要绑定,即便只需要IPv6,因为只绑定IPv6的IP地址,最后网络连接时,指定的网卡可能绑定不上。
参考资料:
http://blog.chinaunix.net/uid-23601235-id-2395290.html
在不连接网线的情况下Windos与VM之间如何ping通的更多相关文章
- 一次http请求,谁会先断开TCP连接?什么情况下客户端先断,什么情况下服务端先断?
我们有2台内部http服务(nginx): 201:这台服务器部署的服务是account.api.91160.com,这个服务是供前端页面调用: 202:这台服务器部署的服务是hdbs.api.911 ...
- mac 环境下使用virtual box 虚拟机(win7)与主机之间互相ping通
首先选择virtual box设置网络连接方式为网桥 混杂模式设置为全部允许 如下图: 进入虚拟机把虚拟机IP设置和主机在一个网段.如主机是192.168.1.100虚拟机可以设置为192.168.1 ...
- 虚拟机利用Host-only实现在不插网线的情况下,虚拟机与主机实现双向通信,实现ssh连接以及samba服务实现共享
为了不影响其他的虚拟网卡,我们在VMware下在添加一块虚拟网卡: 然后点击Next,选择连接方式: 点击Finish即可. 重新启动虚拟机,如果这是你手动添加的第一块虚拟网卡,那么应该是eth1. ...
- 高并发情况下Linux系统及kernel参数优化
众所周知在默认参数情况下Linux对高并发支持并不好,主要受限于单进程最大打开文件数限制.内核TCP参数方面和IO事件分配机制等.下面就从几方面来调整使Linux系统能够支持高并发环境. Iptabl ...
- 什么情况下需要检测预装Win8/8.1电脑内置激活密钥(即Win8/8.1 OEM key)?
1.针对预装在品牌机中的Win8操作系统,因使用了某些软件或自己操作不当导致系统激活Key被替换而激活失效时,你需要找到内置在电脑中的OEM key,重新输入OEM key来激活系统. 2.针对预装W ...
- CentOS 6.5本地yum源、局域网离线yum仓库(断网情况下轻松安装各种依赖包)
在工作中, 公司的服务器大部分都禁止连接外网的,初始化系统,测试某些产品时,往往缺一些软件或依赖包,一个个上传到机器,如此浪费时间,浪费金钱,en...yum能够自动查找并解决rpm包之间的依赖关系, ...
- 如何在关闭ssh连接的情况下,让进程继续运行?
#screen 1 回车后进入Screen子界面,此时putty标题栏会指示处于子界面状态,然后运行你的程序 #应用程序名 1 然后按下Ctrl+A后抬起,然后按下d键,此时切换回主界面,Putty的 ...
- 关于JDBC技术中,调用MySQL中不建议在没有服务器身份验证的情况下建立SSL连接错误解决
今天学习到了JBDC前沿:对JDBC编写步骤的封装,出现了一大串红色报错(当然,也不能叫报错,毕竟不是所有的红色都是错误eeror,) 错误如下: Establishing SSL connectio ...
- Context连接和断开的情况下的CRUD操作
连续情况下的CRUD操作是一项相当容易的任务,因为默认情况下,上下文会自动跟踪实体在其生命周期中发生的更改,AutoDetectChangesEnabled为true. 以下示例显示如何添加,更新和删 ...
随机推荐
- C/C++存储区划分
一. 在c中分为这几个存储区1.栈 - 由编译器自动分配释放2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化 ...
- POJ 3784.Running Median
2015-07-16 问题简述: 动态求取中位数的问题,输入一串数字,每输入第奇数个数时求取这些数的中位数. 原题链接:http://poj.org/problem?id=3784 解题思路: 求取中 ...
- 网络编程——TCP连接
TCP在双方传输数据前,发送方先请求建立连接,接收方同意建立连接后才能传输数据.(打电话:先拨号,等对方同意接听后,才能交流)...高可靠性 UDP不需要建立连接(发短信).不可靠,可能出现数据丢失等 ...
- javascript模块化编程(转载)
Javascript 模块化编程 作者: 阮一峰 发布时间: 2013-01-08 18:04 阅读: 7632 次 推荐: 40 原文链接 [收藏] 随着网站逐渐变成"互 ...
- C语言(2)--数据类型
C语言中提供多种不同的数据类型,用以存放不同的数据. 1.常见的基本类型有:int-->整型 float-->浮点型 double-->双精度浮点型 char-->字符型 NO ...
- MyEclipse 8.5整合Git,并在Github上发布项目(转)
下载Eclipse的git插件——EGit.下载网址http://download.eclipse.org/egit/updates-1.3/org.eclipse.egit-updatesite-1 ...
- 射频识别技术漫谈(23)——ISO15693的载波、调制与编码
射频识别技术中的通讯大多是主从式,主动方一般是读写器,被动方称为“卡片”或“标签”.到底是叫“卡片”还是“标签”,好像也没有严格的区分.习惯上可以从以下4个方面界定:一是形状,卡片通常体积较大,更像“ ...
- Android Studio ADB响应失败解决方法
当启动Android Studio时,如果弹出 adb not responding. you can wait more,or kill "adb.exe" process ma ...
- elk 分布式数据同步
zjtest7-redis:/elk/elasticsearch/data/es_cluster/nodes/0/indices/library# strings ./1/index/_3.cfs | ...
- DOC下编译和运行带有包的java类文件
前言: 带有包名的java类在DOC下编译可以成功,但是运行出错 错误: 找不到或无法加载主类 com.soanl.socket.MyServer D盘temp文件下有个Hello.java文件,包 ...