From my understanding, Arch Linux uses Consistent Network Device Naming where the network devices are no longer named eth0, eth1, etc.

I use the proprietary MATLAB software which requires a device eth0 for activation. As a work around they suggest turning off consistent network device naming here. I don't think this will work in Arch, but maybe I am wrong, and I am not sure that is a good idea even if it does work.

Is it possible to create a dummy eth0 device to fool the MATLAB activation software? Note that this is not intended to, and I don't believe that it does, violate any licensing agreements with MATLAB/The MathWorks.

  • 6 years later, changed enp0s31f6 to eth0 and matlab activates.
    – ron
    Nov 23, 2019 at 17:09
  • nmcli connection modify enp0s31f6 connection.interface-name eth0
    – ron
    Nov 23, 2019 at 17:09

3 Answers 3


Have you tried creating a blank /etc/udev/rules.d/80-net-name-slot.rules?

Since Udev v197, udev has implemented predictable network interface names, by creating a blank file in that path then rebooting, you should have your interface names back to what they were.

Reference: Predictable Network Interface Names


Short-term solution:

% sudo modprobe dummy
% sudo ip l set dev dummy0 name MyEth11
% sudo ip ad ad dev MyEth11
% ip ad show dev MyEth11
14: MyEth11: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN 
    link/ether 6e:73:12:ad:db:8e brd ff:ff:ff:ff:ff:ff
    inet scope global MyEth11
% sudo ip l set MyEth11 up
  • Interesting. But how is this interface connected to the real world? The application probably binds to this interface (or its address). Apr 29, 2013 at 12:02
  • For MATLAB I don't need to bring the dummy interface up, but I did need to clone my mac address with ip link set dev MyEth11 address xx:xx:xx:xx:xx:xx. My guess is bringing the dummy interface up would cause major havoc. Can I add this as a script in /etc/profile.d/ to make it persistent?
    – StrongBad
    Apr 29, 2013 at 12:34
  • This can be a script, of course, placed, for e. g., into /etc/rc.local. But I said "single term" intentionally meaning that different distros have different "proper" ways to set such things up.
    – poige
    Apr 29, 2013 at 15:22
  • And nope, having two NICs with the same MAC addresses, but in different network segments isn't a havoc.
    – poige
    Apr 29, 2013 at 15:23

Since udev v209 this is done the following way:

$ sudo ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules

See also, Predictable Network Interface Names - I don't like this, how do I disable this?

NOTE: In that same section a couple of other methods are mentioned as well:

You basically have four options:

  1. 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-setup-link.rules
  2. You create your own manual naming scheme, for example by naming your interfaces "internet0", "dmz0" or "lan0". For that create your own .link files in /etc/systemd/network/, that choose an explicit name or a better naming scheme for one, some, or all of your interfaces. See systemd.link(5) for more information.

You pass the net.ifnames=0 on the kernel command line

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.