VM虚拟机上网的问题(转)
许多虚拟机的初学者,都会询问这样一个问题:在虚拟机中怎样上网、和主机上网有什么区别?要弄清这个问题,需要先知道“主机是怎么上网的”,根据主机上网的方法,再理解或设置虚拟机上网的方法。综合来说,主机上网,无非有两种:一种是拨号上网,另一种是不需要拨号上网。拨号上网,包括家庭ADSL拨号上网、小区宽带拨号上网、无线网卡拨号上网,或者单位家属院专用拨号上网等。非拨号上网(主机不需要拨号即可以上网),包括单位直接上网、家庭通过路由器共享上网等。
而虚拟机上网,则也有三种方式:直接上网、通过主机共享上网、通过VMware内置的NAT服务共享上网等,与主机上网方式组合,则有六种方式:
A,主机拨号上网,虚拟机拨号上网;
B,主机拨号上网,虚拟机通过主机共享上网;
C,主机拨号上网,虚拟机使用VMware内置的NAT服务共享上网;
D,主机直接上网,虚拟机直接上网;
E,主机直接上网,虚拟机通过主机共享上网;
F,主机直接上网,虚拟机使用VMware内置的NAT服务共享上网;
虚拟机使用A种方式上网时,主机与虚拟机在同一时刻只能有一台计算机上网,而在其他几种方式中,主机与虚拟机可以同时上网。
11.6.1 虚拟机使用“桥接”网卡上网
在上面的六种方式中,如果选择A,则虚拟机使用“桥接”网卡,并且在虚拟机中,要安装与主机相同的拨号软件,并且在拨号的时候,提供ISP提供的用户名、密码拨号上网。
如果选择D,虚拟机需要使用“桥接”网卡,但这时候,虚拟机与主机在同一个网段中,并且也要为虚拟机分配一个IP地址(不要与主机IP地址相同,也不要与主机所在局域网中的其他计算机IP地址相同),为虚拟机设置子网掩码、网关地址、DNS地址。除了IP地址不同,其他都相同。
11.6.2 虚拟机使用“NAT”网卡上网
在虚拟机上网的几种方式中,最简单、最方便的就是使用“NAT”方式共享上网,这是VMware虚拟机“内置”的功能,也是推荐初学者使用的方法。不管主机是通过拨号上网、无线网卡上网、还是单位上网,只要主机能上网,虚拟机使用“NAT”(即VMnet8)虚拟网卡,并且在虚拟机中设置为“自动获得地址”,虚拟机就可以上网,如图11-74所示。
图11-74 虚拟机使用NAT网卡并自动获得地址
如果按照图11-74设置后,虚拟机不能上网,这时候,就需要检查,虚拟机不能上网的原因,主要步骤如下:
(1)在虚拟机中,进入命令提示窗口,执行ipconfig/all命令,检查当前虚拟机是否获得的正确的IP地址,如果获得了正确的IP地址,则使用ping命令,看能否ping通网关,如果能ping通网关地址,则需要使用ping命令,ping互联网上的一个网站,例如ping www.sohu.com,看能否解析出这个网站的IP地址,如果不能解析出这个网卡的IP地址,则说明是DNS服务器的问题,则需要在图11-74中,取消“自动获得DNS服务器地址”的选项,使用当前ISP提供的DNS地址,然后再返回命令提示符,再次ping www.sohu.com[/url],当能解析出[url]www.sohu.com的域名后,在虚拟机中,打开IE浏览器,就可以上网。如果仍然不能上网,则表明是IE浏览器或者IE浏览器设置的问题。
(2)在执行上述命令后,如果不能获得正确的IP地址,而是获得了169.254.x.x之类的地址,表示可能当前主机上的“VMware DHCP服务”没有启动,此时可以先为虚拟机“指定”一个IP地址,看能否上网,在指定IP地址时,要检查主机上VMnet8所使用的网段,例如,如果虚拟机使用了192.168.80.0的网段,则可以为虚拟机指定192.168.80.3~192.168.80.254的IP地址,子网掩码为255.255.255.0,网关地址为192.168.80.2,DNS地址为192.168.80.2或者ISP提供的DNS地址。在指定IP地址后,使用ping命令检查到网关(192.168.80.2)、主机网卡(192.168.80.1)的连通性,检查解析域名的情况。如果不能ping通网关,检查虚拟机网卡设置、主机上网卡设置。当指定IP地址能上网时,检查主机上VMware DHCP服务并尝试启动该服务。有关VMware DHCP服务的情况,后文介绍。
11.6.3 虚拟机使用主机上的“ICS”连接共享上网
如果想使用主机上的“Internet连接共享”为虚拟机提供共享上网服务,则可以按照下述步骤操作:
(1)打开“网络连接”,如果主机是“直接上网”,则用鼠标右键“本地连接”,从弹出快捷菜单中选择“属性”,如图11-75所示。
图11-75 本地连接属性页
(2)在“本地连接 属性”页中,在“高级”选项卡中,单击“允许其他网络用户通过此计算机的Internet连接来连接”单选按钮,并在“家庭网络连接”下拉列表中选择“VMware Network Adapter VMnet1”,如图11-76所示。
(3)然后在“Windows防火墙”选项组中,单击“设置”按钮,在弹出的“Windows防火墙”页中,在“高级”选项卡中,取消“VMware Network Adapter VMnet1”的选择,如图11-77所示。然后单击“确定”按钮返回图11-76,单击“确定”按钮,完成设置。
图11-76 启用Internet连接共享
图11-77 取消VMnet1的防火墙
(4)在启用“Internet连接共享”功能时,会弹出VMnet1虚拟网卡被强制设置为192.168.0.1,此时单击“是”按钮即可,如图11-78所示。
图11-78 提示VMnet1被设置为192.168.0.1
(5)如果主机网络也使用了192.168.0.0的网段,此时VMnet1设置为192.168.0.1会与主机网段冲突,可以修改VMnet1的网卡地址。进入VMnet1属性页,将网卡的IP地址从192.168.0.1修改为其他网段的地址,例如192.168.100.1,如图11-79所示。
图11-79 修改VMnet1网卡地址
(5)在主机上启用“Internet连接共享”功能后,以后为虚拟机使用VMnet1虚拟网卡,并在虚拟机中,设置网段IP地址与图11-79中在同一网段、网关与DNS地址为图11-79中设置的地址即可以上网,如图11-80、图11-81所示。
图11-80 虚拟机中设置IP地址
图11-81 在虚拟机中上网
【说明】如果没有在图11-79中修改VMnet1虚拟网卡地址,则在图11-80中,设置IP地址仍然为192.168.0.2~192.168.0.254的范围。
(6)如果主机是通过“拨号上网”,则用鼠标右键单击“拨号上网”快捷方式,从中选择“属性”,并在弹出的拨号上网的属性页中,在“高级”选项卡中,启用“Internet连接共享(ICS)”并选择VMnet1虚拟网卡,而其他设置则与主机直接上网的设置相同,不在介绍。如图11-82和图11-83所示。
图11-82 拨号连接
图11-83 为拨号连接启用ICS
11.6.4 关于虚拟机使用NAT不能上网的若干问题
在使用VMware Workstation的时候,创建的虚拟机使用NAT,但在虚拟机中却不能上网,原因可能如下:
(1)主机是Windows XP Professional SP2、SP3或者是Windows Server 2003,如果是这样,则需要把VMnet1、VMnet8的防火墙关闭。方法是: 右击“本地连接”选择属性→高级→设置,在“Windows防火墙”对话框中单击“高级”,将VMnet1和VMnet8前面的“√”去掉就可以。
(2)你的主机安装了瑞星、江民、天网防火墙,或者其他防火墙软件,这些防火墙软件没有进行正确的配置,导致VMware不能通过其内置的NAT功能共享上网,这时,可以把第三方的防火墙软件关闭。
(3)如果启用了Windows XP(或Windows Server 2003)内置的“Internet连接共享”,则需要正确选择“局域网”网卡,否则可能由于设置错误,导致虚拟机不能上网。详细内容可以参看上一节内容。
(4)如果使用了VMware Workstation的“绿色”版或者“精简”版,请使用完整版本安装。如果你需要中文,可以安装中文的汉化补丁。 这些“绿色”版或“精简”版去掉了一些服务或者插件,导致不能上网。
在使用VMware Workstation的过程中,推荐采用正面的方法:
(1)主机不安装第三方的防火墙软件,使用操作系统内置的防火墙。
(2)安装VMware Workstation的完整版本(就是从VMware Workstation网站或者一些下载网站下载的VMware Workstation的英文版。可以安装汉化补丁,但不要使用“精简”版。
(3)修改XP的防火墙,让VMnet1和VMnet8不使用防火墙(主机网卡使用)。创建虚拟机使用NAT网卡,在虚拟机中设置为“自动获得IP及DNS地址”,这样做,一般情况下都可以直接上网。