本文的目的主要是解决虚拟机上网时IP变动或者无法上网的问题,且由于学习Hadoop时需要将虚拟机设置为静态IP,因此,本文顺便教大家怎么配置虚拟机的网络以及静态IP的设置。
(一般按照我上一篇的教程,虚拟机都是可以直接上网的)
虚拟机中Linux的网络配置原理
NAT模式下网络,如图所示
假设我的虚拟机ip为192.168.187.120(用命令ifconfig可以查出),那么它是如何上网的呢?
①window下有一块虚拟网卡,名为vmnet8,其ip为:192.168.187.1
,因此,我们的虚拟机便与vm8构成一个网络,可以相互通信(可以在虚拟机以及window下试试能否相互ping通)
window下命令:ipconfig
②接下来,我们的电脑的真实网卡通过网关,便能与互联网通信了
下图为:vm8以及真实网卡
其中的真实网卡是WLAN,因为我是通过wifi上网的
虚拟网络编辑器和查看网关
首先,我们需要先查看虚拟网络编辑器,以及知道它的作用
打开虚拟机,看到自己的左上角,点击 编辑—>虚拟网络编辑器
我们可以看到两个,一个VMnet0,另一个VMnet8
一般情况下,我们的虚拟机都是与VMnet8处于同一分段的ip地址
为了保证我们每次启动时,ip地址不变,我们便修改一下
点击更改设置,在子网ip那里进行更改,例如我这里更改之后
虚拟机里的ip地址便是为192.168.188.x
点击 NAT设置,在这里我们可以查看到网关(这一步在后面会用到)
最后点击确定就可以了,这时候我们的虚拟机不一定能联网
原因:因为我们每次重启自己的电脑,vmnet8的地址会改变,我们最好设置一下
在window 控制面板中,找到 网络和共享中心 --> 更改设配器设置
–> 右键 vmnet8 -->ipv4
改为使用下面的ip地址,默认网关跟首选DNS服务器一模一样就可以了(我的电脑在系统更新之后这里就会改变,不知道你们的会不会)
以上配置完成之后,我们的外部算是配置结束了
修改静态ip
接下来的是虚拟机内部的网络配置
vim /etc/sysconfig/network-scripts/ifcfg-eth0
(我的虚拟机改过网卡名称,所以是eth0,一般centos7好像是ens33)
DEVICE=eth0
TYPE=Ethernet
#系统启动的时候网络接口是否有效(yes/no)
ONBOOT=yes
#静态ip的配置
BOOTPROTO=static
#网卡名称
NAME="eth0"
#IP地址
IPADDR=192.168.188.101
PREFIX=24
#网关
GATEWAY=192.168.188.2
DNS1=192.168.188.2
:wq保存退出,执行命令:service network restart或者重启虚拟机
至此,我们虚拟机的静态ip便配置完成了
这时候可以尝试ping功能
如果能ping通上网,说明已经完成配置