[i=s] 本帖最后由 anj 于 2009-3-23 22:20 编辑 [/i]
我现在用的是网通的ADSL上网!因为,学习的需要,所以装了一个虚拟机!用的就是Virutalbox这个软件。我想要达到的效果是这样子的,真机要可以连上INTERNET,还要能连接上虚拟机!
我试过几种方面都不管用,因为方便,我真机用的Network manager开机自动连接网络,在/etc/sysconfig/network-scripts/下有这个ADSL网通连接的配置文件!我设置ifcfg-eth0为静态IP地址 一切都很正常,但是,如果 ifup eth0!发现连不上外网,但是可以和虚拟机连接,network manager没有提示连接断开 ,ifconfig 也显示着pppoe 在公网上的ip地址!然后也试了新建一个eth0:0连接。但是效果和eth0那个连接一样!不知道怎么解决!
anj 于 2009-03-26 07:32:00发表:
呵呵! THANK YOU!
不错不错!
eku123 于 2009-03-25 16:08:30发表:
这个问题的原理是,使用内网地址与虚拟机连接,实际上与虚拟机连接的地址是eth0的ip address,这里虚拟机的网络模式需要选择host inetrface,并且两台机器的内网地址在一个逻辑网段内。然后使用ppp0与Internet连接,ppp0是一个虚拟接口,它是通过pppoe-setup设置规则的,然后通过pppoe-start拨号并激活。最后,再通过iptables的nat功能,实现虚拟机与Internet的连接。
解决方法如下:
一、host(主机)设置
1、关闭NetworkManager服务,打开netwrok服务
chkconfig --level 2345 NetworkManager off
chkconfig --level 2345 network on
2、将eth0(或其他网络接口设为私网地址)
vim /etc/sysconfig/network-scripts/ifcfg-eth0
填入以下内容
# eth0
DEVICE=eth0
BOOTPROTO=static
TYPE=ether
HWADDR=xx:xx:xx:xx:xx:xx (设置为eth0的mac,这行原配置文件里有,不用改动)
IPADDR=192.168.0.1 (设置为原来eth0的ip)
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
ONBOOT=yes
3、配置adsl拨号网络(以root权限执行)
pppoe-setup
然后根据提示选择网卡、用户名、密码、防火墙规则等,关于pppoe-setup的设置可以在网上搜到,这里不再详述。
4、iptables的设置
(1)、打开系统的ip转发功能
vim /etc/sysctl.conf
将“net.ipv4.ip_forward = 0”的值改为1
(2)、清空所有规则,并保证所有链的默认策略为ACCEPT
iptables -F (清空filter表)
iptables -t nat -F (清空nat表)
iptables -t mangle -F (清空mangle表)
注:filter表中FORWARD链的默认策略经常为DROP,这会阻止ip转发
iptables -P FORWARD ACCEPT (设置filter表FORWARD链的默认策略为ACCEPT)
iptables -L -n (查看filter表中链的默认策略)
iptables -t nat -L -n (查看nat表中链的默认策略)
iptables -t mangle -L -n (查看mangle表中链的默认策略)
(3)、打开iptables服务,添加以下规则
service iptables start
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -j MASQUERADE
(4)、保存iptables设置,并设置iptables服务自启动
service iptables save
chkconfig --level 2345 iptables on
这时重启一下主机,让所有设置重启生效。
二、guest(虚拟机)设置
1、设置虚拟机桥接模式
打开virtualbox里虚拟机的网络设置,在adapter1中勾选启用网络连接,连接方式选择Host Interface并勾选接入网线,MAC地址改为000000000001(主要是比较好记,你自己设个也行)并勾选接入网线,在下面的Host Interface选项中点选eth0,确定。(汗,不会贴图)
2、虚拟机网络设置
运行虚拟机
1、关闭NetworkManager服务,打开netwrok服务
chkconfig --level 2345 NetworkManager off
chkconfig --level 2345 network on
vim /etc/sysconfig/network-scripts/ifcfg-eth0
填入以下内容
# br0
DEVICE=eth0
BOOTPROTO=static
TYPE=ether
HWADDR=00:00:00:00:00:01
IPADDR=192.168.0.2
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
GATEWAY=192.168.0.1
ONBOOT=yes
DNS1=x.x.x.x (查看主机的ppp0信息,填入dns)
DNS2=x.x.x.x
保存并重启虚拟机
在主机的终端里执行pppoe-start命令,拨号上网,然后在虚拟机上ping下主机192.168.0.1,再ping下外网www.163.com,正确设置的话应该都是通的。
anj 于 2009-03-25 14:53:59发表:
0:5ty(
没人知道怎么解决吗?
anj 于 2009-03-24 20:43:42发表:
我的真机装的是Fedora 10 ,Virtualbox里面装的是RedHat Enterprise 5!
装完系统后,已经安装过 Virtualbox 里面的驱动程序和增强工具了!
我想要的是 要VirtualBox 里的REDHAT和真机可以互相通信,并且,真机可以上网!
现在遇到的问题就是真机上网就不能和虚拟机通信,但是连接INTERNET就不能和虚拟机通信!
水龙月 于 2009-03-24 18:55:50发表:
你的Virtualbox中的操作系统也是Linux吗?通常安装好Virtualbox中的操作系统后还得再动手把虚拟系统中的网卡驱动重新安装一下。
我用它虚拟了个XP,装好后出现网卡驱动是叹号,就动手去选了个合适的驱动就解决问题了。
anj 于 2009-03-24 14:11:53发表:
我的不是这个意思!
我的意思是已经可以接连上虚拟机 但是 这样说吧 虚拟机和INTERNET 我现在只能连接一个!
chiver 于 2009-03-23 22:53:40发表:
要用NAT模式