flyfdream 于 2009-03-30 22:54:00发表:
哦,可以了,只要设置静态ip就可以了,谢谢了哦~!
hgy6688 于 2009-03-30 16:37:02发表:
vmware for linux的不好么,以前用vbox?在改用VM了
eku123 于 2009-03-30 08:27:41发表:
关于这个问题在之前的帖上已经给出过答案了,如果只是想要虚拟机上网的话,按楼上说的使用nat连接模式就可以,如果还需要两台机器联网,按以下方法。 这个问题的原理是,使用内网地址与虚拟机连接,实际上与虚拟机连接的地址是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,正确设置的话应该都是通的。
flyfdream 于 2009-03-29 11:58:46发表:
版主介绍的我看了,我是选择了NAT了,但是不行,以前我在用路由器的时候直接进入虚拟机中的fedora 8 就可以上网了,看来还是要设置静态的IP地址。
marco.chan 于 2009-03-29 00:22:27发表:
默认的NAT是最简单的方式! http://www.im321.com/blog/default.asp?id=196&keyword=%E8%99%9A%E6%8B%9F%E6%9C%BA
flyfdream 于 2009-03-28 21:04:33发表:
一定要是这样才可以的吗?没有什么其他的办法吗?
flyfdream 于 2009-03-28 21:04:31发表:
Goando 于 2009-03-28 09:26:32发表:
虚机最好在实机与虚机上都设有静态的IP
flyfdream 于 2009-03-30 22:54:00发表:
哦,可以了,只要设置静态ip就可以了,谢谢了哦~!
hgy6688 于 2009-03-30 16:37:02发表:
vmware for linux的不好么,以前用vbox?在改用VM了
eku123 于 2009-03-30 08:27:41发表:
关于这个问题在之前的帖上已经给出过答案了,如果只是想要虚拟机上网的话,按楼上说的使用nat连接模式就可以,如果还需要两台机器联网,按以下方法。
这个问题的原理是,使用内网地址与虚拟机连接,实际上与虚拟机连接的地址是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,正确设置的话应该都是通的。
flyfdream 于 2009-03-29 11:58:46发表:
版主介绍的我看了,我是选择了NAT了,但是不行,以前我在用路由器的时候直接进入虚拟机中的fedora 8
就可以上网了,看来还是要设置静态的IP地址。
marco.chan 于 2009-03-29 00:22:27发表:
默认的NAT是最简单的方式!
http://www.im321.com/blog/default.asp?id=196&keyword=%E8%99%9A%E6%8B%9F%E6%9C%BA
flyfdream 于 2009-03-28 21:04:33发表:
一定要是这样才可以的吗?没有什么其他的办法吗?
flyfdream 于 2009-03-28 21:04:31发表:
一定要是这样才可以的吗?没有什么其他的办法吗?
Goando 于 2009-03-28 09:26:32发表:
虚机最好在实机与虚机上都设有静态的IP