2025年3月

在使用 Armbian 系统时,默认情况下网络接口通常通过 DHCP 获取动态 IP 地址。然而,在某些场景下(如服务器部署、固定设备连接等),我们需要将 IP 地址设置为静态以确保网络配置的稳定性。本文将详细介绍如何在最新版的 Armbian 中完成这一操作。


一、背景知识

netplan 的引入:

  • 在较新的 Linux 发行版中(包括 Armbian),传统的 /etc/network/interfaces 文件已被弃用,取而代之的是 netplan 工具。
  • netplan 使用 YAML 格式的配置文件来管理网络接口。

静态 IP 的优势:

  • 静态 IP 地址不会随时间变化,便于远程访问和管理。
  • 对于需要长期运行的服务(如 NAS、Web 服务器等),静态 IP 是必需的。

二、准备工作

在开始配置之前,请确保以下条件已满足:

  1. Armbian 系统已正确安装并运行。
  2. 你有管理员权限(可以通过 sudo 执行命令)。
  3. 确认当前网络环境(网关、子网掩码、DNS 等信息)。

三、配置步骤

1. 找到 netplan 配置文件

默认情况下,netplan 的配置文件位于 /etc/netplan/ 目录下,文件名通常为类似以下之一:

  • 01-netcfg.yaml
  • 50-cloud-init.yaml
  • 00-default-use-network-manager.yaml

通过以下命令查看该目录下的文件:

ls /etc/netplan/

备份原始文件:

sudo cp /etc/netplan/<文件名>.yaml /etc/netplan/<文件名>.yaml.bak

2. 编辑 netplan 配置文件

使用文本编辑器打开配置文件:

sudo nano /etc/netplan/00-default-use-network-manager.yaml

示例配置:

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no  # 禁用 DHCP
      addresses: [192.168.1.100/24]  # 静态 IP 和子网掩码
      routes:
        - to: default
          via: 192.168.1.1  # 默认网关
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]  # DNS 服务器

关键参数说明:

  • dhcp4: no:禁用 DHCP。
  • addresses: [192.168.1.100/24]:静态 IP 和子网掩码。
  • routes:定义默认路由,to: default 表示所有流量,via: 192.168.1.1 指定网关。
  • nameservers:设置 DNS 服务器。
注意:YAML 文件对缩进非常敏感,请使用 2 个空格缩进。

3. 应用新的网络配置

sudo netplan apply

4. 验证配置

检查网络接口:

ip addr show eth0

检查默认路由:

ip route

输出应包含:

default via 192.168.1.1 dev eth0

四、常见问题及解决方法

1. gateway4 被弃用

若出现警告:

WARNING: gateway4 has been deprecated, use default routes instead.

解决方法:改用 routes 配置:

routes:
  - to: default
    via: 192.168.1.1

2. systemd-networkd 未运行

检查服务状态:

sudo systemctl status systemd-networkd

启动并启用服务:

sudo systemctl start systemd-networkd
sudo systemctl enable systemd-networkd

3. 网卡名称不匹配

检查网卡名称:

ip link

4. 配置文件语法错误

使用在线工具(如 YAML Lint)检查语法。


五、总结

通过以上步骤,你可以成功将 Armbian 的网络配置从动态 IP 修改为静态 IP。静态 IP 配置对于需要稳定网络环境的场景非常重要!


附录:参考链接