当前位置:首页>Linux>别再被 Linux 网络配置搞懵!NetworkManager、systemd-networkd、Netplan 一篇吃透

别再被 Linux 网络配置搞懵!NetworkManager、systemd-networkd、Netplan 一篇吃透

  • 2026-08-27 15:51:29
别再被 Linux 网络配置搞懵!NetworkManager、systemd-networkd、Netplan 一篇吃透
正文内容Reading Time: 10 min
🚫 别再被 Linux 网络配置搞懵!
NetworkManager、systemd-networkd、Netplan 一篇吃透
用过 Linux 的同学,大概率都踩过网络配置的坑——
👉 明明都是配置 IP
👉 Fedora 上能用的方法,到 Ubuntu 上就失灵
👉 跟着教程输命令,轻则网络连不上
👉 重则越改越乱,最后只能 重启救急
其实问题根源很简单👇
不同 Linux 发行版,默认用的网络配置工具不一样。
我们常见的这三个:
•
NetworkManager
•
systemd-networkd
•
Netplan
它们不是“谁取代谁”,而是各自适配不同场景。
今天这篇,用最通俗的语言 + 可直接抄的实操示例,
一次性把它们讲清楚——新手也能稳稳上手。
◆ ◆ ◆
一、先搞懂:三个工具各自适配什么场景?
先给你一个结论版速览,防止越看越乱👇
🟢 NetworkManager
•
图形化友好
•
适合桌面系统
•
Fedora / CentOS / RHEL 系默认
👉 新手最友好
◆ ◆ ◆
🔵 systemd-networkd
•
轻量、高效
•
无图形依赖
•
适合服务器、云环境
👉 服务器首选
◆ ◆ ◆
🟡 Netplan
•
Ubuntu 专属
•
用 YAML 配置
•
自动对接 NetworkManager 或 networkd
👉 Ubuntu 新手神器
◆ ◆ ◆
📌 一句话记忆法:
桌面用 NetworkManager
服务器用 systemd-networkd
Ubuntu 想省事就用 Netplan
◆ ◆ ◆
二、逐个拆解:实操配置 + 核心文件
下面不讲废话,只讲你真能用上的东西:
👉 用在哪
👉 配置文件在哪
👉 怎么写
◆ ◆ ◆
1️⃣ NetworkManager:新手友好的“全能工具”
✅ 适用场景
•
Fedora
•
CentOS Stream
•
AlmaLinux / Rocky Linux 8
•
各类 Linux 桌面版
支持:
•
图形界面
•
命令行 nmcli
◆ ◆ ◆
✅ 核心配置文件
你只需要记住路径👇
① 全局配置
/etc/NetworkManager/NetworkManager.conf
② 连接配置文件
•
RHEL / CentOS 旧版
/etc/sysconfig/network-scripts/ifcfg-eth0
•
RHEL 9+ / Fedora
/etc/NetworkManager/system-connections/*.nmconnection
◆ ◆ ◆
✅ 实操示例(直接抄)
🧩 场景 1:静态 IP(eth0)
编辑文件:
/etc/sysconfig/network-scripts/ifcfg-eth0
内容👇
DEVICE=eth0BOOTPROTO=staticONBOOT=yesIPADDR=192.168.1.100PREFIX=24GATEWAY=192.168.1.1DNS1=8.8.8.8
◆ ◆ ◆
🧩 场景 2:DHCP 自动获取 IP
DEVICE=eth0BOOTPROTO=dhcpONBOOT=yes
◆ ◆ ◆
🧩 应用配置(必做)
sudo nmcli connection reloadsudo systemctl restart NetworkManager
◆ ◆ ◆
2️⃣ systemd-networkd:服务器党的最爱
✅ 适用场景
•
Arch Linux
•
Ubuntu Server
•
云服务器
•
无桌面环境
特点:
轻、稳、适合自动化
◆ ◆ ◆
✅ 核心配置规则
只记 3 点👇
•
文件后缀:.network
•
目录:/etc/systemd/network/
•
命名建议:05-eth0.network
◆ ◆ ◆
✅ 实操示例:静态 IP
编辑文件:
/etc/systemd/network/05-eth0.network
内容👇
[Match]Name=eth0[Network]DHCP=noAddress=192.0.2.123/24Gateway=192.0.2.1DNS=203.0.113.1 203.0.113.2
◆ ◆ ◆
🧩 应用配置
sudo systemctl restart systemd-networkd
◆ ◆ ◆
3️⃣ Netplan:Ubuntu 专属“懒人方案”
✅ 适用场景
•
Ubuntu 18.04+
•
桌面 / 服务器都行
你只写 YAML,
Netplan 帮你生成底层配置。
◆ ◆ ◆
✅ 核心配置文件
/etc/netplan/01-netcfg.yaml
⚠️ 注意:只能用空格,不能用 Tab
◆ ◆ ◆
✅ 实操示例
🧩 场景 1:DHCP
network:  version: 2  renderer: networkd  ethernets:    eth0:      dhcp4: yes      accept-ra: yes
◆ ◆ ◆
🧩 场景 2:静态 IP + 多 IP
network:  version: 2  ethernets:    eth0:      addresses:        - 192.0.2.17/24        - 192.0.2.18/24      routes:        - to: default          via: 192.0.2.1      nameservers:        addresses: [8.8.8.8, 8.8.4.4]
◆ ◆ ◆
🧩 应用配置
sudo netplan generatesudo netplan apply
◆ ◆ ◆
三、避坑必看(真的很重要)
⚠️ 1️⃣ 不要同时启用两个工具
•
只用 NetworkManager:
sudo systemctl disable --now systemd-networkd
•
只用 systemd-networkd:
sudo systemctl disable --now NetworkManager
◆ ◆ ◆
⚠️ 2️⃣ 配置格式别写错
•
Netplan:缩进只能用空格
•
networkd:[Match]、[Network] 拼写固定
•
ifcfg:
•
参数大写
•
等号两边不留空格
◆ ◆ ◆
⚠️ 3️⃣ 怎么选工具?
直接对号入座👇
| 场景                   | 工具               || -------------------- | ---------------- || 桌面 / Fedora / CentOS | NetworkManager   || 服务器 / 云主机            | systemd-networkd || Ubuntu 18.04+        | Netplan          |
◆ ◆ ◆
最后总结
Linux 网络配置真没那么可怕,
关键是别把工具搞混。
记住这三句话就够了👇
•
NetworkManager:新手友好
•
systemd-networkd:服务器利器
•
Netplan:Ubuntu 简化方案
把这篇收藏好,
下次配网络 直接照抄,
再也不用翻一堆零散教程了。
◆ ◆ ◆
💡 排查小技巧
•
查看网卡状态:ip addr
•
测试连通性:ping 8.8.8.8
THE END

最新文章

随机文章