Я хочу установить конкретный MAC-адрес Ethernet для интерфейса с использованием правил UDEV. У меня такое правило: SUBSYSTEM=="net", ACTION=="add", ATTRS{serial}=="50B123", ATTR{address}="00:22:33:44:55:AA", NAME="yolo0"
Правило совпадает, и интерфейс переименовывается в "yolo0", однако адрес hw-эфира остается неизменным по сравнению с адресом, предварительно установленным производителем. Конечно, я могу изменить MAC-адрес вручную, используя:
ifconfig yolo0 hw ether ..00:22:33:44:55:AA
IMHO 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
И тебе хорошо идти.
Вы можете использовать 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"