0x00 前言
在NAS上插了一条傲腾M10,结果再次开机后就连不上网了。检查一番后发现是网卡名称发生了变化,这倒也好解决,修改一下/etc/netplan
目录下配置文件里的网卡名然后sudo netplan apply
就行了。但为防止将来再次出现类似情况导致失联之类的严重后果,我需要一种能为网卡设定固定名称的方法,故写下此文,权当备忘。
本文内容应亦适用于所有以版本不低于v197
的systemd
作为init的Linux系统。
0x01 Predictable Network Interface Names——systemd/udev的网卡命名规则
Predictable Network Interface Names是systemd自v197
开始引入的一种网卡命名方式,如其名所示,它按照一定的规则为网卡提供可预测的名称,该规则可见于systemd.net-naming-scheme(7)
在这里我们的网卡名由enp11s0
变成了enp12s0
,由上述文档可知是由于添加新PCIe设备导致网卡的总线号发生了变化,从而导致网卡名称改变。
0x02 使用.link文件为网卡设定固定名称
上一节标题中的文档提到了三种不使用上述命名规则的方法:
- 将
/usr/lib/systemd/network/99-default.link
连接至/dev/null
以将其禁用 - 自己写一个.link文件以应用一种不同的命名规则
- 启动时向内核传递
net.ifnames=0
其中1和3都会启用旧式的eth<数字>
命名法,故这里采用第二种方法。
.link文件的格式规定可参考systemd.link(5)
创建/usr/lib/systemd/network/50-net0.link
文件,其内容如下:
[Match]
;使用MAC地址进行匹配
MACAddress=01:23:45:67:89:ab
[Link]
Name=net0
之后修改netplan配置文件即可。
Nranphy
好诶!