百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

Linux下NetworkManager和network的和平共处

sinye56 2024-11-11 13:34 3 浏览 0 评论

简介

我们在使用CentoOS系统时偶尔会遇到配置都正确但network启动不了的问题,这问题经常是由NetworkManager引起的,关闭NetworkManage并取消开机启动network就能正常启动。使用的Linux经常使用命令行模式,所以大家都不怎么去了解NetworkManager,造成了糊里糊涂地解决问题。下面我们看一下NetworkManager的基础使用。

分析

NetworkManager与network功能类似,都是用于管理网络,NetworkManager提供了nmctl和nmtui两个工具:
nmctl:命令行工具

[root@mx ~]# nmcli --help
Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }

OPTIONS
  -a, --ask                                ask for missing parameters
  -c, --colors auto|yes|no                 whether to use colors in output
  -e, --escape yes|no                      escape columns separators in values
  -f, --fields <field,...>|all|common      specify fields to output
  -g, --get-values <field,...>|all|common  shortcut for -m tabular -t -f
  -h, --help                               print this help
  -m, --mode tabular|multiline             output mode
  -o, --overview                           overview mode
  -p, --pretty                             pretty output
  -s, --show-secrets                       allow displaying passwords
  -t, --terse                              terse output
  -v, --version                            show program version
  -w, --wait <seconds>                     set timeout waiting for finishing operations

OBJECT
  g[eneral]       NetworkManager's general status and operations
  n[etworking]    overall networking control
  r[adio]         NetworkManager radio switches
  c[onnection]    NetworkManager's connections
  d[evice]        devices managed by NetworkManager
  a[gent]         NetworkManager secret agent or polkit agent
  m[onitor]       monitor NetworkManager changes

[root@mx ~]# 

我们可以直接使用命令行来管理网络,下面是对应参数项目与配置文件内的参数对应关系图。

# 比如我这里设置eth0为手动设置静态地址,为192.168.31.5,子网掩码24,自启动
nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.31.5/24 connection.autoconnect yes 
nmcli connection up eth0

nmtui:伪图形界面
两个都是用来管理网络,但是有一个前提:nmctl networking 状态必须是enable否则设备状态为unmanaged,这会导致network启动不了!

查看方式如下:

[root@master03 ~]# nmcli networking
enabled

使用nmtui来查看网络,直接在命令行下敲nmtui,就会出现蓝底的伪图形界面,可以很方便地配置服务器的网络。

设置完成后,要记得在第二项目中设置对应网卡启动,这样才能正常使用。

解决

如果遇到network无法启动的情况,检测配置是是否有问题,如果是服务器(多网口),检测网线是否插在你启动的网网口上 检测你的NetworkManager是否启动,如果启动了可参考一下方法处理 简单粗暴:关闭NetworkManage服务,并取消开机启动(要是你使用的为命令行模式,没有有用图形界面,可以放心使用这种方法,使用图形界面的话还是建议自己排查一下) 排查NetworkManager:

  • 检查nmctl networking 状态是否为enabled,如果不是,执行一下命令开启
[root@master03 ~]# nmcli networking on
[root@master03 ~]# systemctl restart NetworkManager
[root@master03 ~]# systemctl restart network
[root@master03 ~]# nmcli device
DEVICE   TYPE      STATE      CONNECTION
ens33    ethernet  connected  ens33
docker0  bridge    unmanaged  --
lo       loopback  unmanaged  --
[root@master03 ~]#
  • 检测device有没有连接到connection,命令:nmcli connection来查看连接状态。 若没有,则使用命令来连接:nmcli device connect ens33

image

  • 检测连接是否启用
[root@master03 ~]# nmcli connection
NAME   UUID                                  TYPE      DEVICE
ens33  4d574cba-a63e-49ae-8cb2-d663a8dd796e  ethernet  ens33

如果没有启用

注意了:我的连接名称是ens33,根据你自己的情况自己改进,所有操作完成以后都执行以下命令。

[root@master03 ~]# systemctl restart NetworkManager
[root@master03 ~]# systemctl restart network

否则可能不生效,当然上面两种网络管理方式network与NetworkManager其它是相辅相成的作用,只需要使用其中一种方式来管理即可,另外一种可以禁用掉(注意:至少保持一种自启动,否则可能会出现开机没有网络的状况)。
我比较喜欢使用NetworkManager来管理网络,更大的强大和易用,所以我这里把NetworkManager设置为开机启动,network为禁止开机启动。使用以下命令来查看启动状态。

# 查看NetworkManager的是否为自启动
[root@mx ~]# systemctl list-unit-files --type service | grep NetworkManager

# 查看network是否设置为自启动
[root@mx ~]# chkconfig --list | grep network

至此!

相关推荐

Linux在线安装JDK1.8

首先在服务器pingwww.baidu.com查看是否可以连网然后就可以在线下载一、下载安装JDK1.81、在下载安装的同时做好一些准备工作...

Linux安装JDK,超详细

1、了解RPMRPM是Red-HatPackageManager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux...

Linux安装jdk1.8(超级详细)

前言最近刚购买了一台阿里云的服务器准备要搭建一个网站,正好将网站的一个完整搭建过程分享给大家!#一、下载jdk1.8首先我们需要去下载linux版本的jdk1.8安装包,我们有两种方式去下载安装...

Linux系统安装JDK教程

下载jdk-8u151-linux-x64.tar.gz下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.ht...

干货|JDK下载安装与环境变量配置图文教程「超详细」

1.JDK介绍1.1什么是JDK?SUN公司提供了一套Java开发环境,简称JDK(JavaDevelopmentKit),它是整个Java的核心,其中包括Java编译器、Java运行工具、Jav...

Linux下安装jdk1.8

一、安装环境操作系统:CentOSLinuxrelease7.6.1810(Core)JDK版本:1.8二、安装步骤1.下载安装包...

Linux上安装JDK

以CentOS为例。检查是否已安装过jdk。yumlist--installed|grepjdk或者...

Linux系统的一些常用目录以及介绍

根目录(/):“/”目录也称为根目录,位于Linux文件系统目录结构的顶层。在很多系统中,“/”目录是系统中的唯一分区。如果还有其他分区,必须挂载到“/”目录下某个位置。整个目录结构呈树形结构,因此也...

Linux系统目录结构

一、系统目录结构几乎所有的计算机操作系统都是使用目录结构组织文件。具体来说就是在一个目录中存放子目录和文件,而在子目录中又会进一步存放子目录和文件,以此类推形成一个树状的文件结构,由于其结构很像一棵树...

Linux文件查找

在Linux下通常find不很常用的,因为速度慢(find是直接查找硬盘),通常我们都是先使用whereis或者是locate来检查,如果真的找不到了,才以find来搜寻。为什么...

嵌入式linux基本操作之查找文件

对于很多初学者来说都习惯用windows操作系统,对于这个系统来说查找一个文件简直不在话下。而学习嵌入式开发行业之后,发现所用到的是嵌入式Linux操作系统,本想着跟windows类似,结果在操作的时...

linux系统查看软件安装目录的方法

linux系统下怎么查看软件安装的目录?方法1:whereis软件名以查询nginx为例子...

Linux下如何对目录中的文件进行统计

统计目录中的文件数量...

Linux常见文件目录管理命令

touch用于创建空白文件touch文件名称mkdir用于创建空白目录还可以通过参数-p创建递归的目录...

Linux常用查找文件方法总结

一、前言Linux系统提供了多种查找文件的命令,而且每种查找命令都具有其独特的优势,下面详细总结一下常用的几个Linux查找命令。二、which命令查找类型:二进制文件;...

取消回复欢迎 发表评论: