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在中间做了一次转换或者说是绑定
00:00.0就是总线
一、nmcli device来获取底层信息
<nmcli device> tab两下可以获取device后面的参数。device获取网卡底层信息
第一列: DEVICE 表示网卡的名称(kernel获取的标识)
第二列: TYPE 表示网卡的类型
第三列: STATE 表示网卡与配置文件的连接状态(connected 表示NetworkManager接管, disconnected 表示为使用NetworkManager管理
unmanaged表示不使用NetworkManager管理 。。。。)
第四列: CONNECTION 网卡对应的配置文件名称
这里演示的就是将网卡enp0s8的配置文件由nmcli device status 看到的Wired connection 1 改变成了eth8(网卡的配置文件通过nmcli connection来修改)
show参数可以获取网卡的所有信息:
show后面加上DEVICE名称,则显示该网卡的所有信息,因为网卡enp0s3没有配置任何信息,所以显示的相对少
show后面如何不加任何参数,则nmcli会显示所有的网卡的信息
delete删除网卡
这里删除的是虚拟网卡,物理网卡是无法删除的,不可能说nmcli device delete enp0s3就会物理的将网卡在计算机上弹出来
disconnect 断开网卡与配置文件之间的连接
connect 连接网卡与配置文件关系
到这里device简单几个参数说明完了
二、nmcli connection用来配置配置文件,主要用来针对配置文件信息的
nmcli connection show 可以显示配置文件概述信息
第一列: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(开机是否自动连接)。。。。。
如果在add添加配置文件时没有ipv4.method 则Linux会自动获取ip地址,即dhcp。
delete 删除配置文件
无论是delete还是connection后紧跟什么参数,都可以通过name,uuid来删除修改
modify 修改配置文件信息
这里之所以没有修改是因为我们修改的是硬盘配置文件,加载在内存中enp0s3-1配置文件的地址还是192.168.1.12,所以我们需要将修改后的硬盘配置文件enp0s3-1加载到内存中
有时候up无法改变网卡地址,这时候我们需要reload重新连接启动。
总结一下connection : add 添加配置文件 delete 删除配置文件 show 概述网卡配置文件 clone 克隆 (up down reload )
END