如何自定义NIC名称
使用SYSTEM D链接文件
您可以创建一个系统 链接文件 使用Ignition配置。
例如,使用MAC地址命名NIC 12:34:56:78:9a:bc
若要“下一步”,请将一个系统链接文件放在 /etc/systemd/network/25-infra.link
使用 Butane 如下所示的配置代码片段:
示例:通过系统链接文件自定义网卡
variant: fcos
version: 1.4.0
storage:
files:
- path: /etc/systemd/network/25-infra.link
mode: 0644
contents:
inline: |
[Match]
MACAddress=12:34:56:78:9a:bc
[Link]
Name=infra
使用Udev规则
同样,也通过Ignition配置,使用MAC地址命名NIC 12:34:56:78:9a:bc
为了“下一步”,创建一个 UDEV规则 在… /etc/udev/rules.d/80-ifname.rules
使用 Butane 如下所示的配置代码片段:
示例:通过Udev规则自定义NIC
variant: fcos
version: 1.4.0
storage:
files:
- path: /etc/udev/rules.d/80-ifname.rules
mode: 0644
contents:
inline: |
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="12:34:56:78:9a:bc", ATTR{type}=="1", NAME="infra"'
通过内核参数实现Initramf中的联网
如果需要在initramf中联网,则内核参数 ifname=
将动态创建udev规则以更改NIC的名称。
目前,与initramf中的网络配置的其他部分(例如静态IP、主机名等)不同,这些udev规则不会持久保存到真正的根目录中。如果需要将自定义名称应用于实际根目录,则必须创建链接文件或udev规则,如上所示。看见 这一期 了解更多详细信息。
例如,为NIC提供MAC地址 12:34:56:78:9a:bc
名为“infra”,提供 ifname=infra:12:34:56:78:9a:bc
内核参数。Udev规则将在initramf中创建,如下所示:
# cat /etc/udev/rules.d/80-ifname.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="12:34:56:78:9a:bc", ATTR{type}=="1", NAME="infra"