Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Ubuntu修改局域网IP地址(Netplan)

Ubuntu实现修改局域网IP地址(Netplan)

作者:黑风风

这篇文章主要介绍了Ubuntu实现修改局域网IP地址(Netplan),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

在服务器或虚拟机环境中,我们通常需要为 Ubuntu 设置固定的局域网 IP,例如从 192.168.100.142 调整为 192.168.100.151,以便用于 Docker、NAS、数据库、反向代理等长期运行的服务。

一、Ubuntu 当前使用的网络配置体系

Ubuntu 18.04 开始,系统默认使用 Netplan 作为网络配置抽象层:

配置文件位于:/etc/netplan/*.yaml

Netplan 会生成底层的:

只要你看到 .yaml 文件,说明你使用的就是 Netplan。

ls /etc/netplan

常见文件名例如:

00-installer-config.yaml
50-cloud-init.yaml

二、确认当前网卡名称(非常重要)

在修改 IP 之前,必须确认真实的网卡名:

ip addr

你会看到类似输出:

2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP>
    inet 192.168.100.142/24

本文示例统一使用 ens18,请以你的实际网卡名为准。

三、传统写法的问题:gateway4 已被废弃

很多旧教程仍然使用:

gateway4: 192.168.100.1

在较新的 Netplan 版本中,这一写法会出现警告:

gateway4 is deprecated

为什么会被废弃?

原因并不是“不能用”,而是 设计升级

gateway4 只能描述“一个默认网关”

无法支持:

Netplan 正在统一使用 显式路由模型

四、正确、推荐、无警告的写法(重点)

下面是 官方推荐、未来长期有效 的配置方式。

示例:将 IP 改为192.168.100.151

network:
  version: 2
  ethernets:
    ens18:
      dhcp4: false
      addresses:
        - 192.168.100.151/24
      routes:
        - to: default
          via: 192.168.100.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 114.114.114.114

关键字段说明

addresses

routes

nameservers

五、远程 SSH 环境下的安全应用方式

如果你是通过 SSH 连接服务器,不要直接 netplan apply

推荐使用

sudo netplan try

特性:

确认网络正常后,按提示回车即可。

六、验证是否配置成功

查看 IP

ip addr show ens18

查看默认路由

ip route

应看到:

default via 192.168.100.1 dev ens18

七、常见踩坑点汇总

1. IP 冲突

修改前请确认目标 IP 未被占用:

ping 192.168.100.151

2. YAML 缩进错误

3. cloud-init 覆盖配置

如果存在 50-cloud-init.yaml,需确认 cloud-init 是否会在重启时重写网络配置。

参考资料:

1.Netplan 官方文档(Canonical)

2.Netplan 路由配置说明(Default Route / routes)

3.Ubuntu Server 网络配置文档

4.systemd-networkd 文档(Netplan 底层实现之一)

5.cloud-init 网络配置说明

九、总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文