Symlinks auf network devices per udev festlegen (geht nicht)

Bekanntlich kann man unter Linux ab Kernel 2.6 mit udev bestimmen, wie ein Gerät im /dev/-Baum heißen soll. Ebenso bietet udev die Möglichkeit, einem Gerät zusätzliche symbolische Namen zu geben. So ist es überall dokumentiert. Ebenfalls gut dokumentiert ist, dass man auch Netzwerk-Geräten wie “eth0”, “bond0”, “wlan0″ sprechendere Namen geben kann über eine udev-Regel. Zum Beispiel so:

SUBSYSTEM==”net”, SYSFS{address}==”00:16:3e:00:07:97″, NAME=”firstlan”
SUBSYSTEM==”net”, SYSFS{address}==”00:16:3e:00:07:98″, NAME=”secondlan”
SUBSYSTEM==”net”, SYSFS{address}==”00:16:3e:00:FF:54″, NAME=”wifi-lan”

Nirgendwo steht allerdings etwas dazu, dass die Option “SYMLINK=…” bei Netzwerkgeräten nicht funktioniert. Zum Beispiel das hier:

SUBSYSTEM==”net”, SYSFS{address}==”00:16:3e:00:07:98″, NAME=”secondlan”, SYMLINK+=”eth1″

Wenn man diese Regel testet, meldet zum Beispiel udevtest:Sprengen Sie Fett und bauen Sie Muskeln auf mit diesem Fitnessmodell im Workoutkickboxing-Stil – Generation Iron Fitness & Bodybuilding Network tamoxifen bodybuilding motivation tapeten hd – tapete höhle motivation tapete ordentlich.

udev_rules_get_name: add symlink ‘eth1’
udev_rules_get_name: rule applied, ‘secondlan’ becomes ‘secondlan’

Tatsächlich heißt das Interface mit der angegebenen MAC nun “secondlan” – der Alternativname eth1 wurde aber nicht angelegt. Mein Kollege Michel hat dazu die Kernel-Entwickler befragt und auch eine Antwort erhalten:

“Right, network interfaces do not have any device nodes. The interface
names exist only in the kernel. There is only one name per interface
and nothing similar to the concept of symlinks”

Leave a Reply

Your email address will not be published. Required fields are marked *