ubuntu校园网虚拟机下上网终极解决办法(图解)
http://wenku.baidu.com/link?url=jJMGLHbQMTzPm1z0NuMe4L8_udX4mbIM1e6jzoc0AJ4Dg_fUUzqdJ0wbzEQzq93kpsQsVjWTh1BjDuzEoPfnjMkY-oBrhVBLqeLMfOWANji
我的pc有一个IP地址是可以访问网络的,那么怎样让VM能够共享我的IP地址,也能上网呢。今天在摸索中实现了,具体的配置如下:
1,首先将VM的网卡net8启用:
3,将PC的可以上网的网卡共享:
要勾上允许其他网络用户通过此计算机的intenet连接来连接,并选择VMnet8。
4,设置VMnet8网卡的默认网关为本地PC可以上网的网卡的IP地址:
我可以上网的网卡的IP地址为172.18.216.77,VMnet8的地址为192.168.0.1
5,设置VM中网卡的地址为192.168.0.*网段,默认网关为192.168.0.1,并配置好DNS。
这样就算设置完成了,在VM中访问网络时,先根据默认网关192.168.0.1,找到了VMnet8网卡,然后根据VMnet8网卡的默认网关172.18.216.77找到了可以上网的网卡,而该网卡已经共享上网,因此就实现了VM共享主机的IP地址上网啦。
名词解释 VM:虚拟机现在体现于一个叫做VM/ESA的产品里,它广泛的安装在IBM的主机操作系统里,包括MVS和会话监视系统(CMS),所以每个操作系统看上去像有它自己完整的软件和硬件资源系统(数据存储,通信,处理器等等)。也就是说VM给每个操作系统一个自己的"虚拟机"。VM和CMS在许多大公司里很流行,他们把它当成一个能让大量交互式用户通信或者开发并且能同时运行程序的系统。许多公司使用MVS来做商业应用而把VM作为程序开发和用户通信环境。
VMware三种网络模式根本区别
虚拟机技术在最近的几年中得到了广泛的发展,一些大型网络服务商都开始采用虚拟机技术,不仅节省了投资成本,更节约了能源的消耗。现在很多朋友都用VMware来解决32位XP的内存访问问题,今天就和大家一起探讨一下VMware 3种网络模式的功能和通信规则。
我们知道VMware也分几种版本,普通用户最常用的就是Workstation,但是不管使用哪种版本,我们都能发现在安装过程中让我们选择网络模式。在默认情况下会选中桥接模式,但有用户会问其他模式是干什么用的?有时候选择了其他模式之后就不能上网了。
网络模式
我们首先说一下VMware的几个虚拟设备
VMnet0:用于虚拟桥接网络下的虚拟交换机
VMnet1:用于虚拟Host-Only网络下的虚拟交换机
VMnet8:用于虚拟NAT网络下的虚拟交换机
VMware Network Adepter VMnet1:Host用于与Host-Only虚拟网络进行通信的虚拟网卡
VMware Network Adepter VMnet8:Host用于与NAT虚拟网络进行通信的虚拟网卡
安装了VMware虚拟机后,会在网络连接对话框中多出两个虚拟网卡,如图:
网络连接
一.桥接网络(BridgedNetworking)
桥接网络是指本地物理网卡和虚拟网卡通过VMnet0虚拟交换机进行桥接,物理网卡和虚拟网卡在拓扑图上处于同等地位(虚拟网卡既不是Adepter VMnet1也不是Adepter VMnet8)。
桥接网络拓扑图
那么物理网卡和虚拟网卡就相当于处于同一个网段,虚拟交换机就相当于一台现实网络中的交换机。所以两个网卡的IP地址也要设置为同一网段。
物理网卡IP地址
虚拟网卡IP地址
我们看到,物理网卡和虚拟网卡的IP地址处于同一个网段,子网掩码、网关、DNS等参数都相同。两个网卡在拓扑结构中是相对独立的。
ping结果
我们在192.168.15.111上ping192.168.15.96,结果显示两个网卡能够互相通信。如果在网络中存在DHCP服务器,那么虚拟网卡同样可以从DHCP服务器上获取IP地址。所以桥接网络模式是VMware虚拟机中最简单直接的模式。安装虚拟机时它为默认选项。
二.NAT模式
在NAT网络中,会用到VMwareNetwork Adepter VMnet8虚拟网卡,主机上的VMware Network AdepterVMnet8虚拟网卡被直接连接到VMnet8虚拟交换机上与虚拟网卡进行通信。
NAT网络模式
VMware Network Adepter VMnet8虚拟网卡的作用仅限于和VMnet8网段进行通信,它不给VMnet8网段提供路由功能,所以虚拟机虚拟一个NAT服务器,使虚拟网卡可以连接到Internet。在这种情况下,我们就可以使用端口映射功能,让访问主机80端口的请求映射到虚拟机的80端口上。
VMware Network Adepter VMnet8虚拟网卡的IP地址是在安装VMware时由系统指定生成的,我们不要修改这个数值,否则会使主机和虚拟机无法通信。
NAT虚拟网卡IP地址
物理网卡IP地址
虚拟出来的网段和NAT模式虚拟网卡的网段是一样的,都为192.168.111.X,包括NAT服务器的IP地址也是这个网段。在安装VMware之后同样会生成一个虚拟DHCP服务器,为NAT服务器分配IP地址。
当主机和虚拟机进行通信的时候就会调用VMware Network AdepterVMnet8虚拟网卡,因为他们都在一个网段,所以通信就不成问题了。
实际上,VMware Network Adepter VMnet8虚拟网卡的作用就是为主机和虚拟机的通信提供一个接口,即使主机的物理网卡被关闭,虚拟机仍然可以连接到Internet,但是主机和虚拟机之间就不能互访了。
三.Host-Only模式
在Host-Only模式下,虚拟网络是一个全封闭的网络,它唯一能够访问的就是主机。其实 Host-Only网络和NAT网络很相似,不同的地方就是Host-Only网络没有NAT服务,所以虚拟网络不能连接到Internet。主机和虚拟机之间的通信是通过VMware NetworkAdepter VMnet1虚拟网卡来实现的。
Host-Only模式
同NAT一样,VMwareNetwork Adepter VMnet1虚拟网卡的IP地址也是VMware系统指定的,同时生成的虚拟DHCP服务器和虚拟网卡的IP地址位于同一网段,但和物理网卡的IP地址不在同一网段。
Host-Only虚拟网卡IP地址
物理网卡IP地址
Host-Only的宗旨就是建立一个与外界隔绝的内部网络,来提高内网的安全性。这个功能或许对普通用户来说没有多大意义,但大型服务商会常常利用这个功能。如果你想为VMnet1网段提供路由功能,那就需要使用RRAS,而不能使用XP或 2000的ICS,因为ICS会把内网的IP地址改为192.168.0.1,但虚拟机是不会给VMnet1虚拟网卡分配这个地址的,那么主机和虚拟机之间就不能通信了。
综述
在VMware的3中网络模式中,NAT模式是最简单的,基本不需要手动配置IP地址等相关参数。至于桥接模式则需要额外的IP地址,如果是在内网环境中还很容易,如果是ADSL宽带就比较麻烦了,ISP一般是不会大方的多提供一个公网IP的。
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 也要根据实际情况修改。
首先必须理解vm的三种联网方式:我的虚拟机上装的是ubuntu,但是这种方法应该对操作系统是没有限制的。
在联网方式中选择NAT连接,再在宿主系统中禁用掉其他的虚拟网卡,只保留vmnet8,其他的就不用设置了,我想之前不能上网可能是虚拟网卡产生了冲突导致的。