Pode haver uma maneira mais simples. Mas se compilar seu próprio kernel é uma opção, você poderia criar um driver baseado em o driver de loopback existente , altere o nome (linha 193 nessa versão) e carregue o módulo. Você teria uma segunda interface de loopback com o nome desejado.
Editar: Para ser mais específico, quero dizer adicionando outro driver de loopback, não substituindo o existente. Depois de copiar drivers / net / loopback.c para drivers / net / loopback2.c, aplique o seguinte patch (feito em cima de 3.8):
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index 335db78..cba692f 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
@@ -13,7 +13,7 @@ obj-$(CONFIG_MACVLAN) += macvlan.o
obj-$(CONFIG_MACVTAP) += macvtap.o
obj-$(CONFIG_MII) += mii.o
obj-$(CONFIG_MDIO) += mdio.o
-obj-$(CONFIG_NET) += Space.o loopback.o
+obj-$(CONFIG_NET) += Space.o loopback.o loopback2.o
obj-$(CONFIG_NETCONSOLE) += netconsole.o
obj-$(CONFIG_PHYLIB) += phy/
obj-$(CONFIG_RIONET) += rionet.o
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 9ef07d0..ed9d82d 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -2718,6 +2718,7 @@ static inline bool netif_supports_nofcs(struct net_device *dev)
}
extern struct pernet_operations __net_initdata loopback_net_ops;
+extern struct pernet_operations __net_initdata loopback2_net_ops;
/* Logging, debugging and troubleshooting/diagnostic helpers. */
diff --git a/net/core/dev.c b/net/core/dev.c
index f64e439..7c1cffb 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -6834,6 +6834,9 @@ static int __init net_dev_init(void)
if (register_pernet_device(&loopback_net_ops))
goto out;
+ if (register_pernet_device(&loopback2_net_ops))
+ goto out;
+
if (register_pernet_device(&default_device_ops))
goto out;
Estou percebendo que simplesmente carregar o módulo não será suficiente, já que isso modifica o código em net / core / dev.c. Você também terá a instalação do kernel corrigido.