我写的udev规则自动重命名和编号具有特定MAC地址的网卡。使用udev自动重命名和编号nics使用udev
产生的规则应该这样做几乎相同75-persistent-net-generator.rules
不(符合前3个字节网卡的MAC地址,这取决于如何此供应商的多卡安装它命名为“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等的第二张卡。
由于提前, flokra
几乎就是这样。留下一个问题:编写的规则具有'KERNEL == mycard *'而不是'KERNEL == eth *',因此不适用。我今天早上写了一个完整的解决方案,并在我回家时发布。 – flokra 2009-11-06 15:19:25