虚拟机桥接方式上网

一、

 最近捣鼓虚拟机bridge方式联网费了不少时间,原因有两个:一是刚接触到linux,各种操作不熟悉,基本还没有入门;而是学校的上网方式比较特殊(校园网路+BRAS:宽带远程接入服务设备)。并且网络上的资料都是在比较通用的宽带连接的环境下,没有具体相关细节。在苦苦寻求的时候,大胆的设置了一下IP,没想到通啦!。。。。。生活就是这样,无意间充满惊喜。废话少说,下面进入正题。

环境简介:

         主机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...”

虚拟机桥接方式上网_第1张图片

点击虚拟机上部的“Edit”选项,选择“Virutal Network Editor...",然后再打开的Virutal Network Editor中选中"VMnet Information"下面的Bridged,并设置Bridged to 主机的网卡(不能设置为“Automatic”)。

虚拟机桥接方式上网_第2张图片

 

 

虚拟机桥接方式上网_第3张图片

(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 (网关)

 

虚拟机桥接方式上网_第4张图片

  通!!!

              在主机下:    ping 10.3.7.201

 

虚拟机桥接方式上网_第5张图片

      通!!!

--------------------------------------------------------------------------------------------------------------------------------------------

               此时还可以测试一下虚拟机与校园网的连通性 :ping www.seu.edu.cn  (学校主页域名)

虚拟机桥接方式上网_第6张图片

    通!!!

---------------------------------------------------------------------------------------------------------------------------------------------

         注:

              此时仅仅是局域网主机与虚拟机的内部互通了,虽然主机能连通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连接)的“共享”方式,但强制将“本地连接”恢复到为原来的设置------先将主机上网,然后考虑虚拟机的连通性。

虚拟机桥接方式上网_第7张图片

   主机可以联网!


         (5)重启网络

             /etc/init.d/networking restart

            此时发现,虚拟机能和以前一样,仍能与内部主机互通,并能连接内部校园网。

            即主机连通外部网络且设置ICS + 虚拟机连通内部网络---->主机、虚拟机共享Internet,二者均可上网。

         (6)测试

             在“共享”后

             测试与主机连通性:         ping 10.3.7.200                通!

             测试与校园网的连通性: ping  www.seu.edu.cn      通!

             测试与Internet连通性:     ping  www.google.com    通!

虚拟机桥接方式上网_第8张图片

结论:选择Bridge方式上网,关键在于使主机与虚拟机在同一网段,而关于具体的IP地址并不是重点。

 

二、注意事项

由于在开发一个局域网产品时要求自动分配IP地址,这样才能Ping得通。结果试了果然如此。

但出了一个问题,采用动态分配的IP地址网络极不稳定,ping后有丢包现象。(丢包25%)

后来把自动分配的IP地址我把它固定了,这样就解决了问题。

你可能感兴趣的:(虚拟机,NAT,桥接)