开发板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模式。
所以使用桥接模式
一:物理设备及连接方式:
开发板:tiny6410(友善之臂);
笔记本一台(主机)(windows系统);
虚拟机;
连接方式:开发板与主机各用一条网线与路由器相连(网线也分直连网线和交叉网线,如果两台pc机相连,必须要用交叉网线,我们一般用的网线都是直连型的)。
注意!!桥接模式smb服务无法使用!在NAT模式下要将要用的文件都下载到Linux中!
二:开发板uboot环境变量设置:ipaddr、gatewayip、netmask 这三个变量要设置好,ipaddr跟主机的ip、虚拟机的ip要在一个网段;gatewayip通常设为路由器的网关;如果你要用tftp服务,那serverip要设成虚拟机的ip;
(这里我没有使用路由器,所以不设置gatewayip)
红框内是我们需要的主机ip,因为是桥接模式,不是用到Vmnet8(Vmnet8是NAT网络模式用的)


三:虚拟机网络设置:虚拟机->设置->网络适配器(指定为vmnet0桥接模式):

编辑->虚拟机网络编辑器(一定要自定义桥接到指定主机的网卡,如图桥接到本地连接):

这里不知道选哪个,就自动吧,原本应该是broadcom
netlink那个
插曲:这里要说一下,有人可能会遇到这块没有自动生成vmnet网卡的情况(如图),自己添加的话,又不能改为桥接模式(如图),提示:“没有未桥接的主机网络适配器”
如果你虚拟机有vmnet0,桥接过程顺利的话,那就自动跳过以下内容,往下面翻。


解决尝试:
1:查看主机本地连接属性中VMware
Bridge Protocol 有没有勾上

如果没有勾上,就点 安装->选 服务->添加->从磁盘安装->选择你的文件来源(一般在你vm的安装目录下有个netbridge文件)(这是虚拟机软件中的一个重要dll文件,用于建立虚拟网络桥接时的数据文件)。
尝试2:重装主机虚拟网卡
在 计算机->管理->设备管理器,底下有个网络适配器,里面全是你主机安装的各种网卡,把本地网络给卸载了

然后在菜单项上有个 操作->添加过时设备,选择手动安装硬件,找到网卡驱动,把它装上

ps:如果你还装有一些其他的虚拟网卡(比如迅游),要把它删了,这些虚拟网卡会对虚拟机选择网卡时造成影响。
再去重启虚拟机,对了,虚拟机如果不是完整版,只是绿色版的话,有可能也会没有vmnet0的情况,所以你要保证你的虚拟机版本没问题。
四:vmnet0 的问题终于解决了,现在去把ubuntu的ip设为跟主机、开发板在一个网段,怎么设置ip不用我说吧?[ifconfig eth0 192.168.1.4 netmask
255.255.255.0]

其实设置好桥接模式重启后,会自动分配一个IP给虚拟机,所以如果同一网段可以不做
五:主机网络设置:设置的跟开发板、虚拟机在同个网段就行了,与路由器的ip也要在一个网段(路由器的网关在机子的后面有写,自己去看);
然后,注意!注意连线,我不用路由器连开发板和主机之间网线都没连,怎么能ping通
六:测试:现在,OK,应该可以ping通了,先在主机上ping下虚拟机,应该可以ping通,如果没通,就去检查上面的步骤;
然后在开发板上ping主机和虚拟机,如果能ping通的话就是这样:

当然,我是这样的

192.168.0.106是因为没关Windows防火墙,关了可以ping通。不过很奇怪,为什么ping不通主机,但是可以ping通虚拟机?也就是可以不关Windows防火墙就能在虚拟机与开发板之间通信
在这里提醒一下,uboot相对于linux系统比较低级,它不支持被外界设备(主机或虚拟机)ping,但可以ping别人(主机或虚拟机),所以如果你用主机ping开发板,肯定是ping不通的,但这并不妨碍开发板跟主机和虚拟机通信,不要傻傻的认为没有ping通。
哦,在Linux上不要忘记设置tftp

service xinetd restart
/etc/init.d/xinetd start
同时关闭Linux防火墙

好了,如果ping通了的话,恭喜你问题解决了,接下来你可以用tftp下载内核到开发板上了【tftp 0xc0008000 uImage】【bootm 0xc0008000】.
参考:http://www.cnblogs.com/xiaopinggai/p/4767742.html
开发板ping通虚拟机与主机的更多相关文章
- 开发板Ping不通虚拟机和主机
Ubuntu 16.04 win7 笔记本连接学校的无线网 开发板S3c2440与笔记本仅通过COM连接 问题描述: 设置了桥接,主机与虚拟机IP在同一网段后,主机与虚拟机可以Ping,但是 ...
- ubuntu 开发板ping通虚拟机挂载nfs服务器
先.nfs服务配置1.设置开发板ip ,同一网段2.开发板上操作:ifconfig eth0 192.168.1.203.测试是否能够ping通:ping 192.168.1.194.测试开发板ip是 ...
- samrt210开发板ping-系列问题(开发板ping通主机,主机ping通虚拟机,唯独~开发板ping不通虚拟机)
硬件:PC机.虚拟机(Linux).开发板(smart210) 常用模型: 注:1).有线网卡与无线网不可同连一个路由器,不可在同网段: 2).vmware选择桥接模式,虚拟网络适配器选定具体的网卡名 ...
- 开发板ping不通主机和虚拟机的看过来(转载)!
前几天在做uboot下用tftp下载文件到开发板的实验时,为了能解决开发板ping不通主机和虚拟机的问题,可谓绞尽脑汁,正所谓久病成医,虽然为了这一小问题废了我那么长时间,但我在解决问题的同时也学到了 ...
- 开发板无法ping通虚拟机的问题解决一例
先描述一下遇到的问题: 使用的开发板是Tq2440,我将虚拟机和开发板都设在在了同一个网段,并且虚拟机使用的是桥接的方式,我用nfs的方式挂载根文件系统是失败,系统无法起来,后来我进入uboot命令模 ...
- 虚拟机ping不通主机,但是主机可以ping通虚拟机(转载)
我在Windows7系统安装了虚拟机,通过虚拟机安装了Ubuntu13.04,我设置的主机与虚拟机的连接方式是桥接,安装好后,发现虚拟机ping不通主机,但是主机可以ping通虚拟机. 我的操作是:关 ...
- 防火墙设置:虚拟机ping不通主机,但是主机可以ping通虚拟机(转载)
我在Windows7系统安装了虚拟机,通过虚拟机安装了Ubuntu13.04,我设置的主机与虚拟机的连接方式是桥接,安装好后,发现虚拟机ping不通主机,但是主机可以ping通虚拟机. 我的操作是:关 ...
- 主机ping通虚拟机,虚拟机ping通主机解决方法(NAT模式)
有时候需要用虚拟机和宿主机模拟做数据交互,ping不通是件很烦人的事,本文以net模式解决这一问题. 宿主机系统:window7 虚拟机系统:CentOs7 连接方式:NAT模式 主机ping通虚拟机 ...
- [原]openstack-kilo--issue(七):虚拟机怎么通外网,外网怎么ping通虚拟机
=====问题======= 虚拟机可以ping通外网,外网能ping通虚拟机但是收不到reply 这个问题本人遇到有两种情况: 1.安装完整openstack-kilo后,在route中和虚拟机中抓 ...
随机推荐
- Intent传递list集合时异常解决
以前只是用intent传递一些简单的值,最近传递list集合时发现值总是传不过去,logcat报如下错误 说的是不能处理值为null的情况,回过头看list集合时确实发现有value为null的key ...
- cvc-elt.1: 找不到元素 'beans' 的声明。springmvc netbeans maven
搭建最基本的框架,出现问题,提示cvc-elt.1: 找不到元素 'beans' 的声明. HTTP Status 500 - Servlet.init() for servlet spring th ...
- Socket与TcpClient的区别
原文:Socket与TcpClient的区别 Socket和TcpClient有什么区别 原文:http://wxwinter.spaces.live.com/blog/cns!C36588978AF ...
- vue+vant ui+高德地图的选址组件
首先在index.html引入高德地图的js <script src="https://webapi.amap.com/maps?v=1.4.14&key=你的key" ...
- linux升级或安装程序后无法进入图形界面
报错如下: Failed to start the X server (your graphical interface). lt is likely that it is not set up co ...
- 在虚拟机Ubuntu14.04中设置静态ip后无法上网的问题的解决
背景:用着实验室代理服务器上网. 原因:网关和DNS没有设置正确 网关和DNS参照 真机cmd在命令窗口使用ipconfig /all命令查看 虚拟机: sudo gedit /etc/netw ...
- vi中如何跳转到指定行数
输入:n,代表跳转到第n行,如:100,就跳转到第100行.
- django 验证码(django-simple-captcha)
django 验证码(django-simple-captcha) django-simple-captcha 官方文档(含基于modelForm的用法) https://django-simple ...
- C++之正则表示,字符串是否为全字母或者全数字
bool isLetter(std::string& inputtext){ tr1::regex reg("^[A-Za-z]+$"); bool bValid = tr ...
- WatchKit编程指南:概览--Watch应用的体系结构
Apple Watch应用程序包含两个部分:Watch应用和WatchKit应用扩展.Watch应用驻留在用户的Apple Watch中,只含有故事板和资源文件,要注意它并不包含任何代码.而Watch ...