前言

本文主要介绍命令行固定静态 IP 的方法,GUI 不在讨论范围内。

概念科普

NetPlan

在 Netplan 出现之前,不同的 Linux 发行版使用不同的网络配置方法,例如:

  • Debian/Ubuntu(旧版)/etc/network/interfaces 文件
  • Red Hat/CentOS/etc/sysconfig/network-scripts/ 目录下的文件
  • Arch Linux: 各种自定义脚本或工具
  • Systemd 系列systemd-networkd 的 .network 文件

这种混乱的局面使得为不同的发行版维护网络配置变得复杂,尤其是在云环境和服务器农场中。

Netplan 的目标是统一和简化这个过程,它提供了一个统一的配置接口:无论底层用的是 systemd-networkd 还是 NetworkManager,你都可以用同一种语法(YAML)来配置网络。

教学

确定网口名

获取网口:

ip link show

输出类似如下内容:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether bc:24:11:40:1d:ed brd ff:ff:ff:ff:ff:ff
    altname enp0s18

可以看到网卡名称是 ens18

修改 Netplan 配置文件

移动到 Netplan 目录:

cd /etc/netplan

列出所有文件:

ls

本文输出如下内容:

50-cloud-init.yaml

那么就编辑 50-cloud-init.yaml 这个文件:

sudo nano 50-cloud-init.yaml
# 也可以换成 vim 或者其它你顺手的编辑工具,或是 SFTP

修改示例:

network:
    renderer: networkd
    ethernets:
        ens18: # 替换为你的网络接口名称
            dhcp4: false # 关闭 DHCP
            dhcp6: false # 关闭 DHCP
            addresses: [192.168.10.200/24] # 静态 IP 地址和子网掩码
            routes:
              - to: default
                via: 192.168.10.1 # 网关地址,大部分情况下是你的路由器地址
            nameservers:
                addresses: [192.168.10.1] # DNS 服务器地址,可以是你的网关地址
                search: []
    version: 2

保存文件后,执行 reboot 重启机器或是执行 sudo netplan apply 应用网络设置。再使用 ifconfig 就可以查看 IP 是否已经被应用了。

版权申明

  • reward_image1
此作者没有提供个人介绍。
最后更新于 2025-12-13