linux虚拟机网络配置之桥接模式
环境:vmware workstation上安装的centos 6.5
说明:在虚拟机上安装好centos 6.5之后,是没办法连接网络的,你没办法通过ssh工具、ftp工具在本地连接上自己安装的虚拟机,也更别想通过虚拟机访问internet外部网络,怎么办呢?下面介绍三种配置网络使之联通的方法。
前提:选择网络连接方式为桥接,所谓桥接模式,就是指该虚拟机就被当做跟你安装虚拟机的电脑(宿主机器)在同一个局域网的真实机器一样,你就把这种模式下的虚拟机当做另外一台真实的电脑就可以了。
桥接模式的优缺点:
优点:桥接模式的网络配置好之后,宿主机器和虚拟机因为是在一个局域网,因此它们之间是可以互相访问的,而且虚拟机也可以访问外网。
缺点:当局域网的机器比较多时,比如在公司里面,你这里给虚拟机设置的ip可能会与其他人的ip冲突,导致你测试的问题达不到预期的效果,我是真吃过这方面的亏呀,因此在给自己的虚拟机通过桥接方式设置ip之前,一定要确保该ip没有被使用。
1.临时配置,所谓临时配置就是指的是我这次配置好了网络,关机重启后还要重新配置,使用ip addr命令查看一下使用的网卡:
我现在通过宿主机器肯定连不上虚拟机的,因为我的虚拟机都没有设置ip呢,肯定连接不上:
上面看到虚拟机使用的网卡是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就是在同一网段了)并且不和其他机器冲突就行了,你设置的时候要根据自己的网段来设置,这是啰嗦了一下,如果不太懂网段这些概念,自己去百度吧。这时候能和局域网内地机器通信了吗?看看结果:
遗憾的是,通过上面的命令只能实现跟本地局域网内的通信,并不能上外网:
这时候还需要设置一下网关才能上外网:
route add default gw 192.168.1.1 #网关就是你访问你自己路由器的网址,通过你在自己电脑上执行ipconfig都可以看到
依然是眼见为实吧:
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"命令查看:
3.根据我上面的介绍,你有没有发现更简单的方法?我们只需要把文件/etc/sysconfig/network-scripts/ifcfg-eth0里面的ONBBOT改为yes,再执行一下"service network restart"重启一下网络服务就可以了,因为BOOTPROTO默认是dhcp,就是自动分配ip,如果你像上边那样改为static,你还有手工去指定ip,网关和子网掩码。只不过一个ip可控,一个ip不可控罢了。