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

374 阅读3分钟

如果你是一位 Ubuntu 用户或系统管理员,可能会发现不同版本的 Ubuntu 在配置网络静态 IP 的方式上有所不同。特别是从早期的版本升级到最新的 Ubuntu 24 LTS (Noble Numbat) 后,这种变化更加明显。

演进概览:一图看懂配置方式变化

从 Ubuntu 17.10 开始,Netplan 就逐渐取代了传统的 /etc/network/interfaces 文件方式,成为默认的网络配置工具。

flowchart TD
    A[Ubuntu 网络配置方式演进] --> B["Ubuntu 20.04 LTS<br>过渡与并存期"]
    A --> C["Ubuntu 22.04 LTS<br>Netplan 稳定期"]
    A --> D["Ubuntu 24.04 LTS<br>Netplan 强化与云集成期"]

    B --> B1["主要使用 Netplan<br>(默认渲染器 networkd 或 NetworkManager)"]
    B --> B2["备用:ifupdown<br>(/etc/network/interfaces)"]

    C --> C1["全面普及 Netplan<br>成为绝对标准"]
    C --> C2["淘汰 ifupdown<br>默认未安装"]

    D --> D1["继续强化 Netplan<br>为云优化"]
    D --> D2["NetworkManager<br>作为默认渲染器更常见"]
    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. 修改步骤

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

    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. 应用配置

    # 测试并应用配置(有确认等待)
    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/ 下的配置文件

服务器用户(直接编辑配置文件)

sudo nano /etc/netplan/00-installer-config.yaml

配置内容与之前版本相同,应用配置仍使用:

sudo netplan apply

版本对比总结

特性Ubuntu 20.04Ubuntu 22.04Ubuntu 24.04说明
配置工具Netplan (主流)Netplan (标准)Netplan (唯一标准)20.04 是过渡期
传统方式ifupdown (可能已安装)ifupdown (默认未安装)ifupdown (默认未安装)24.04 彻底告别旧方式
配置文件/etc/netplan/*.yaml/etc/netplan/*.yaml/etc/netplan/*.yaml核心方式不变
应用命令netplan applynetplan applynetplan apply核心方式不变
渲染器networkdNetworkManagernetworkdNetworkManagernetworkdNetworkManager取决于安装类型
云集成更强24.04 需注意 cloud-init 的影响
桌面版推荐Netplan 文件或 GUINetplan 文件或 GUIGUI (设置应用)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 在应用前验证配置语法,防止配置错误导致网络断开