(转)VMware虚拟机无法nat上网

需要开启虚拟机网络相关服务, 安装虚拟网卡, 还有必须安装 VMware Tools


VMware虚拟机下实现NAT方式上网
1. 把你的虚拟网卡VMnet8设置为自动获得IP、自动获得DNS服务器,启用。
2. 把你虚拟机中操作系统的“本地连接”也设置为自动获得IP、自动获得DNS服

务器(在虚拟机中,右键“本地连接”-双击“Internet 协议”,看看是不是自动的吧!固定IP的也在这里改!)
3.当然是将虚拟机的上网方式选为NAT咯。
右键你要设置的虚拟机选“设置”(因为有的不止虚拟一台),在“硬件”中选“以太网”, 将右边的网络连接改为NAT-确定。
4.点菜单栏里的“编辑”-选“虚拟网络设置”,先将“自动桥接”给去掉(去掉钩钩),再选“DHCP”开启DHCP服务,点“开始”-应用,再按同样的方法开启“NAT”的功能。
5.最重要的是你的两个服务必须开启:VMware DHCP Service 和VMware NAT Service。
具体操作如下: 开始---设置--控制面板---管理工具---服务,确保 VMware DHCP Service 和VMware NAT Service 服务已经启动。
P.S.其实我Host上网的方式还挺复杂,小区宽带,自个连接到路由器上用homeshare代理上网。看来NAT方式确实挺好用,只要主机Host能够上网了,小小设置一下,VMware便能上网了 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 也要根据实际情况修改 由于NAT上网方式必须要虚拟机跟主机同一个网段,你可以看下虚拟机的IP地址是否同一个网段.如果各项测试后没问题还是不能上网的话,禁用虚拟机网卡,再启用,就会重新获取新的IP地址.

posted @ 2013-04-22 16:08  Dre.trace  阅读(315)  评论(0编辑  收藏  举报