解决CentOS虚拟机无法显示本地IP问题

1 问题描述

CentOS虚拟机无法显示本地ip,如图:

解决CentOS虚拟机无法显示本地IP问题

2 尝试过的方法

参考过此处的解决方法,把网卡配置中的ONBOOT修改为YES

解决CentOS虚拟机无法显示本地IP问题

但是原来的网卡配置也是YES,所以修改的方法没有用,尝试了一下重启网卡服务:

systemctl restart network

ip还是无法正常显示。

3 原因

查了一下资料,常用的Linux的网络管理服务有两个:

  • network服务
  • NetworkManager服务

前者是基础服务,通常在服务器中使用,当然在图形界面也有,通常使用命令行配置,而NetworkManager一般在图形界面安装,是为了方便ip的配置,要注意的是两个之中只能有一个生效,因此需要选择一个禁用。在笔者这种情况下应该是两者冲突了,导致不能正常显示本地ip,可以使用

systemctl status network
systemctl status NetworkManager

查看两服务状态,如果不是服务冲突的话应该就是配置出错了的原因。

4 解决方案

4.1 使用network

先把NetworkManager禁用:

systemctl stop NetworkManager
systemctl status NetworkManager

禁用之后重启network

systemctl restart network

这样就能显示出本地ip了。

若还是不能显示请检查网卡配置,在/etc/sysconfig/network-scripts下,笔者的是/etc/sysconfig/network-scripts/ifcfg-ens33

4.2 使用NetworkManager

使用NetworkManager的话先把network禁用:

systemctl stop network
systemctl status network

再把NetworkManager启动:

systemctl start NetworkManager

接下来使用nmcli进行操作。

4.2.1 托管状态

首先查看托管状态:

nmcli n

若显示disabled

解决CentOS虚拟机无法显示本地IP问题

开启即可:

nmcli n on

解决CentOS虚拟机无法显示本地IP问题

4.2.2 设备

查看设备:

nmcli d

笔者机器上显示如下:

解决CentOS虚拟机无法显示本地IP问题

接下来创建连接,有两种方式创建:动/静态ip

# 静态ip方式创建connection
nmcli c add type ethernet con-name connect_name_1 ifname ens33 ipv4.addr 192.168.126.151/24 ipv4.gateway 192.168.126.1 ipv4.method manual

# 动态ip方式创建connection
nmcli c add type ethernet con-name connect_name_2 ifname ens33 ipv4.method auto

4.2.3 静态ip方式

nmcli c add type ethernet con-name connect_name_1 ifname ens33 ipv4.addr 192.168.126.151/24 ipv4.gateway 192.168.126.1 ipv4.method manual

参数说明:

  • nmcli c add:创建连接
  • type:连接类型
  • con-name:连接名称
  • ifname:网卡名
  • ipv4.addripv4静态ip,这里是192.168.126.15124表示子网掩码
  • ipv4.gateway:网关,把最后ip最后置1即可,这里是192.168.126.1
  • ipv4.method:后面的参数manual表示配置静态ip,注意一下该参数很重要,因为默认为auto,也就是如果不指定该参数会出现两个ip,一个静态+一个动态

创建好连接之后应该就能显示ip了:

解决CentOS虚拟机无法显示本地IP问题

就是刚才手动指定的静态ip,如果还是不能显示ip可以手动连接设备:

nmcli d connect ens33

4.2.4 动态ip方式

nmcli c add type ethernet con-name connect_name_2 ifname ens33 ipv4.method auto

参数与上面的基本一致,区别就是auto,表示动态方式配置ip,这样就配置完成了,可以直接查看ip

解决CentOS虚拟机无法显示本地IP问题

如果还是没有ip可以尝试手动连接设备:

nmcli d connect ens33 
上一篇:VMware设置桥接模式+虚拟机设置桥接模式+设置静态IP地址+虚拟机启动时权限问题


下一篇:检查Linux中发现没有IP