当前位置: 代码网 > it编程>游戏开发>ar > Ubuntu 26.04配置静态IP地址的方法步骤

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

2026年08月05日 ar 我要评论
本教程将指导你将 ubuntu 26.04 服务器的网络从 dhcp(动态分配)切换为静态 ip 地址。配置静态 ip 可以确保服务器拥有固定地址,避免因 dhcp 租约过期或重启导致的 ip 变动,

本教程将指导你将 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地址的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com