Ubuntu24.04从DHCP改为静态IP

最近在鼓捣一台内网的 Ubuntu Server 24.04 的机器。以前主要用来测试,安装的时候为了省事打开了DHCP让路由器自动分配。现在要用来跑一些服务,担心路由器会重新分配IP,于是打算改为手动指定IP。

如果是桌面版Ubuntu很简单,直接进设置里修改即可。不过对于Ubuntu Server,20.04/22.04/24.04 使用了 netplan 来管理网口,操作和其他大部分 Linux 不一样了,顺手写篇文章做下记录。

准备工作

进入终端或者用SSH远程连接。修改之前,先用以下命令查一下网口的名称。

ip link show

每个数字序号后面就网口的名称,其中第一个名叫 lo 的是本地回环设备,从第二个开始找。大多数机器只会有一个可用的网口(如下图),找到后复制名称出来备用。

备注:如果系统提示缺少 ip 命令,可能是在装系统的按最小模式安装的,用以下命令补充安装网络工具包:

sudo apt install net-tools

修改网口配置

先找到配置文件的目录

cd /etc/netplan && ls -l

如果没有调整过网络配置,正常情况下目录里只会有一个文件。注意在不同系统版本中的文件名会不一样(比如截图中的是Ubuntu 24.04 下文件名为 50-cloud-init.yaml),但一般是以 -init.yaml 结尾。

打开并编辑这个文件,比如: nano 50-cloud-init.yaml

这是一个YAML格式的文件,默认内容如下:

# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        enp6s18:
            dhcp4: true
    version: 2

ethernets 的下一层级就是每个网口对应的网络配置。

找到前面用命令查出来网口(比如这里是 enp6s18),调整里面的内容。参考如下(#号后面是注释说明):

network:
    ethernets:
        enp6s18:
            dhcp4: false
            # dhcp6: false # 禁用IPv6 DHCP自动分配
            # mtu: 1500    # 修改 MTU 帧大小
            addresses:
                - 192.168.1.181/24 # 静态 IP 地址和子网掩码
            routes:
                - to: default
                  via: 192.168.1.1 # 网关地址
            nameservers:
                addresses:
                    - 8.8.8.8 # DNS 服务器地址
                    - 8.8.4.4
    version: 2

其中:

dhcp4 表示IPv4 DHCP自动分配开关,true 启用 / false 禁用。因为要把系统改为静态IP,所以得设为 false

dhcp6 一项是IPv6自动分配。同理,如果有需要可以加上。

addresses 下配置的就是静态IP地址了(注意一定要加上掩码)。这一项是数组,可以配置多个静态地址。(备注:YAML中每行前面的 - (减号和空格)用来表示数组中的一项)。

routes 部分用于配置路由。网关(一般是路由器)地址也是在这项里面设置,属于固定写法。

nameservers.addresses 则是配置DNS服务的地址。可以配置多项(即其他系统中的主、备DNS),但至少要配置一项。按自己的需要填写,比如示例中给的这两DNS服务地址是 Google 的服务。

另外还有一项 mtu 用于修改网络帧大小,没有特殊需要也可以不配置,让系统用默认值。

其他的部分保持和原文件一样,不作修改即可。

保存后运行以下命令应用:

sudo netplan apply

稍等一会,当修改生效后,网络会断开一次。

当然,直接重启系统也可以。

验证

用SSH重新连接新的地址。输入 ip addr show 检查一下对应的网口,一切正常的话就会看到该网口下只有新的IP了。

除特别注明外,本站内容皆为 咸鱼先锋 原创,可自由引用,但请注明来源和链接。
https://xyuxf.com/archives/2313
欢迎关注 咸鱼先锋 (微信号公众号:xyuxf),获取干货推送
THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录