But what if I want “enp3s0” to be a persistent name and “eth0” just to be a “pointer” or “symlink”?
I know I can create udev SYMPLINK action to create symlink, for example, for my webcam (/dev/video0 == /dev/webcam). But how to do that with network interfaces?
You can also use YaST to rename it:
Network Devices->Network Settings, select your network card and click “Edit”.
Switch to the Hardware tab and click on “Change” next to the Device Name.
YaST should then create that file for you.
But what if I want “enp3s0” to be a persistent name and “eth0” just to be a “pointer” or “symlink”?
I know I can create udev SYMPLINK action to create symlink, for example, for my webcam (/dev/video0 == /dev/webcam). But how to do that with network interfaces?
Maybe you could add an SYMLINK to the 70-persistent-net.rules as well. Or maybe having 2 rules for the same interface works.
You disable the assignment of fixed names, so that the unpredictable kernel names are used again. For this, simply mask udev’s rule file for the default
policy: ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
You create your own manual naming scheme, for example by naming your interfaces “internet0”, “dmz0” or “lan0”. For that create your own udev rules file
and set the NAME property for the devices. Make sure to order it before the default policy file, for example by naming it
/etc/udev/rules.d/70-my-net-names.rules
You alter the default policy file, for picking a different naming scheme, for example for naming all interface names after their MAC address by default:
cp /usr/lib/udev/rules.d/80-net-name-slot.rules /etc/udev/rules.d/80-net-name-slot.rules, then edit the file there and change the lines as necessary.
You pass the net.ifnames=0 on the kernel command line (since v199)