linux虚拟机网络配置之桥接模式

 环境:vmware workstation上安装的centos 6.5

        说明:在虚拟机上安装好centos 6.5之后,是没办法连接网络的,你没办法通过ssh工具、ftp工具在本地连接上自己安装的虚拟机,也更别想通过虚拟机访问internet外部网络,怎么办呢?下面介绍三种配置网络使之联通的方法。

        前提:选择网络连接方式为桥接,所谓桥接模式,就是指该虚拟机就被当做跟你安装虚拟机的电脑(宿主机器)在同一个局域网的真实机器一样,你就把这种模式下的虚拟机当做另外一台真实的电脑就可以了。

        桥接模式的优缺点:

            优点:桥接模式的网络配置好之后,宿主机器和虚拟机因为是在一个局域网,因此它们之间是可以互相访问的,而且虚拟机也可以访问外网。

            缺点:当局域网的机器比较多时,比如在公司里面,你这里给虚拟机设置的ip可能会与其他人的ip冲突,导致你测试的问题达不到预期的效果,我是真吃过这方面的亏呀,因此在给自己的虚拟机通过桥接方式设置ip之前,一定要确保该ip没有被使用。

linux虚拟机网络配置之桥接模式

        1.临时配置,所谓临时配置就是指的是我这次配置好了网络,关机重启后还要重新配置,使用ip addr命令查看一下使用的网卡:

linux虚拟机网络配置之桥接模式

我现在通过宿主机器肯定连不上虚拟机的,因为我的虚拟机都没有设置ip呢,肯定连接不上:

linux虚拟机网络配置之桥接模式

上面看到虚拟机使用的网卡是eth0,好,知道了网卡就可以配置这个网卡了,命令如下:

ifconfig eth0 192.168.1.100  netmask 255.255.255.0  up #设置ip和子网掩码,注意不要和局域网内的电脑的ip冲突了

当然了,我这里设置的ip为"192.168.1.100",是因为我自己的机器ip地址是"192.168.1.101",子网掩码是255.255.255.0,我只要设置的和192.168.1.101在同一网段(根据子网掩码的值可以知道,只要前3段相同,即192.168.1就是在同一网段了)并且不和其他机器冲突就行了,你设置的时候要根据自己的网段来设置,这是啰嗦了一下,如果不太懂网段这些概念,自己去百度吧。这时候能和局域网内地机器通信了吗?看看结果:

linux虚拟机网络配置之桥接模式

遗憾的是,通过上面的命令只能实现跟本地局域网内的通信,并不能上外网:

linux虚拟机网络配置之桥接模式

这时候还需要设置一下网关才能上外网:

route add default gw 192.168.1.1  #网关就是你访问你自己路由器的网址,通过你在自己电脑上执行ipconfig都可以看到

依然是眼见为实吧:

linux虚拟机网络配置之桥接模式      

        2.千辛万苦终于配置好了,一个reboot就让你回到了解放前,开不开心?不要不开心,这没什么大不了,有那种一劳永逸的永久配置,也就是我前面说的第二种方法了,这种方法需要修改网卡的配置文件,文件位于/etc/sysconfig/network-scripts/ifcfg-eth0,当然了,如果你的网卡是eth1,那么你就应该去配置/etc/sysconfig/network-scripts/ifcfg-eth1了。打开这个文件发现内如如下:

DEVICE=eth0
HWADDR=00:0C:29:09:4D:E6
TYPE=Ethernet
UUID=64d534c1-a9d9-487f-a8b8-3ac1ce13d169
ONBOOT=no
NM_CONTROLLED=yes
BOOTPROTO=dhcp

修改如下:

DEVICE=eth0
HWADDR=00:0C:29:09:4D:E6
TYPE=Ethernet
UUID=64d534c1-a9d9-487f-a8b8-3ac1ce13d169
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=10.139.1.2
DNS2=10.139.1.3

    保存之后,还要重启网络服务才可以使配置生效,怎么重启网络服务?命令:

service network restart

    至此呢,虚拟机就可以上网啦。

说明:上面配置文件里面的各个项是什么意思呢?我在这里给大家解释一下,也给自己做个备忘录:

    DEVICE=eth0   #本配置文件针对的是哪个网卡

    HWADDR=00:0C:29:09:4D:E6   #网卡设备MAC地址

    TYPE=Ethernet  #网卡类型        

    UUID=64d534c1-a9d9-487f-a8b8-3ac1ce13d169

    ONBOOT=yes   #本配置文件是否在计算机启动的时候被加载,当然需要被加载了,不然我配置干嘛

    NM_CONTROLLED=yes  

    BOOTPROTO=static   #有dhcp和static两个值,dhcp就是让计算机自动分配ip地址,也可以。static就需要自己知道ip地址了

    IPADDR=192.168.1.100   #指定ip

    NETMASK=255.255.255.0  #子网掩码

    GATEWAY=192.168.1.1  #网关

    DNS1=10.139.1.2

    DNS2=10.139.1.3

NETMASK,GATEWAY,DNS可以在自己的宿主机windows上通过"ipconfig  /all"命令查看:

linux虚拟机网络配置之桥接模式

        3.根据我上面的介绍,你有没有发现更简单的方法?我们只需要把文件/etc/sysconfig/network-scripts/ifcfg-eth0里面的ONBBOT改为yes,再执行一下"service network restart"重启一下网络服务就可以了,因为BOOTPROTO默认是dhcp,就是自动分配ip,如果你像上边那样改为static,你还有手工去指定ip,网关和子网掩码。只不过一个ip可控,一个ip不可控罢了。