首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

虚拟机里头写了一个UDP广播程序,但主机无法收到vmware虚拟机的广播消息

2013-01-04 
虚拟机里面写了一个UDP广播程序,但主机无法收到vmware虚拟机的广播消息。我的主机是win7,通过WIFI上网,用的

虚拟机里面写了一个UDP广播程序,但主机无法收到vmware虚拟机的广播消息。
我的主机是win7,通过WIFI上网,用的是vmware8,在虚拟机linux系统里写了一个简单的UDP广播程序,但主机收不到该广播消息,而虚拟机里面其他客户机系统都能收到广播消息,局域网里其他同学的电脑也能收到。
若我换成有线上网,则主机能收到广播消息。
不知道原因是什么?
[解决办法]
虚拟机的网段和主机windows的网络在一个网段里吗?
[解决办法]
虚拟机NAT上网,LINUX与WINDOWS没有组成局域网,相当于WINDOWS下VM作为NAT服务器,将LINUX虚拟网卡发到WINDOWS虚拟网卡的包修改为从WINDOWS物理网卡发出。

你同学收到的其实都是被NAT后源IP为你WINDOWS物理网卡IP的UDP广播。
[解决办法]
我也遇到类似的情况,但稍有些不同。我的主机是win7,虚拟机vm8,虚拟机里面装的是xp,虚拟机里面发出的广播包主机收不到-----不管是有线还是无线。但是虚拟机发出的广播包能被局域网内其他同学的机器收到。不用虚拟机全部用真实机的话程序工作正常。而且主机上的抓包工具可以抓到虚拟机发出的广播包
[解决办法]
我的问题解决了,原来我把vmnet1 禁止了。启用vmnet1即可。上网找的原理:
VMware三种网络连接上网设置: 

1.bridge : 

默认使用vmnet0 

将虚拟机的ip设置与主机同网段未使用ip,其余与主机相同: 

例如主机ip是10.70.54.31,设置虚拟机ip为10.70.54.22。netmask,broadcast,gateway,dns都与主机相同即可实现虚拟机<--->主机 虚拟机<---->互联网 通信。 

2.nat : 

默认使用vmnet8 

将虚拟机设置成使用dhcp方式上网,windows下选择"自动获取ip",linux下开启dhcp服务即可 主机之家 

也可以手动设置: 

ip设置与vmnet8同网段,gateway设置成vmnet8的gateway(/etc/VMware/vmnet8/nat/nat.conf)中可以查到vmnet8的gateway,通常是xxx.xxx.xxx.2。 

netmask,broadcast设置与vmnet8相同,dns设置与主机相同。 

例如 vmnet8 ip:172.16.249.1 gw :172.16.249.2 

虚拟机设置: ip :172.16.249.100 gw: 172.16.249.2 

3.host-only : 

默认使用vmnet1 

将虚拟机ip设置与vmnet1同网段,gateway设置成vmnet1的ip,其余设置与vmnet1相同,dns设置与主机相同 

例如 vmnet1 ip :172.16.245.1 

虚拟机设置: ip :172.16.245.100 gateway :172.16.245.1 

热点排行