Ubuntu22.04静态IP配置避坑指南:从gateway4报错到netplan正确配置

Ubuntu 22.04 静态IP配置深度解析:告别过时教程,掌握Netplan新范式

最近在给几台Ubuntu 22.04服务器做网络初始化,顺手想把静态IP配置好。本以为是个五分钟的活儿,结果一查资料,发现网上铺天盖地的教程还在教人用 gateway4 这个参数。照着做,netplan apply 命令一敲下去,直接给你弹个“deprecated”的警告,配置还不生效。这感觉就像你拿着去年的公交卡想刷今年的地铁闸机,系统认得你,但就是不让你过。

这种问题特别典型——Ubuntu的版本在快速迭代,网络管理工具也在更新,但很多技术文档的更新速度没跟上。对于需要在生产环境或者开发环境中稳定部署服务的工程师来说,一个错误的网络配置可能意味着服务无法访问、远程连接中断,排查起来又得花上不少时间。这篇文章,我就结合自己最近的实际操作,把Ubuntu 22.04(包括Jammy Jellyfish之后的版本)里配置静态IP的正确姿势常见陷阱以及背后的原理给你捋清楚。目标很简单:让你一次配置成功,并且明白为什么这么配。

1. 理解Netplan:Ubuntu网络配置的“新管家”

在深入操作之前,我们得先搞清楚对手是谁。从Ubuntu 17.10开始,Canonical引入了Netplan作为默认的网络配置工具,旨在替代传统的 /etc/network/interfaces 文件。它的设计哲学是声明式配置抽象后端

什么是声明式配置? 简单说,就是你只需要告诉系统“我想要什么样的网络状态”,而不是“一步一步该怎么操作”。在Netplan的YAML文件里,你定义网络接口、IP地址、网关、DNS,然后由Netplan去调用底层的渲染器(renderer)来生成具体的配置并应用。这比之前手动写一堆ifconfigroute add命令要清晰和可靠得多。

两个关键的后端渲染器:

  • networkd:使用 systemd-networkd 作为后端。这是服务器版(Server)和无图形界面环境的默认选择,轻量且高效。
  • NetworkManager:使用 NetworkManager 服务作为后端。这是桌面版(Desktop)的默认选择,因为它能更好地处理图形界面下的网络切换(比如有线/无线切换)。

你可以通过以下命令快速查看当前系统使用的渲染器:

cat /etc/netplan/*.yaml | grep renderer

通常,初始的配置文件位于 /etc/netplan/ 目录下,名字类似 00-installer-config.yaml01-network-manager-all.yaml。这个目录下的所有 .yaml 文件都会被Netplan读取并按字母顺序合并。

注意:一个常见的误解是认为必须修改某个特定的文件。实际上,Netplan会处理 /etc/netplan/ 下所有 .yaml 文件。你可以新建一个更靠前的文件(如 00-custom-config.yaml)来覆盖默认配置,这样在系统升级时,你的自定义配置更不容易被覆盖。

2. 核心配置实战:从“gateway4报错”到正确路由声明

现在我们来解决文章标题里的核心问题:为什么 gateway4 会报错,以及正确的配置方法是什么。

2.1 剖析“gateway4已废弃”的根源

如果你搜索“Ubuntu 静态IP配置”,大概率会看到下面这种格式的YAML配置片段:

network:
  version: 2
  renderer: networkd # 或 NetworkManager
  ethernets:
    ens33:
      addresses:
        - 192.168.1.100/24
      dhcp4: no
      dhcp6: no
      gateway4: 192.168.1.1 # <-- 问题就在这里!
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]

在Ubuntu 21.10及更早的版本中,这样写是没问题的。但从某个时间点开始(具体取决于Netp

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值