前言

最近又翻出私家云二代(也叫比特米盒)准备刷机当下载机用,一番折腾以后成功的刷上khadas vim1的固件armbian-24.5.3-minimal,进行初始配置的时候发现这版固件用的网络管理方案是netplan + systemd-networkd,这让我一下子不知道要怎么配置静态ip。

因为之前刷过的那么多盒子、那么多固件,网络管理方案都是单独的networkmanager,或者是netplan + networkmanager。而手上这个固件,它是networkd管理 + netplan配置的模式。

真的是有点儿一头雾水,而且netplan配置文件yaml格式是按照缩进空格数来识别的,😫

最后学习了一晚上网上的有关netplan + systemd-networkd的配置教程,加上自己的简单实践,还是成功配置了静态ip。写篇文章,做个简单记录。


配置

首先确认下我用的固件的默认网络设备的管理方案是systemd-networkd,网络的配置工具是netplan。

为了简化配置,我决定改成netplan只用来指定渲染器(renderer),把网络设备的管理和配置都用systemd-networkd搞定。绝对不是因为yaml这种依赖缩进格式的配置文件让我非常头大所以放弃了netplan。

第一步:指定renderer

首先进入目录/etc/netplan,目录下原来的yaml配置文件先备份,然后新建一个配置文件(注意netplan的配置文件的优先级是根据文件首字母顺序)。

在新建的yaml配置文件中录入以下内容,指定renderer是networkd即可,其它内容都不需要。

network:
  version: 2
  renderer: networkd

最后保存退出。

第二步:配置systemd-networkd

networkd的配置目录是/etc/systemd/network,如果目录下有旧的配置文件话先备份,然后新建一个配置文件。

在新建的配置文件中,录入以下内容

[Match]
Name=end0 # 网卡设备名称

[Network]
Address=192.168.1.122/24 # 静态ip地址
Gateway=192.168.1.1      # 网关地址
DNS=192.168.1.1          # dns服务器地址

最后保存退出。

第三步:网络配置生效

完成以上的配置以后,最后一步当然就是应用了。

先重启networkd

sudo systemctl restart systemd-networkd.service

然后让netplan生效

# 测试配置
sudo netplan try

# 应用配置
sudo netplan apply

好了,到这里就大功告成了。🎉


参考文章

  1. 如何在 Linux 上使用网络配置工具 Netplan
  2. systemd设置静态IP
  3. 如何在 Linux 上从网络管理器切换到 systemd-networkd

喝杯奶茶