Linux
使用 udev 規則更改介面 mac (hw) 地址
我想使用 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
您可以為此使用 udev
PROGRAM
規則,方法是對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"
恕我直言 udev 是錯誤的地方,規則是設置介面名稱。
添加網卡時需要考慮兩件事:
- 用於引用該介面的名稱
- 您將為具有給定名稱的介面提供的網路屬性,即您在第 1 點中選擇的名稱。
這就是說,您可以在設置/啟動網路介面時設置您的 MAC 地址、IP、子網、autoneg 等,例如,在 RH /SuSE 上,您可以為(比方說)eth0 執行此操作:
/etc/sysconfig/network-scripts/ifcfg-eth0
對於 RedHat 添加:
MACADDR=YOUR_DESIRED_MAC_ADDRESS
對於 SuSE:
LLADDR=YOUR_DESIRED_MAC_ADDRESS
你可以走了。