我想使用 UDEV 规则为接口设置特定的以太网 MAC 地址。我有以下规则:
SUBSYSTEM=="net", ACTION=="add", ATTRS{serial}=="50B123", ATTR{address}="00:22:33:44:55:AA", NAME="yolo0"
规则匹配,接口重命名为“yolo0”,但硬件以太网地址保持不变,与制造商预设的地址相同。我当然可以使用以下方法手动更改 mac 地址:
ifconfig yolo0 hw ether ..00:22:33:44:55:AA
答案1
你可以使用 udevPROGRAM
规则来实现这一点,通过对 进行适当的调用ip link set … address …
。像这样:
/etc/udev/rules.d/10-network-persistent-custom-mac-address.rules
SUBSYSTEM=="net", ACTION=="add", ATTRS{serial}=="50B123", PROGRAM="/sbin/ip link set %k address 00:22:33:44:55:AA"
答案2
我认为 udev 不是执行此操作的错误地方,规则是用于设置接口名称。
添加网卡时需要考虑两件事:
您将用来引用该接口的名称
您将为具有给定名称的接口赋予网络属性,该名称是您在第 1 点中选择的名称。
也就是说,您可以在设置/启动网络接口时设置 MAC 地址、IP、子网、自动协商等,例如,在 RH/SuSE 上,您可以对(假设)eth0 执行以下操作:
/etc/sysconfig/network-scripts/ifcfg-eth0
对于 RedHat,请添加:
MACADDR=YOUR_DESIRED_MAC_ADDRESS
对于 SuSE:
LLADDR=YOUR_DESIRED_MAC_ADDRESS
您可以出发了。