`

实现虚拟机 桥接 内外网互通

 
阅读更多

环境简介:

主机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地址并不是重点。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics