I am using an Ubuntu Linux system. For my task I have to run some modules by executing the respective scripts. All the modules must run at the same time in the background but all have different interface names, IPv4 & IPv6 addresses configuration. So, basically I have to run different modules simultaneously having different IP configuration.

Here I am specifying all the NIC card interfaces' addresses and their corresponding names in a persistent net rules file. Suppose I have one NIC card MAC address and want to have two different interface names associated with the same MAC address. I know we can assign multiple virtual IP addresses to a particular interface by making alias of it. But how can we assign different interface names to a particular hardware MAC address?

For example:

Persistent-net-generator.rules rules file. We can modify it, as long as you keep each rule on a single line, and change only the value of the NAME= key.

net device ()
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:04:9f:02:81:97", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

net device ()
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:04:9f:02:81:96", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

net device ()
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:04:9f:02:81:95", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

How can I get two interface names associated with the MAC address "00:04:9f:02:81:97"?

  • 3
    Did you mean ethernet virtual interface like eth0,eth0:1,eth0:2,etc ? You can create many virtual interface on eth0 with one MAC address.
    – supriady
    Dec 23, 2016 at 5:44
  • You can just change it's MAC address using ifconfig NIC hw ether 00:04:9f:02:81:97. replace NIC with the desired interface name. But I don't know if this solves your problem. Dec 23, 2016 at 5:45
  • @supriady, But there is an issue. You should attention to how many same roles, device can play. unix.stackexchange.com/questions/328212/… Dec 23, 2016 at 5:50

1 Answer 1


You might want to take a look at the new iproute2 network interface alternative name feature (ip link altname). Note that the command syntax seems to have changed since that article. For example:

ip link property add dev eth0 altname someothername

Note that this is very new, you will need a recent version of iproute2 for it to work (v5.4.0 which came out on 2019-11-25, if I'm reading the git log right).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .