​ nmcli device and nmcli connection ​


NetworkManager是RHEL 7之后推出的有效管理网络的服务

NetworkManager通过工具nmcli来管理网卡

网卡属于物理硬件,NetworkManager属于软件层面,如何通过软件层面给网卡绑定ip地址等信息?中间有一个核心:kernel。Linux 应用层app通过kernel来驱使底层物理硬件运行,同时必须要明确一点:软件应用没办法改变物理底层信息。如同我们给eth0配置ip地址为192.168.1.1。实质上并不是用刀在eth0网卡上刻上192.168.1.1,实际上是kernel获取eth0网卡总线,同时将该总线命名(方便人为区分),然后NetworkManager告诉kernel 00:00.0(假设eth0)的ip地址是192.168.1.1/24,那么以后访问192.168.1.1就是在访问00:00.0,kernel在中间做了一次转换或者说是绑定

nmcli device  and nmcli connection_加载

00:00.0就是总线

 

一、nmcli device来获取底层信息

nmcli device  and nmcli connection_linux_02

<nmcli device> tab两下可以获取device后面的参数。device获取网卡底层信息

nmcli device  and nmcli connection_配置文件_03

第一列: DEVICE        表示网卡的名称(kernel获取的标识)

第二列: TYPE         表示网卡的类型

第三列: STATE         表示网卡与配置文件的连接状态(connected 表示NetworkManager接管, disconnected 表示为使用NetworkManager管理

                unmanaged表示不使用NetworkManager管理 。。。。)

第四列: CONNECTION     网卡对应的配置文件名称

nmcli device  and nmcli connection_linux_04

这里演示的就是将网卡enp0s8的配置文件由nmcli device status 看到的Wired connection 1 改变成了eth8(网卡的配置文件通过nmcli connection来修改)

 

show参数可以获取网卡的所有信息:

nmcli device  and nmcli connection_重新连接_05

show后面加上DEVICE名称,则显示该网卡的所有信息,因为网卡enp0s3没有配置任何信息,所以显示的相对少

show后面如何不加任何参数,则nmcli会显示所有的网卡的信息

 

delete删除网卡

这里删除的是虚拟网卡,物理网卡是无法删除的,不可能说nmcli device delete enp0s3就会物理的将网卡在计算机上弹出来

 

disconnect  断开网卡与配置文件之间的连接

nmcli device  and nmcli connection_linux_06

 

connect    连接网卡与配置文件关系

nmcli device  and nmcli connection_配置文件_07

到这里device简单几个参数说明完了

 

二、nmcli connection用来配置配置文件,主要用来针对配置文件信息的

nmcli device  and nmcli connection_配置文件_08

nmcli connection show 可以显示配置文件概述信息

nmcli device  and nmcli connection_linux_09

第一列:NAME        配置文件的名称

第二列:UUID         唯一识别(name可能重复)

第三列:TYPE        网络类型

第四列:DEVICE       网卡名称(这里与nmcli device保持一致)

 

add     添加配置文件(注意网卡只有一个配置文件是活动的,但是可以存在多个配置文件)

add后面必须跟的三个参数:con-name(配置文件的名称)、ifname(网卡的名称)、type(网卡类型一般是ethernet),add还可以跟很多参数,比如:

ipv4.address      ipv4.gateway       ipv4.dns    ipv4.method(设置自动连接还是手动连接auto manual等等)    connection-autoconnect(开机是否自动连接)。。。。。

nmcli device  and nmcli connection_配置文件_10

如果在add添加配置文件时没有ipv4.method 则Linux会自动获取ip地址,即dhcp。

nmcli device  and nmcli connection_加载_11

nmcli device  and nmcli connection_加载_12

 

delete        删除配置文件

nmcli device  and nmcli connection_linux_13

无论是delete还是connection后紧跟什么参数,都可以通过name,uuid来删除修改

 

modify      修改配置文件信息

nmcli device  and nmcli connection_加载_14

这里之所以没有修改是因为我们修改的是硬盘配置文件,加载在内存中enp0s3-1配置文件的地址还是192.168.1.12,所以我们需要将修改后的硬盘配置文件enp0s3-1加载到内存中

nmcli device  and nmcli connection_linux_15

有时候up无法改变网卡地址,这时候我们需要reload重新连接启动。

 

总结一下connection :   add 添加配置文件    delete 删除配置文件   show 概述网卡配置文件    clone 克隆    (up       down        reload )

 

 

END


路漫漫其修远兮,吾将上下而求索!


posted on 2021-07-18 11:52  ​​領​​ ​