Ubuntu 网络配置演进:从 20.04 到 24.04 的静态 IP 设置指南

如果你是一位 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

Ubuntu 20.04 & 22.04:Netplan 的引入与确立

配置方式

这两版本标志着 Netplan 的过渡和确立期,配置方式非常相似。

  1. 配置文件位置 :Netplan 配置文件位于 /etc/netplan/ 目录下,通常命名为:

    • 01-netcfg.yaml
    • 00-installer-config.yaml (Ubuntu Server 安装程序生成)
    • 01-network-manager-all.yaml (Ubuntu Desktop 安装程序生成)
  2. 修改步骤

    bash 复制代码
    # 使用 sudo 权限编辑配置文件
    sudo nano /etc/netplan/00-installer-config.yaml
    # 或
    sudo nano /etc/netplan/01-network-manager-all.yaml
  3. 配置示例

    yaml 复制代码
    network:
      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:通常用于桌面版,提供图形界面支持
  4. 应用配置

    bash 复制代码
    # 测试并应用配置(有确认等待)
    sudo netplan try
    # 或直接应用配置
    sudo netplan apply

版本间差异

  • Ubuntu 20.04 :处于过渡期,可能还保留了 ifupdown 包,两种方式并存
  • Ubuntu 22.04 :Netplan 已成为绝对标准,ifupdown 默认未安装

Ubuntu 24.04 LTS:Netplan 的强化与云集成

24.04 版本继续使用 Netplan 作为核心配置工具,但有一些重要变化和优化。

核心变化

  1. 彻底告别 ifupdown :传统配置方式所需的 ifupdown默认不再安装,Netplan 成为唯一推荐的配置方式

  2. 强化的云集成 :更深入地集成了 cloud-init,特别是在云镜像和服务器安装中:

    • 初始网络配置可能由 cloud-init 生成
    • 修改由 cloud-init 管理的配置时,可能需要调整 /etc/cloud/cloud.cfg.d/ 下的设置
    • 避免配置被覆盖,可能需要禁用 cloud-init 对网络的管理
  3. 桌面版优化:默认使用 NetworkManager 作为渲染器,图形界面操作更加成熟稳定

配置方法

桌面用户(推荐使用 GUI)

  1. 打开"设置" → "网络"
  2. 点击齿轮图标进入有线连接设置
  3. 在"IPv4"或"IPv6"选项卡中,将方法改为"手动"
  4. 填写地址、网关、DNS等信息
  5. 应用更改

注意 :图形界面实际上是在后台修改 /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 核心方式不变
渲染器 networkdNetworkManager networkdNetworkManager networkdNetworkManager 取决于安装类型
云集成 更强 24.04 需注意 cloud-init 的影响
桌面版推荐 Netplan 文件或 GUI Netplan 文件或 GUI GUI (设置应用) 24.04 图形界面更成熟

实践建议

  1. 桌面用户 :优先使用图形界面(Settings → Network)修改 IP 地址,简单且不易出错
  2. 服务器用户 :继续编辑 /etc/netplan/ 下的 YAML 文件,然后运行 sudo netplan apply
  3. 云服务器用户 :在 24.04 上特别注意 cloud-init 的配置,避免修改被覆盖
  4. 通用提示
    • 使用 ip anmcli device 命令确认正确的网络接口名称
    • 修改前备份原始配置文件:sudo cp /etc/netplan/config.yaml /etc/netplan/config.yaml.bak
    • 使用 sudo netplan try 在应用前验证配置语法,防止配置错误导致网络断开
相关推荐
callJJ1 小时前
从 0 开始理解 Spring 的核心思想 —— IoC 和 DI(2)
java·开发语言·后端·spring·ioc·di
月殇_木言1 小时前
Linux 线程
linux
wangjialelele1 小时前
Linux中的线程
java·linux·jvm·c++
你的人类朋友3 小时前
JWT的组成
后端
2301_800050993 小时前
DNS 服务器
linux·运维·笔记
Lin_Aries_04213 小时前
容器化简单的 Java 应用程序
java·linux·运维·开发语言·docker·容器·rpc
SELSL4 小时前
SQLite3的API调用实战例子
linux·数据库·c++·sqlite3·sqlite实战
小牛马爱写博客4 小时前
DNS 服务器与 DHCP 服务器详解及配置指南
linux·运维·服务器·dns·dhcp
维尔切4 小时前
HAProxy 负载均衡器
linux·运维·数据库·负载均衡
什么半岛铁盒4 小时前
C++项目:仿muduo库高并发服务器-------Channel模块实现
linux·服务器·数据库·c++·mysql·ubuntu