Ubuntu 26.04配置静态IP地址的方法步骤

 更新时间:2026年08月05日 08:43:53   作者:wsad0532  
本教程手把手教你用Netplan配置静态IP地址,告别DHCP不稳定,详细步骤从备份到验证,轻松掌握静态IP设置,避免gateway4已弃用报错,确保你的服务器、NAS或数据库拥有固定网络标识,需要的朋友可以参考下

本教程将指导你将 Ubuntu 26.04 服务器的网络从 DHCP(动态分配)切换为静态 IP 地址。配置静态 IP 可以确保服务器拥有固定地址,避免因 DHCP 租约过期或重启导致的 IP 变动,特别适合服务器、数据库、NAS 等需要稳定网络标识的场景。

适用环境:Ubuntu 26.04 LTS (Resolute Raccoon) / 使用 Netplan 网络管理工具
本例配置:IP 地址 192.168.6.102 / 子网掩码 255.255.255.0/24)/ 网关 192.168.6.2 / DNS 114.114.114.114, 8.8.8.8

一键配置脚本(整体执行)

如果你追求效率,可以直接以 root 权限执行以下脚本。它会自动检测网卡、备份配置、写入静态 IP 设置并应用。

#!/bin/bash
# =============================================
# Ubuntu 26.04 静态 IP 一键配置脚本
# 功能:配置静态 IP 192.168.6.102/24,网关 192.168.6.2
# =============================================

set -e  # 遇到错误立即退出

echo "🚀 开始配置静态 IP 地址..."

# 1. 自动检测网卡名称
INTERFACE=$(ip route | grep default | awk '{print $5}' | head -1)

if [ -z "$INTERFACE" ]; then
    echo "❌ 错误:无法自动检测网卡名称,请手动指定"
    echo "  执行 ip a 查看网卡名称,然后修改脚本中的 INTERFACE 变量"
    exit 1
fi
echo "✅ 检测到网卡: $INTERFACE"

# 2. 备份现有 Netplan 配置
echo "📁 备份现有配置..."
sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak 2>/dev/null || echo "⚠️ 未找到现有配置文件,跳过备份"

# 3. 写入新的静态 IP 配置
echo "📝 写入静态 IP 配置..."
sudo tee /etc/netplan/01-netcfg.yaml > /dev/null <<EOF
network:
  version: 2
  renderer: networkd
  ethernets:
    $INTERFACE:
      dhcp4: false
      addresses:
        - 192.168.6.102/24
      routes:
        - to: default
          via: 192.168.6.2
      nameservers:
        addresses:
          - 114.114.114.114
          - 8.8.8.8
EOF

# 4. 设置正确的文件权限
sudo chmod 600 /etc/netplan/01-netcfg.yaml

# 5. 测试并应用配置
echo "🔍 测试配置..."
if sudo netplan try --timeout 5; then
    echo "✅ 配置测试通过"
else
    echo "❌ 配置测试失败,正在恢复备份..."
    sudo cp /etc/netplan/01-netcfg.yaml.bak /etc/netplan/01-netcfg.yaml 2>/dev/null || true
    sudo netplan apply
    exit 1
fi

# 6. 应用配置
echo "🔄 应用网络配置..."
sudo netplan apply

# 7. 显示配置结果
echo ""
echo "=========================================="
echo "✅ 静态 IP 配置完成!"
echo "=========================================="
echo "📌 网卡: $INTERFACE"
echo "📌 IP 地址: 192.168.6.102/24"
echo "📌 网关: 192.168.6.2"
echo "📌 DNS: 114.114.114.114, 8.8.8.8"
echo ""
echo "📌 验证命令:"
echo "  ip addr show $INTERFACE"
echo "  ip route | grep default"
echo "  ping -c 3 114.114.114.114"
echo "=========================================="

分步详解

第一步:理解 Netplan 网络管理工具

Ubuntu 26.04 使用 Netplan 作为默认的网络配置工具。它是一个基于 YAML 的配置抽象层,可以将配置渲染为 networkdNetworkManager 的后端配置。

Netplan 配置文件位置

  • /etc/netplan/ 目录下的 .yaml 文件
  • 常见文件名:01-netcfg.yaml50-cloud-init.yaml01-network-manager-all.yaml

Netplan 的 YAML 格式要求

  • 缩进必须使用空格,不可使用 Tab
  • 键值对使用 : 分隔
  • 数组使用 - 标识

第二步:查看当前网络状态

在配置之前,先了解当前的网络状态:

# 1. 查看所有网卡和 IP 地址
ip a

# 2. 查看当前路由表
ip route

# 3. 查看当前 DNS 配置
cat /etc/resolv.conf

输出示例

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:c1:96:2c brd ff:ff:ff:ff:ff:ff
    inet 192.168.6.101/24 brd 192.168.6.255 scope global dynamic ens33
       valid_lft 86385sec preferred_lft 86385sec

从输出中可以看到:

  • 网卡名称ens33(也可能是 eth0enp0s3 等)
  • 当前 IP192.168.6.101/24(动态分配)
  • 状态state UP(已启用)

第三步:找到你的网卡名称

在配置中,你需要指定正确的网卡名称。使用以下命令之一查看:

# 方法1:使用 ip 命令
ip a | grep -E "^[0-9]+:" | awk '{print $2}' | sed 's/://g'

# 方法2:列出 /sys/class/net 目录
ls /sys/class/net/

# 方法3:查看连接状态(最直观)
ip link show | grep -E "^[0-9]+:" | grep UP

常见网卡名称

类型名称示例
传统命名eth0eth1
可预测命名(PCIe)enp0s3enp2s1
可预测命名(虚拟机)ens33ens37

本文示例使用 ens33,请替换为你的实际网卡名称。

第四步:备份当前 Netplan 配置

修改前务必备份,以便出错时恢复:

sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak

如果文件不存在(比如使用默认配置),可以跳过这一步。

第五步:编辑 Netplan 配置文件

使用 vimnano 编辑配置文件:

sudo vim /etc/netplan/01-netcfg.yaml

或使用 nano(更简单):

sudo nano /etc/netplan/01-netcfg.yaml

第六步:写入静态 IP 配置

将以下内容粘贴到文件中(注意:将 ens33 替换为你的实际网卡名称):

network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:                     # ⚠️ 替换为你的实际网卡名
      dhcp4: false             # 关闭 DHCP(禁用动态 IP)
      addresses:
        - 192.168.6.102/24     # 静态 IP 地址 / 子网掩码(/24 = 255.255.255.0)
      routes:                  # 【重要】新版格式,替代弃用的 gateway4
        - to: default          # 默认路由
          via: 192.168.6.2     # 网关地址
      nameservers:             # DNS 服务器配置
        addresses:
          - 114.114.114.114    # 国内通用 DNS(主)
          - 8.8.8.8            # Google DNS(备用)

配置项详解

字段含义本例值说明
version: 2Netplan 配置版本2固定值,不可修改
renderer后端渲染引擎networkd服务器推荐,桌面版可用 NetworkManager
ethernets以太网配置块--
dhcp4: false关闭 IPv4 DHCPfalse启用静态 IP 必须设为 false
addressesIP 地址和子网掩码192.168.6.102/24/24 = 255.255.255.0(254个可用IP)
routes路由配置-新版格式,替代 gateway4
to: default目标地址(默认路由)default表示所有外部流量
via网关地址192.168.6.2网络出口设备地址
nameserversDNS 服务器列表--

重要提醒:Ubuntu 26.04 的 Netplan 已弃用 gateway4 字段,必须使用 routes 格式,否则会报错 gateway4 has been deprecated

子网掩码对照表

CIDR子网掩码可用 IP 数
/24255.255.255.0254
/25255.255.255.128126
/26255.255.255.19262
/16255.255.0.065,534

第七步:设置正确的文件权限

Netplan 要求配置文件仅 root 用户可读写:

sudo chmod 600 /etc/netplan/01-netcfg.yaml

600 表示 -rw-------,即只有所有者(root)有读写权限。

第八步:测试配置(安全验证)

在正式应用前,先测试配置是否正确:

sudo netplan try

执行效果

  • 系统会尝试应用配置,并等待 60 秒
  • 如果 60 秒内没有确认,配置会自动回滚
  • Enter 确认,配置正式生效
Do you want to keep these settings?

Press ENTER before the timeout to accept the new configuration

Changes will revert in 112 seconds
Configuration accepted.

为什么使用 netplan try:如果配置错误(比如 IP 和网关不在同一网段),系统会在 60 秒后自动回滚,避免因配置错误导致无法连接服务器。

第九步:应用配置

如果 netplan try 测试通过,或者你确定配置正确,可以直接应用:

sudo netplan apply

第十步:验证配置是否生效

# 1. 检查 IP 地址是否已更新
ip addr show ens33 | grep inet

# 2. 检查默认网关是否正确
ip route | grep default

# 3. 测试外网连通性
ping -c 3 114.114.114.114

# 4. 测试 DNS 解析
nslookup mirrors.aliyun.com

# 5. 查看完整的网络状态
ip a

成功标志

inet 192.168.6.102/24 brd 192.168.6.255 scope global ens33
default via 192.168.6.2 dev ens33 proto static
64 bytes from 114.114.114.114: icmp_seq=1 ttl=128 time=0.949 ms

常见问题与解决方案

1.netplan apply报错 “gateway4 has been deprecated”

原因:旧版配置使用了 gateway4 字段,Ubuntu 26.04 已弃用。

解决:改用 routes 格式:

routes:
  - to: default
    via: 192.168.6.2

删除原有的 gateway4 行。

2. 配置静态 IP 后无法 ping 通外网

排查流程

# 1. 检查默认网关是否配置正确
ip route | grep default
# 应显示:default via 192.168.6.2 dev ens33

# 2. 检查网关本身是否可达
ping -c 2 192.168.6.2

# 3. 检查 DNS 配置
cat /etc/resolv.conf

# 4. 检查是否有多个默认网关冲突
ip route | grep "^default"
# 如果有两行,删除多余的网关:sudo ip route del default via 错误的网关

3.netplan apply报错 “Conflicting default route declarations”

原因:Netplan 配置中存在多个网关定义(比如同时有 gateway4routes)。

解决:确保配置中只有一个网关定义,删除 gateway4 行,只保留 routes 部分。

4. 配置后 SSH 连接断开

原因:修改了 IP 地址,旧 IP 不再可用。

解决

  • 使用新 IP 重新连接:ssh 用户名@192.168.6.102
  • 如果无法连接,通过服务器本地终端(或 IPMI/KVM)检查配置

5. 网卡名称不对(如实际是 eth0 但配置写的是 ens33)

解决

# 查看实际网卡名称
ip a

# 修改配置文件中的网卡名称
sudo vim /etc/netplan/01-netcfg.yaml
# 将 ens33 改为实际的名称(如 eth0)

# 重新应用
sudo netplan apply

6. 如何恢复到 DHCP(自动获取 IP)?

# 1. 编辑配置文件
sudo vim /etc/netplan/01-netcfg.yaml
# 2. 修改为:
network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: true      # 开启 DHCP
      # 删除 addresses、routes、nameservers 部分
# 3. 应用配置
sudo netplan apply

配置校验清单

检查项命令预期结果
IP 地址ip a show ens33包含 192.168.6.102/24
默认网关ip route | grep defaultdefault via 192.168.6.2 dev ens33
网关可达ping -c 2 192.168.6.20% 丢包
外网连通ping -c 3 114.114.114.1140% 丢包
DNS 解析nslookup mirrors.aliyun.com返回 IP 地址

总结

通过本文,你应该已经掌握了:

  1. Netplan 基础:Ubuntu 26.04 的网络配置工具及其 YAML 格式要求。
  2. 静态 IP 配置:使用 routes 格式替代已弃用的 gateway4
  3. 配置步骤:查看网卡 → 备份 → 编辑 → 测试 → 应用 → 验证。
  4. 问题排查:常见报错及解决方案。

下一步:配置好静态 IP 后,建议配置阿里云镜像源,加速软件安装;或安装 Docker CE,搭建容器化环境。

以上就是Ubuntu 26.04配置静态IP地址的方法步骤的详细内容,更多关于Ubuntu 26.04配置静态IP地址的资料请关注脚本之家其它相关文章!

相关文章

  • Apache Pulsar集群搭建部署详细过程

    Apache Pulsar集群搭建部署详细过程

    这篇文章主要介绍了Apache Pulsar集群搭建过程,搭建Pulsar集群至少需要3个组件:ZooKeeper集群、BookKeeper集群和Broker集群,本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-02-02
  • Linux命令之mkdir 和 touch详解

    Linux命令之mkdir 和 touch详解

    这篇文章要讲的是两个命令,mkdir 和 touch 命令。前一个命令是操作目录的,后一个命令是操作文件的,文中介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • linux如何通过crontab命令定时执行shell脚本

    linux如何通过crontab命令定时执行shell脚本

    为保障网安测试活动的顺利进行,需要设置Linux服务器上服务的定时启停,本文介绍了通过crontab实现服务定时启停的方法,包括检查crontab安装、编写启停脚本、创建定时任务、日志记录,以及问题解决方案,通过crontab-e命令编辑定时任务
    2024-10-10
  • Linux服务器修改密码的最佳实践指南

    Linux服务器修改密码的最佳实践指南

    本文介绍了Linux服务器中密码管理的各种方法,包括修改当前用户密码、批量修改密码、配置密码策略等,同时提供了自动化脚本和安全最佳实践,帮助系统管理员更好地管理服务器密码安全,感兴趣的朋友跟随小编一起看看吧
    2026-04-04
  • Linux中使用top命令的技巧

    Linux中使用top命令的技巧

    今天小编就为大家分享一篇关于Linux中使用top命令的技巧,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-09-09
  • 在ubuntu下查看显卡驱动是否已经成功安装的方法

    在ubuntu下查看显卡驱动是否已经成功安装的方法

    今天小编就为大家分享一篇在ubuntu下查看显卡驱动是否已经成功安装的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • linux系统下使用tcpdump进行抓包方法

    linux系统下使用tcpdump进行抓包方法

    在本篇文章中小编给大家分享了关于linux系统下使用tcpdump进行抓包的方法和相关知识点,需要的朋友们学习下。
    2019-04-04
  • Linux系统下快速配置HugePages的完整步骤

    Linux系统下快速配置HugePages的完整步骤

    这篇文章主要给大家介绍了关于如何在Linux系统下快速配置HugePages的完整步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • Apache ShardingSphere简介及使用详解

    Apache ShardingSphere简介及使用详解

    Apache ShardingSphere 是一款开源的分布式数据库生态系统,主要用于实现数据库的分片、读写分离和全链路压测等功能,下面给大家介绍Apache ShardingSphere 初识使用,感兴趣的朋友跟随小编一起看看吧
    2025-08-08
  • 在Linux中禁用IPv6的方法详解

    在Linux中禁用IPv6的方法详解

    IPv6是IPv4的下一代协议,随着IPv4地址枯竭的临近,IPv6作为其替代方案被广泛引入,尽管IPv6带来了许多安全增强功能,但在某些情况下,管理员可能希望禁用IPv6以减少网络攻击面,所以本文给大家介绍了如何在 Linux 中禁用 IPv6,需要的朋友可以参考下
    2024-05-05

最新评论