最近在VMware虚拟机里玩Centos,装好后发现上不了网。经过一番艰辛的折腾,终于找到出解决问题的方法了。最终的效果是无论是ping内网IP还是ping外网ip,都能正常ping通。方法四步走:

第一步,我们进入/etc/sysconfig/network-scripts目录,查看该目录有没有形如ifcfg-XXX的文件:

centos静态ip配置 无法远程连接 centos7静态ip无法上网_IP

如果你看不到以ifcfg-打头的文件(ifcfg-lo除外),说明网卡设备没有被正确识别,可能是你下载的centos镜像版本和你安装centos时选择的centos版本不一致,比如,centos镜像是64位的,却按照32位来安装。这个。。重装吧,至少我没找到好的办法

 

下面进行第二步:

在VMware里,依次点击”编辑“ - ”虚拟网络编辑器“,如下图,我选择的是NAT模式:

centos静态ip配置 无法远程连接 centos7静态ip无法上网_NAT_02

为了能够使用静态IP,这里不要勾选”使用本地DHCP服务将IP分配给虚拟机“这个选项。然后是配置子网ip,子网IP与宿主机的ip一定不能处在同一地址范围里,否则就算虚拟机能上网,网络既慢,还不稳定。我主机的ip段是192.168.115.xxx,所以我配了192.168.10.xxx来避开主机的ip段,反正ip的第三个数字在0到254并且不是115就行。Nat模式相当于配置了一个子路由器,有设置过多级路由的朋友对此应该有所体会。各位结合自己机器的IP来合理配置一个子网ip吧。

注:这里我用的笔记本上的IP地址VMnet8网段,在win10下打开cmd终端查询ipconfig,若笔记本上VMnet8地址默认为dhcp模式,可以手动改为静态地址,网段自定义即可。

centos静态ip配置 无法远程连接 centos7静态ip无法上网_NAT_03

将VM网段也设置成与VMnet8一致的网段

centos静态ip配置 无法远程连接 centos7静态ip无法上网_IP_04

restart虚拟机网络服务后,可以Ping通外网。用xshell连接本机虚拟机也可以直接连上!bingo!

 

在这个界面接着点"NAT设置",查看虚拟机的网关,这个网关在第三步要用。我这里的网关是169.254.55.2。

centos静态ip配置 无法远程连接 centos7静态ip无法上网_centos静态ip配置 无法远程连接_05

 

第三步:

以root权限编辑/etc/sysconfig/network-scripts/ifcfg-eno16777736这个文件,效果如下:

TYPE=Ethernet
BOOTPROTO=static  #设置静态Ip
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=4f40dedc-031b-4b72-ad4d-ef4721947439
DEVICE=eno16777736
ONBOOT=yes  #这里如果为no的话就改为yes,表示网卡设备自动启动
PEERDNS=yes
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_PRIVACY=no

GATEWAY=192.168.10.2  #这里的网关地址就是第二步获取到的那个网关地址(此处虚拟机内网卡网关要跟VMvare一致,否则无法联通外网)
IPADDR=192.168.10.150  #配置ip,在第二步已经设置ip处于192.168.10.xxx这个范围,我就随便设为150了,只要不和网关相同均可
NETMASK=255.255.255.0#子网掩码
DNS1=202.96.128.86#dns服务器1,填写你所在的网络可用的dns服务器地址即可
DNS2=8.8.8.8

#DNS2=114.114.114.114 #或者这一个

关键的参数我都用彩色底纹标记出来了,其他的保持默认就好,确认无误后保存退出。

 

第四步:重启网卡服务,执行service network restart,然后总算能上网了:

ping下百度的域名

centos静态ip配置 无法远程连接 centos7静态ip无法上网_VMware_06

打开浏览器瞅瞅,发现网页秒开

贴上我自己设置的ip配置文件

centos静态ip配置 无法远程连接 centos7静态ip无法上网_VMware_07

 

centos静态ip配置 无法远程连接 centos7静态ip无法上网_NAT_08

centos静态ip配置 无法远程连接 centos7静态ip无法上网_IP_09

centos静态ip配置 无法远程连接 centos7静态ip无法上网_IP_10

centos静态ip配置 无法远程连接 centos7静态ip无法上网_IP_11

centos静态ip配置 无法远程连接 centos7静态ip无法上网_IP_12

 

DEVICE="eth0"
BOOTPROTO="static"
HWADDR="00:0C:29:4D:79:47"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="35b3d920-026e-4138-b0de-0f7457fb6b82"
IPADDR=192.168.20.119
NETWORK=192.168.20.255
NETMASK=255.255.255.0
GATEWAY=192.168.20.2
DNS1=8.8.8.8


刚开始玩CentOS,用虚拟机装了个CentOS7,安装过程无比顺畅,这一点比Windows确实简单不少。

但是装完之后网络却无法使用,ifconfig查看时只有一个lo设备,哪里有传说中的eth0。。。

被这个问题纠缠了几天,最终找到了问题所在。

 


 

一、vmware安装centos7后没有网卡设备:

原因:

由于Vmware虚拟网卡和linux兼容问题导致驱动无法正常安装,默认的网卡类型不兼容

 

解决方法:

找到我们的Vmware虚拟机文件夹,将VMware 虚拟机配置 (.vmx),追加一条设置我们网卡类型ethernet0.virtualDev = "e1000"

设置完毕后,再打开虚拟机,用nmcli con show就能看到网卡设置已经加载了

 

 

二、VMware Workstation装CentOS7虚拟机NAT方式上网

开始配置,思路是从物理主机开始,向虚拟机的操作系统开始配置。

  1.配置需求VM软件,本地主机WIN7操作系统,CentOS7虚拟操作系统,实现CentOS7和Linux的通信,Linux上网功能;网络环境校园网环境。

  

  2.配置VMnet8网卡ip,子网掩码等。ip,子网掩码,网关看喜好自己配;DNS地址看物理主机的地址,要么手动配置,要么自动获取;(这里是自己配)

  ps:查看DNS地址,WIN7命令行:ipconfig -all

centos静态ip配置 无法远程连接 centos7静态ip无法上网_centos静态ip配置 无法远程连接_13

 

centos静态ip配置 无法远程连接 centos7静态ip无法上网_centos静态ip配置 无法远程连接_14

 

  3.打开VMware  编辑虚拟机设置,选择自定义NAT模式(VMnat8)。

centos静态ip配置 无法远程连接 centos7静态ip无法上网_IP_15

 

  4.编辑 虚拟网络编辑器,这里的配置很重要。这里没有选择“使用本地DHCP服务将IP地址分配给虚拟机”,如果选择那么win7的VM服务中第二个DHCP服务会开启,为虚拟机上的操作系统网卡分配ip,并且网卡要设置成动态获得ip。(一个服务占用的都是资源啊,能不能还是不用吧0.0)配置完成之后,检查一遍配置,尤其是服务NAT服务一定要打开。

centos静态ip配置 无法远程连接 centos7静态ip无法上网_IP_16

 

centos静态ip配置 无法远程连接 centos7静态ip无法上网_NAT_17

centos静态ip配置 无法远程连接 centos7静态ip无法上网_VMware_18

 

  5.虚拟机操作系统的外部环境配置完成,开机,配置内部上网环境。

  root权限下命令:vi /etc/sysconfig/network-scripts/ifcfg-eno16777736

  主要配置的是静态获得ip,网关,子网掩码等;CentOS7的网卡默认是关闭的,需要开启(或者设置成开机启动);然后启动网络设备(service network restart

  )或者重启系统(reboot)。

centos静态ip配置 无法远程连接 centos7静态ip无法上网_IP_19

 

  6.百度一下

centos静态ip配置 无法远程连接 centos7静态ip无法上网_NAT_20