环境简介:
主机OS:Win7
网络:有线
虚拟机:VMware 8.0.2
OS:Ubuntu 12.0.4
注:
Ubuntu貌似默认上网方式是NAT,如果你最初设置网卡的时候选择了NAT方式(对应虚拟交换机:VMnet8),则不用任何操作即可上网(当然前提是主机要能上网)。
步骤: 假设虚拟机和Ubuntu OS已成功安装
(1)虚拟机Network Adapter设置Bridge方式----对应虚拟交换机:VMnet0
工作原理:
Bridge方式,即桥接。把虚拟机看成和主机在同一个网段的另一台物理主机。从这句话我们可以得出以下信息:
I、虚拟机 IP地址与主机在同一网段
II、虚拟机 子网掩码、网关以及DNS服务器地址与主机相同
为了更清晰的明白这一点,可看其网络拓扑:
开始设置:
打开虚拟机,点击“Network Adapter”选项,在“Network connection”下面选择“Bridged...”
点击虚拟机上部的“Edit”选项,选择“Virutal Network Editor...",然后再打开的Virutal Network Editor中选中"VMnet Information"下面的Bridged,并设置Bridged to 主机的网卡(不能设置为“Automatic”)。
(2)设置虚拟机 IP地址
登陆到Ubuntu,修改interfaces文件
cd /etc/network
vim interfaces
设置如下:
auto eth0
iface etho inet static
address 10.3.7.201 (主机IP地址:10.3.7.200 )
netmask 255.255.252.0 (与主机相同)
network 10.3.4.0 (与主机相同)
broadcast 10.3.7.255 (与主机相同)
gateway 10.3.4.1 (与主机相同)
(3)设置虚拟机 DNS服务器地址
注:
这里有个细节,一般认为,设置dns服务器地址,需在resolv.conf文件中,但是稍后您会发现,每次重启Ubuntu,resolv.conf修改的内容全部被清除,即被置空。
解决办法:找到resolv.conf的源头
cd /etc/resolvconf/resolv.conf.d
在此目录下有四个文件:base, head, original, tail.
在tail(如果没有此文件,则创建一个)中加入DNS服务器其地址。
vim tail
设置如下:
nameserver xx.xx.xx.xx (与主机相同)
nameserver xx.xx.xx.xx (与主机相同)
注:您还可以发现,此目录下的head文件中内容与resolv.conf一样。重启后,resolv.conf内容将为head内容 + tail内容。
(4)重启网络并测试连通性
/etc/init.d/networking restart
此时可以测试下主机与虚拟机之间的连通性:
在虚拟机下:ping 10.3.7.200 ,也可以尝试ping 10.3.4.1 (网关)
通!!!
在主机下: ping 10.3.7.201
通!!!
--------------------------------------------------------------------------------------------------------------------------------------------
此时还可以测试一下虚拟机与校园网的连通性 :ping www.seu.edu.cn (学校主页域名)
通!!!
---------------------------------------------------------------------------------------------------------------------------------------------
注:
此时仅仅是局域网主机与虚拟机的内部互通了,虽然主机能连通Internet,但虚拟机还无法连通Internet。
要使虚拟机也能上网,需要在主机上设置“因特网连接共享(ICS)”,即把宽带连接设置为“共享”,使虚拟机共享主机的Internet连接。(详细内容可以参考 http://blog.csdn.net/heyabo/article/details/7726522)
故下面还要继续操作:
(5)设置主机的Internet连接(即宽带连接,由于情况特殊,本人的为BRAS连接,但功能都是相同的)为共享方式
首先,按照常规的因特网连接共享设置共享
然后,设置客户机(此处指虚拟机)的TCP/IP连接时,需要根据具体情况来设置,可设置为动态获取,也可以设置为与主机同一网段的静态IP地址。
此处,选择后者。由于此时在“宽带连接”设置为共享后,主机的“本地连接”的IP地址被设置成192.168.137.1.按照常规思想的话,接下来,需要将前面的虚拟机的IP地址重新设置为与192.168.137.1在同一网段,并设置虚拟机网关为1982.168.137.1.
但是:考虑到自身的具体情况:上网方式为校园网+BRAS(需配置准确静态IP以及网关、DNS等才可联网)。如此时将主机的“本地连接”的IP地址被设置成192.168.137.1,则主机将无法联网,从而到时虚拟机也无法联网,也即没有了后续......故主机必须要上网,而主机要上网,就必须设置为学校给定的IP网段,网关、DNS等
解决办法:
考虑到 ICS 的思想:同一网段内的多台计算机共享Internet连接,即保持主机和虚拟机同一网段是关键。
产生一个想法:在主机的“本地连接”被修改后,保持“宽带连接”(此处为Bras连接)的“共享”方式,但强制将“本地连接”恢复到为原来的设置------先将主机上网,然后考虑虚拟机的连通性。
主机可以联网!
(5)重启网络
/etc/init.d/networking restart
此时发现,虚拟机能和以前一样,仍能与内部主机互通,并能连接内部校园网。
即主机连通外部网络且设置ICS + 虚拟机连通内部网络---->主机、虚拟机共享Internet,二者均可上网。
(6)测试
在“共享”后
测试与主机连通性: ping 10.3.7.200 通!
测试与校园网的连通性: ping www.seu.edu.cn 通!
测试与Internet连通性: ping www.google.com 通!
结论:选择Bridge方式上网,关键在于使主机与虚拟机在同一网段,而关于具体的IP地址并不是重点。