急!!进来坐坐 帮个忙 不知道答案也行 说句话! 在线等答案!1

各位大叔大婶 大哥大姐 帮个忙被

我的虚拟机弄好了

在关键的时候出现了一个问题

让虚拟机上网的时候,虚拟机就不能与主机建立局域网

让主机与虚拟机建立局域网关系的话 那虚拟机就上不了网了

小弟想 有什么办法能让小弟的虚拟机与 主机建立局域网 而且 虚拟机也能上网!

有哪位大叔大婶 大哥大姐 帮帮小弟
很急啊 到底怎整啊

在线等答案 现在小弟手里没有多少分
哪位要是解决了小弟的问题我可以把分数全给你

谢谢了

全部都给你

说话算数的!!!(方法要好用哦)!!
关于你说的代理怎么弄啊 小弟是个菜鸟!

不懂

强烈bs复制来的- -#

老愁了

在帮帮我
关于2搂的 也不行啊

VMware三种网络连接,qemu两种网络连接实现 虚拟机<--->主机 虚拟机<--->互联网通信的方法。
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

这样就实现了虚拟机<--->主机 通信,但是 虚拟机<--->互联网 仍无法通信

虚拟机与互联网通信:

1.开启主机路由功能

2.设定iptables,使主机成为一台nat server

1. echo 1 >/proc/sys/net/ipv4/ip_forward 这样就主机就具有了路由功能

2. iptables -t nat -A POSTROUTING -o eth0 -s 172.16.245.0/24 -j MASQUERADE 主机之家

这条规则意思是将来自172.16.245.0/24封包的来源ip伪装成eth0的ip,实现虚拟机与互联网通信

如果网络接口是ppp+或pppoe则需要修改成-o pppoe

当然-s 172.16.245.0/24 也要根据实际情况修改

主机之家

Qemu两种上网方式:

user mode network :

这种方式实现虚拟机上网很简单,类似VMware里的nat,qemu启动时加入-user-net参数,虚拟机里使用dhcp方式,即可与互联网通信,但是这种方式虚拟机与主机的通信不方便。

tap/tun network :

这种方式要比user mode复杂一些,但是设置好后 虚拟机<-->互联网 虚拟机<-->主机 通信都很容易

这种方式设置上类似VMware的host-only,qemu使用tun/tap设备在主机上增加一块虚拟网络设备(tun0),然后就可以象真实网卡一样配置它.

首先内核中支持tap/tuns设备:

Device Drivers --->
Networking support --->
[M] Universal TUN/TAP device driver support

如果当前内核没有支持,可以重新只编译相应模块加入,方法很简单:

将当前内核配置文件cp到内核源码目录下:

[root@LFS ~]#cp /boot/config-[kernel-version] /usr/src/linux
[root@LFS ~]#cd /usr/src/linux

配置内核,将TUN/TAP选择模块(M),如上所示: www.host0y.com

[root@LFS ~]#make menuconfig

重新只编译模块(M),不编译核心(*)支持的东东:

[root@LFS ~]#make modules

编译好后在/usr/src/linux/drivers/net下可以找到tun.ko:

[root@LFS net]#ls -l /usr/src/linux/drivers/net/tun.ko
-rw-r--r-- 1 root root 11116 Mar 23 20:29 /usr/src/linux/drivers/net/tun.ko
[root@LFS net]#

将它cp到当前内核的模块目录的相应位置:

[root@LFS net]#cp /usr/src/linux/drivers/net/tun.ko /lib/modules/`uname -r`/kernel/drivers/net

重新建立模块依赖关系:

[root@LFS net]#depmod

现在就可以加载它了 :

[root@LFS net]#modprobe tun

检查一下:

[root@LFS net]#lsmod |grep tun
tun 8704 0
[root@LFS net]#

OK. 成功不重新编译整个内核加入特殊模块支持

如果你的xx卡不被内核支持,又可以编译成模块,自己怕重新编译内核后出问题就可以用这个办法只编译自己需要的模块,然后手动安装到相应位置,再加载它。

www.H0STOY.com

这样编译速度要也比编译整个内核快,不会对系统有任何损害,就可以使用上XX卡喽。^_^

要注意三点:

1.内核源码必须与当前内核版本完全一致,否则编译出的模块是不能用的。

2.注意只make modules(编译模块),没有make modules_install(自动安装模块到/lib/modules下)

3.加载新编译的模块前必须先运行depmod,否则modprobe找不到它

其实使用当前内核配置文件(/boot/config-[kernel-version]),只加入自己需要的模块,不做任何其他改,make modules_install应该也不会有问题的。

不过最稳妥的办法还是手动安装它,控制权在自己手里更踏实嘛 :-)

OK,转回qemu上网问题

如果使用udev管理设备(通常2.6.x内核的发行版都已经使用udev),当modprobe tun后就会自动建立/dev/net目录,并创建出tun设备,做好相关链接:

[root@LFS net]#ls -l /dev/net/tun
lrwxrwxrwx 1 root root 6 Mar 25 15:35 /dev/net/tun -> ../tun
[root@LFS net]#

如果很不幸,你没看到它,就需要自己手动做这些工作了

[root@LFS ~]#mkdir /dev/net
H0stoy.com

[root@LFS ~]#mknod /dev/net/tun c 10 200

OK,相关设备已经准备好了,还需要一个tun/tap的初始化脚本 :

/etc/qemu-ifup :
#!/bin/sh
/sbin/ifconfig $1 172.20.0.1

再给予qemu-ifup x执行权限放在/etc下就可以了。

这个脚本只能root用户执行,如果需要普通用户使用qemu,就需要改成sudo /sbin/ifconfig .....再设置sudo相关权限。

启动qemu后,它会在主机上增加一块虚拟网络设备(tun0):

[root@LFS ~]#ifconfig tun0
tun0 Link encap:Ethernet HWaddr 0A3:8A:5D:97:CD
inet addr:172.20.0.1 Bcast:172.20.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 :0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
[root@LFS ~]#

现在就可以启动qemu配置虚拟机网络参数了,和VMware host-only一样:

ip与tun0相同网段,gateway为tun0 ip 其余参数与tun0相同,dns与主机相同: www.hostoy.com

tun0 : ip :172.20.0.1 broadcast:172.20.255.255 netmask :255.255.0.0
qemu : ip :172.20.0.100 broadcast:172.20.255.255 netmask :255.255.0.0 gateway:172.20.0.1

与host-only一样,这样只实现了虚拟机<---->主机间通信,还需要设置router,nat才可以连上互联网

[root@LFS ~]#e cho 1 > /proc/sys/net/ipv4/ip_forward
[root@LFS ~]#iptables -t nat -A POSTROUTING -o eth0 -s 172.20.0.0/24 -j MASQUERADE
[root@LFS ~]#
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-09-01
给虚拟机和主机各自分配一个IP地址后 看行吗?本回答被提问者采纳
第2个回答  2008-09-01
代理
相似回答