gpt4 book ai didi

linux - 使用 udev 自动重命名和编号 nic

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:41:16 24 4
gpt4 key购买 nike

我正在写一个 udev-rule 来自动重命名和编号具有特定 MAC 地址的 NIC。

生成的规则应该与 75-persistent-net-generator.rules 几乎相同(匹配卡 MAC 地址的前 3 个字节,根据数量将其命名为“mycard*”安装此供应商的卡,将重命名规则写入70-persistent-net.rules)。

这是我到目前为止的进展:

# udev rules to name rename cards to mycard

ACTION!="add", GOTO="persistent_mycard_generator_end"
SUBSYSTEM!="net", GOTO="persistent_mycard_generator_end"

# ignore the interface if a name has already been set
NAME=="mycard*", GOTO="persistent_mycard_generator_end"

# device name whitelist
KERNEL!="eth*", GOTO="persistent_mycard_generator_end"

# read MAC address
ENV{MATCHADDR}="$attr{address}"

# match interface type
ENV{MATCHIFTYPE}="$attr{type}"

# ignore non mycard MAC addresses
ENV{MATCHADDR}!="00:11:22:*", GOTO="persistent_mycard_generator_end"

# default comment
ENV{COMMENT}=="", ENV{COMMENT}="mycard connected through ($attr{driver})"

#### THIS IS THE PART I DON'T GET ####

# write rule
DRIVERS=="?*", IMPORT{program}="write_net_rules"

# rename interface if needed
ENV{INTERFACE_NEW}=="?*", NAME="mycard*"

#### THIS IS THE END OF THE PART I DON'T GET ####

LABEL="persistent_mycard_generator_end

“我没有得到的部分”应该做的任务是将一张卡(假设它是 eth3)重命名为 mycard0,或者如果它是系统中具有匹配 MAC 地址的第二张卡 mycard1 等等。

提前致谢,花花草

最佳答案

如果在调用 write_net_rules 之前将 ENV{INTERFACE} 设置为“mycard0”,它将为您找到第一个未使用的 mycardN,为其写出规则,并返回 ENV{INTERFACE_NEW} 中的名称。

关于linux - 使用 udev 自动重命名和编号 nic,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1644771/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com