新版 NetworkManager 网络配置立即生效

这种情况在 pts 远程连接 环境下更容易发生

NetworkManager 新版很鸡肋的一点,我 修改 网卡配置文件,但是 不立即生效 。本文是解决新版的问题,不是解决 旧版网络配置

本文所有 <device> 标签你需要替换成你的真实设备名, 你可以通过 nmcli 工具查看

bash 复制代码
# c s 分别是 connection 和 show 的缩写
nmcli c s 
# NAME   UUID                                  TYPE      DEVICE
# ens33  6948cda6-ecd2-324c-badf-5158397630aa  ethernet  ens33
# lo    3d91c58c-cde1-454a-b568-52711a2fa2db  loopback  lo

计算机英语较好的可以直接翻阅完整 NetworkManager 配置文件, 不过官方文献没有解决实质性问题

nmcli: NetworkManager Reference Manual


NetworkManager 新版配置目录

  • 新版 ( 例如 Rocky Linux 9 , OpenEuler ) 的 网卡配置文件位于 /etc/NetworkManager/system-connections/<device>.nmconnection , 我的新版NetworkManager 版本是: 1.48.10

解决方案

若你已经是 root 用户,跳过这一步

bash 复制代码
sudo -i
  • 旧版本 NetworkManager 你修改好了对应的配置文件, 执行以下语句:
bash 复制代码
# 这是立即生效的,比如之前你的地址是: 192.168.241.10/24
systemctl daemon-reload && systemctl restart network && ip addr show <device>
# 重启了网卡,我的地址立刻变成了 192.168.241.13/24

新版本网络配置文件内容基本是这样的

nmconnection 复制代码
[connection]
id=ens33
uuid=6948cda6-ecd2-324c-badf-5158397630aa
type=ethernet
autoconnect-priority=-999
interface-name=ens33

[ethernet]

[ipv4]
#address1=192.168.241.10/24,192.168.241.2 # 你只需要修改成类似 ↓
address1=192.168.241.13/24,192.168.241.2 # ',' 前面的是你的预设地址/掩码 ',' 后面的地址是你的网关
dns=114.114.114.114; # 取决于你是否需要上网
method=manual

[ipv6]
addr-gen-mode=eui64
method=auto

[proxy]
改之前
  • 新版本 NetworkManager 更改配置后,你想立即生效,那么多做这几步是有必要

友情提醒: 更改网络会导致你当前的远程连接断掉。不过你只需要重新用 putty 类似工具用新地址连接就 OK 了

bash 复制代码
systemctl daemon-reload && systemctl restart NetworkManager &&\
nmcli c reload &&\
nmcli d reapply <device>
改之后
相关推荐
颜如玉几秒前
ElasticSearch关键参数备忘
后端·elasticsearch·搜索引擎
卡拉叽里呱啦1 小时前
缓存-变更事件捕捉、更新策略、本地缓存和热key问题
分布式·后端·缓存
David爱编程1 小时前
线程调度策略详解:时间片轮转 vs 优先级机制,面试常考!
java·后端
码事漫谈2 小时前
C++继承中的虚函数机制:从单继承到多继承的深度解析
后端
阿冲Runner2 小时前
创建一个生产可用的线程池
java·后端
写bug写bug2 小时前
你真的会用枚举吗
java·后端·设计模式
喵手3 小时前
如何利用Java的Stream API提高代码的简洁度和效率?
java·后端·java ee
掘金码甲哥3 小时前
全网最全的跨域资源共享CORS方案分析
后端
m0_480502643 小时前
Rust 入门 生命周期-next2 (十九)
开发语言·后端·rust
张醒言3 小时前
Protocol Buffers 中 optional 关键字的发展史
后端·rpc·protobuf