如果你是一位 Ubuntu 用户或系统管理员,可能会发现不同版本的 Ubuntu 在配置网络静态 IP 的方式上有所不同。特别是从早期的版本升级到最新的 Ubuntu 24 LTS (Noble Numbat) 后,这种变化更加明显。
演进概览:一图看懂配置方式变化
从 Ubuntu 17.10 开始,Netplan 就逐渐取代了传统的 /etc/network/interfaces
文件方式,成为默认的网络配置工具。
flowchart TD
A[Ubuntu 网络配置方式演进] --> B["Ubuntu 20.04 LTS
过渡与并存期"] A --> C["Ubuntu 22.04 LTS
Netplan 稳定期"] A --> D["Ubuntu 24.04 LTS
Netplan 强化与云集成期"] B --> B1["主要使用 Netplan
(默认渲染器 networkd 或 NetworkManager)"] B --> B2["备用:ifupdown
(/etc/network/interfaces)"] C --> C1["全面普及 Netplan
成为绝对标准"] C --> C2["淘汰 ifupdown
默认未安装"] D --> D1["继续强化 Netplan
为云优化"] D --> D2["NetworkManager
作为默认渲染器更常见"] D --> D3["彻底告别 ifupdown"] B2 -.->|逐渐废弃| C2 C2 -.->|彻底淘汰| D3
过渡与并存期"] A --> C["Ubuntu 22.04 LTS
Netplan 稳定期"] A --> D["Ubuntu 24.04 LTS
Netplan 强化与云集成期"] B --> B1["主要使用 Netplan
(默认渲染器 networkd 或 NetworkManager)"] B --> B2["备用:ifupdown
(/etc/network/interfaces)"] C --> C1["全面普及 Netplan
成为绝对标准"] C --> C2["淘汰 ifupdown
默认未安装"] D --> D1["继续强化 Netplan
为云优化"] D --> D2["NetworkManager
作为默认渲染器更常见"] D --> D3["彻底告别 ifupdown"] B2 -.->|逐渐废弃| C2 C2 -.->|彻底淘汰| D3
Ubuntu 20.04 & 22.04:Netplan 的引入与确立
配置方式
这两版本标志着 Netplan 的过渡和确立期,配置方式非常相似。
-
配置文件位置 :Netplan 配置文件位于
/etc/netplan/
目录下,通常命名为:01-netcfg.yaml
00-installer-config.yaml
(Ubuntu Server 安装程序生成)01-network-manager-all.yaml
(Ubuntu Desktop 安装程序生成)
-
修改步骤:
bash# 使用 sudo 权限编辑配置文件 sudo nano /etc/netplan/00-installer-config.yaml # 或 sudo nano /etc/netplan/01-network-manager-all.yaml
-
配置示例:
yamlnetwork: version: 2 renderer: networkd # Server 版常用。Desktop 版常用 NetworkManager ethernets: ens33: # 网卡名称,请使用 `ip a` 命令查看实际名称 dhcp4: no # 禁用 IPv4 DHCP dhcp6: no # 禁用 IPv6 DHCP addresses: [192.168.1.100/24] # 静态 IP 地址和子网掩码 routes: - to: default via: 192.168.1.1 # 默认网关 nameservers: addresses: [8.8.8.8, 1.1.1.1] # DNS 服务器
渲染器 (Renderer) 说明:
networkd
:通常用于服务器版,由 systemd-networkd 管理网络NetworkManager
:通常用于桌面版,提供图形界面支持
-
应用配置:
bash# 测试并应用配置(有确认等待) sudo netplan try # 或直接应用配置 sudo netplan apply
版本间差异
- Ubuntu 20.04 :处于过渡期,可能还保留了
ifupdown
包,两种方式并存 - Ubuntu 22.04 :Netplan 已成为绝对标准,
ifupdown
默认未安装
Ubuntu 24.04 LTS:Netplan 的强化与云集成
24.04 版本继续使用 Netplan 作为核心配置工具,但有一些重要变化和优化。
核心变化
-
彻底告别 ifupdown :传统配置方式所需的
ifupdown
包默认不再安装,Netplan 成为唯一推荐的配置方式 -
强化的云集成 :更深入地集成了
cloud-init
,特别是在云镜像和服务器安装中:- 初始网络配置可能由
cloud-init
生成 - 修改由
cloud-init
管理的配置时,可能需要调整/etc/cloud/cloud.cfg.d/
下的设置 - 避免配置被覆盖,可能需要禁用
cloud-init
对网络的管理
- 初始网络配置可能由
-
桌面版优化:默认使用 NetworkManager 作为渲染器,图形界面操作更加成熟稳定
配置方法
桌面用户(推荐使用 GUI)
- 打开"设置" → "网络"
- 点击齿轮图标进入有线连接设置
- 在"IPv4"或"IPv6"选项卡中,将方法改为"手动"
- 填写地址、网关、DNS等信息
- 应用更改
注意 :图形界面实际上是在后台修改 /etc/netplan/
下的配置文件
服务器用户(直接编辑配置文件)
bash
sudo nano /etc/netplan/00-installer-config.yaml
配置内容与之前版本相同,应用配置仍使用:
bash
sudo netplan apply
版本对比总结
特性 | Ubuntu 20.04 | Ubuntu 22.04 | Ubuntu 24.04 | 说明 |
---|---|---|---|---|
配置工具 | Netplan (主流) | Netplan (标准) | Netplan (唯一标准) | 20.04 是过渡期 |
传统方式 | ifupdown (可能已安装) |
ifupdown (默认未安装) |
ifupdown (默认未安装) |
24.04 彻底告别旧方式 |
配置文件 | /etc/netplan/*.yaml |
/etc/netplan/*.yaml |
/etc/netplan/*.yaml |
核心方式不变 |
应用命令 | netplan apply |
netplan apply |
netplan apply |
核心方式不变 |
渲染器 | networkd 或 NetworkManager |
networkd 或 NetworkManager |
networkd 或 NetworkManager |
取决于安装类型 |
云集成 | 有 | 有 | 更强 | 24.04 需注意 cloud-init 的影响 |
桌面版推荐 | Netplan 文件或 GUI | Netplan 文件或 GUI | GUI (设置应用) | 24.04 图形界面更成熟 |
实践建议
- 桌面用户 :优先使用图形界面(Settings → Network)修改 IP 地址,简单且不易出错
- 服务器用户 :继续编辑
/etc/netplan/
下的 YAML 文件,然后运行sudo netplan apply
- 云服务器用户 :在 24.04 上特别注意
cloud-init
的配置,避免修改被覆盖 - 通用提示 :
- 使用
ip a
或nmcli device
命令确认正确的网络接口名称 - 修改前备份原始配置文件:
sudo cp /etc/netplan/config.yaml /etc/netplan/config.yaml.bak
- 使用
sudo netplan try
在应用前验证配置语法,防止配置错误导致网络断开
- 使用