免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1451 | 回复: 0
打印 上一主题 下一主题

Linux下VMware workstation使用技巧三则 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-14 22:48 |只看该作者 |倒序浏览

                                                                Linux下VMware workstation使用技巧三则
这是我在其他论坛发的几个帖子的集合,都是一些实用技巧,放在这里备忘。
一、实现VMWare桥接无线网卡上网,不再只限于用NAT
环境:宿主机为UBUNTU8.04_amd64,VMware workstation 6.0.x
在UBUNTU下(实际上是在LINUX作宿主机的情况下)使用VMWare一直有两个大家公认的问题:
一是声卡占用的问题;二是桥接无线网卡的问题。关于解决方案网上讨论得比较多,不过按网上的方法我一直没能解决,困扰我很久了(所以一直以来我都是用
NAT方式与宿主机共享无线网络上网,但有些应用就有问题)。关于桥接无线网卡的问题今天终于被我搞清楚并解决了,写在这里以免让更多的后来者再浪费时
间。
问题描述:在LINUX下使用VMWare,如果主机是使用无线网卡的话,客户机网卡若使用桥接则无法连通。按照VMWare论坛的讨论结果
是,若主机为windows则无问题,因为驱动支持无线网卡作为AP模式工作,在LINUX下99%不行。经过实践我发现其实是可以解决的,需要两步:
1、修改其中的一个文件,然后重新编译。相关的补丁文件附后。
2、客户机的网卡配置不选桥接,而是根据VMWare运行config时提示是把无线网卡桥接在哪个设备上,相应地选custom(注意:不是选
Bridged桥接模式,否则不可能连接。这是过去我和其他人都共同犯的错误。),再从下拉列表中选相应设备,如在我的机器上是vmnet2 is
bridged to wlan0,因此选vmnet2。
附:我修改后打包的文件:

       
        文件:vmnet.tar
        大小:520KB
        下载:
下载
       
也可直接看其中修改的情况:
diff -Naur vmnet-only/bridge.c vmnet-only-new/bridge.c
--- vmnet-only/bridge.c        2007-08-22 03:14:05.000000000 +0200
+++ vmnet-only-new/bridge.c        2007-09-30 14:34:13.000000000 +0200
@@ -32,7 +32,7 @@
#include
#include

-#ifdef CONFIG_NET_RADIO
+#if defined CONFIG_NET_RADIO || defined CONFIG_WLAN_80211
#   include
#endif
#include "vmnetInt.h"
@@ -764,7 +764,7 @@
static Bool
VNetBridgeIsDeviceWireless(struct net_device *dev) //IN: sock
{
-#if !defined(CONFIG_NET_RADIO)
+#if !defined CONFIG_NET_RADIO  && !defined CONFIG_WLAN_80211
    return FALSE;
#elif WIRELESS_EXT > 19
    return dev->wireless_handlers != NULL;
修改/usr/lib/vmware/modules/source/vmnet.tar包中的
bridge.c文件中的两行,再打包,再运行/usr/bim/vmware-config.pl重新编译。编译过程中也可以看到要求配置网络,在此你
就可以用向导,看到关于配置桥接的地方会说明桥接到哪了,可以桥接多块网卡的(一般都有有线和无线,会优先桥接有线的,所以你要回答要桥接另一块网卡,下
面会桥接到无线网卡),编译过程中相关的反馈信息类似于下:
The following bridged networks have been defined:
. vmnet0 is bridged to eth0
. vmnet2 is bridged to wlan0
所以在我的机器上就是vmnet0桥接到有线网卡了,vmnet2桥接到无线网卡了。
编译完后,以后查看网络桥接配置信息方法及在我的机器上的显示:
$ps aux |grep vmnet
root 12692 0.0 0.0 3844 208 ? Ss 22:36 0:00 /usr/bin/vmnet-bridge -d
/var/run/vmnet-bridge-0.pid /dev/vmnet0 eth0
root 12712 0.0 0.0 3844 204 ? Ss 22:36 0:00 /usr/bin/vmnet-bridge
-d /var/run/vmnet-bridge-2.pid /dev/vmnet2 wlan0
也可以看vmnet0桥接到eth0,而vmnet2桥接到wlan0

二、宿主机为LINUX,客户机也为LINUX情况下,如何在客户机中切换虚拟终端?
宿主机和客户机均为LINUX的情况,如果你想在客户机中切换虚拟终端,该怎么办呢?如果还是用Ctrl+Alt+F1-F7则会发现只能切换宿主机,如果要在客户机中切换要用Ctrl+Alt+空格,松开空格后再按F1-F7(注意:Ctrl+Alt不能松),这就可以在客户机中切换到相应虚拟终端了。
三、如何增加虚拟网卡?
在LINUX作宿主机时,不象WINDOWS作宿主机会自动把所有的虚拟网卡建好,而是一般只建作2-3块虚拟网卡,如vmnet0、vmnet1、vmnet8,如果有两块桥接的还会有vmnet2。如果要构建实验网络往往不够,还需要其他虚拟网卡怎么办?
方法是:(以添加vmnet5为例)
修改/etc/vmware/locations文件,在文件开头:
answer NETWORKING yes
answer VNET_0_INTERFACE eth0
answer VNET_8_NAT yes
answer VNET_8_HOSTONLY_HOSTADDR 192.168.63.1
answer VNET_8_HOSTONLY_NETMASK 255.255.255.0
answer VNET_1_HOSTONLY_HOSTADDR 192.168.95.1
answer VNET_1_HOSTONLY_NETMASK 255.255.255.0
添加其他的vmnet。如果需要nat服务,就定义成 answer VMNET_5_nat yes,如果不需要nat,则直接添加:
answer VNET_5_HOSTONLY_HOSTADDR 192.168.64.1
answer VNET_5_HOSTONLY_NETMASK 255.255.255.0
/etc/init.d/vmware restart
后,就能发现/dev/vmnet5已经存在了,并且
ifconfig后
也能发现新的vmnet5接口了。
               
               
               
               
               
               
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/71491/showart_1001530.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP