关于Linux中网络连接配置(NetworkManager)的一些笔记
傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。——–王小波)
写在前面
- 嗯,准备
RHCA
,学习整理这部分知识 NetworkManager
其实是RHCAS
的内容- 博文内容为常见的配置操作回顾:
NetworkManager
简述- 命令行的方式配置网络连接
- 修改配置文件的方式配置网络连接
- 谁有权限修改网络连接配置
傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。——–王小波
红帽8(rhel8
,Centos 8
)使用的网络管理服务有两个:NetworkManager
和network
。rhel8
默认使用NetworkManager
服务管理网络。如果要使用network
,需要单独启动服务处理,network
的启动是通过之前的init
文件来引导的。
常见的配置网络方法:
- 通过
nmcli connection add
命令配置,会自动生成ifcfg文件
。 - 手动配置
ifcfg-name
文件,通过nmcli connection reload
来加载生效。 - 手动配置
ifcfg-name
文件,通过旧服务network.service
来加载生效。 - 通过
nmtui
以图形化的方式配置
不管那种方式,基本都是就围绕NetworkManager
服务展开,除了使用旧的服务单元network.service
1 | ┌──[root@liruilongs.github.io]-[~] |
NetworkManager简述
基于NetworkManager
的系统守护进程
,主要负责管理网络接口(device)
和连接配置(connection)
。它监视
和管理
网络设置,并使用/etc/sysconfig/networkscripts/
目录中的文件来存储它们。
在NetworkManager
中,设备是网络接口
。连接
是可以为设备配置的设置的集合。任何设备在同一时间只有一个连接是活动的。可能存在多个连接,用于不同设备的使用,或者允许对同一设备的配置进行更改。
每个连接都有一个名称或ID
来标识它。/etc/sysconfig/network-scripts/ifcfg-name
文件存储连接的持久配置,其中name
是连接的名称。当连接名中有空格时,文件名中的空格将被替换为下划线。如果需要,这个文件可以手工编辑。
nmcli
程序从shell
提示符创建和编辑连接文件。
查看组网信息,可以通过nmcli dev status
命令用来查看所有网络设备的当前状态。
1 | ┌──[root@liruilongs.github.io]-[~] |
当然nmcli
操作除dev和con之外其他一些对象,暂时不清楚是干什么的,以后有机会研究下。
1 | ┌──[root@liruilongs.github.io]-[~] |
nmcli con show
命令用来显示所有连接的列表。添加--active
选项来只列出活动的连接。
1 | ┌──[root@liruilongs.github.io]-[~] |
device
device即网卡设备。常用的命令如下
1 | ┌──[root@servera.lab.example.com]-[~] |
关于device,一般不怎么操作,通过show命令 nmcli device show eth0
可以查看网卡详细信息
1 | ┌──[root@servera.lab.example.com]-[~] |
connection
connection 即为添加动态网络连接配置,常用的命令如下
1 | ┌──[root@servera.lab.example.com]-[~] |
查看show
通过nmcli connection show
可以查看网络配置的详细信息
1 | ┌──[root@servera.lab.example.com]-[~] |
添加add
通过 nmcli connection add
添加一个网络连接,默认IP为动态获取
1 | ┌──[root@servera.lab.example.com]-[~] |
这里添加的网络配置名字为dynamic-eth1
,使用的网卡为eth1
,查看添加的网络连接配置
1 | ┌──[root@servera.lab.example.com]-[~] |
这里IP地址获取方式默认为动态获取
1 | ┌──[root@servera.lab.example.com]-[~] |
添加一个连接,网络类型配置为因特网(ethernet)
1 | ┌──[root@servera.lab.example.com]-[~] |
修改modify
nmcli con mod name
命令用于修改连接设置。这些更改也保存在连接的/etc/sysconfig/network-scripts/ifcfg-name
文件中。
1 | ┌──[root@servera.lab.example.com]-[~] |
修改ipv4的IP地址获取方式为手动,并指定IP地址、网关、DNS
1 | ┌──[root@servera.lab.example.com]-[~] |
查看系修改后的信息,切记修改完需要从新激活
1 | ┌──[root@servera.lab.example.com]-[~] |
激活up
nmcli con up name
命令用来激活
绑定了名称连接的网络接口。该命令使用连接名,而不是网络接口名,下面执行可以动态获取ip
1 | ┌──[root@servera.lab.example.com]-[~] |
断开disconnect
nmcli dev disconnect device
命令用来断开
设备的网络接口,使其断开。命令缩写为nmcli dev dis device
这里需要说明的是,nmcli con down name
命令通常不是禁用网络接口的最佳方法
,因为它会导致连接中断。然而,默认情况下,大多数有线系统连接配置为启用自动连接。这将在网络接口可用时立即激活连接。因为连接的网络接口仍然是可用的,nmcli con down name
会将该接口关闭,但随后NetworkManager
会立即将其打开,除非该连接与该接口完全断开。
删除delete
1 | ┌──[root@servera.lab.example.com]-[~] |
配置文件
网络连接配置中,静态连接属性保存在/etc/sysconfig/network-scripts/ifcfg-*
配置文件中。
动态的连接数据,如设置IP自动获取,即从DHCP服务器获得的,是不持久存储的。
执行nmcli con show name
命令查询连接的当前设置。小写设置
是可以更改的静态属性
。大写设置
是连接实例临时使用
的动态设置
。
1 | ┌──[root@liruilongs.github.io]-[~] |
配置文件信息查看
1 | ┌──[root@servera.lab.example.com]-[~] |
配置文件修改后需要从新加载激活
1 | ┌──[root@servera.lab.example.com]-[/etc/sysconfig/network-scripts] |
谁可以修改网络设置
修改网络配置的权限:root
和以及本地登录的普通用户
可以修改,通过SSH远程的普通用户
没有权限
- ROOT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20┌──[root@liruilongs.github.io]-[~]
└─$nmcli general permissions
PERMISSION VALUE
org.freedesktop.NetworkManager.enable-disable-network yes
org.freedesktop.NetworkManager.enable-disable-wifi yes
org.freedesktop.NetworkManager.enable-disable-wwan yes
org.freedesktop.NetworkManager.enable-disable-wimax yes
org.freedesktop.NetworkManager.sleep-wake yes
org.freedesktop.NetworkManager.network-control yes
org.freedesktop.NetworkManager.wifi.share.protected yes
org.freedesktop.NetworkManager.wifi.share.open yes
org.freedesktop.NetworkManager.settings.modify.system yes
org.freedesktop.NetworkManager.settings.modify.own yes
org.freedesktop.NetworkManager.settings.modify.hostname yes
org.freedesktop.NetworkManager.settings.modify.global-dns yes
org.freedesktop.NetworkManager.reload yes
org.freedesktop.NetworkManager.checkpoint-rollback yes
org.freedesktop.NetworkManager.enable-disable-statistics yes
org.freedesktop.NetworkManager.enable-disable-connectivity-check yes
org.freedesktop.NetworkManager.wifi.scan unknown - 本地登录的普通用户
- 远程登录的普通用户
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20[liruilong@liruilongs /]$nmcli general permissions
PERMISSION VALUE
org.freedesktop.NetworkManager.enable-disable-network no
org.freedesktop.NetworkManager.enable-disable-wifi no
org.freedesktop.NetworkManager.enable-disable-wwan no
org.freedesktop.NetworkManager.enable-disable-wimax no
org.freedesktop.NetworkManager.sleep-wake no
org.freedesktop.NetworkManager.network-control auth
org.freedesktop.NetworkManager.wifi.share.protected no
org.freedesktop.NetworkManager.wifi.share.open no
org.freedesktop.NetworkManager.settings.modify.system auth
org.freedesktop.NetworkManager.settings.modify.own auth
org.freedesktop.NetworkManager.settings.modify.hostname auth
org.freedesktop.NetworkManager.settings.modify.global-dns auth
org.freedesktop.NetworkManager.reload auth
org.freedesktop.NetworkManager.checkpoint-rollback auth
org.freedesktop.NetworkManager.enable-disable-statistics no
org.freedesktop.NetworkManager.enable-disable-connectivity-check no
org.freedesktop.NetworkManager.wifi.scan unknown
[liruilong@liruilongs /]$
关于Linux中网络连接配置(NetworkManager)的一些笔记
https://liruilongs.github.io/2022/04/04/rhca/RH385/关于Linux中NetworkManager的一些笔记/
1.如何使用 BPF 分析 Linux 内存泄漏,Linux 性能调优之 BPF 分析内核态、用户态内存泄漏
2.认识 Linux 内存构成:Linux 内存调优之页表、TLB、缺页异常、大页认知
3.Linux 系统内存监控:Linux 内存调优之系统内存全面监控
4.Linux 进程内存监控:Linux 内存调优之进程内存深度监控
5.如何使用 eBPF 监控 Linux 内存 OOM killer:Linux 内存调优之 eBPF 监控内存 OOM killer 事件
6.认识 Linux 内存构成:Linux 内存调优之虚拟内存与物理内存
7.Linux 性能调优之CPU调优认知
8.Linux 性能观测之平均负载
未找到相关的 Issues 进行评论
请联系 @LIRUILONGS 初始化创建