Puis-je créer une interface Ethernet virtuelle nommée eth0?

Je cours Arch basé sur le kernel Linux 3.10.5-1. Le système utilise les nouvelles conventions de nommage de facto des interfaces ethernet enp * s * et wlp * etc. Ceci est toutefois un problème, car mon établissement d'enseignement utilise un programme appelé Maple 17 . Le système de licences de Maple dépend de l'existence d'une interface nommée eth0 car il doit récupérer l'adresse MAC pour vérifier la licence. C'est une mauvaise solution, mais je dois contourner le problème.

Cela signifie que j'aurai besoin d'une interface eth0 avec n'importe quelle adresse MAC du tout (car je peux récupérer un nouveau file de licence pour la nouvelle adresse MAC) qui ne doit pas forcément fonctionner. En fait, il devrait simplement être en panne à tout moment. Je pense qu'il y a plusieurs façons de tenter de résoudre ce problème, mais je n'ai pas pu find quoi que ce soit au sujet de ces idées.

  • Créer un adaptateur sans connectivité
  • Création d'un alias pour enp3s0 nommé eth0
  • Renommer enp3s0 ou l'interface de bouclage.

Les choses que j'ai pu find ne concernaient que les modifications apscopes aux conventions plus récentes et aux anciennes versions d'udev. Ils n'ont travaillé sur RHEL et SuSe de toute façon. Je l'ai essayé sans chance cependant. (persistent-net-names.rules et net-name-slot.rules, les deux ont juste rendu mon interface réelle cesser de fonctionner et mon interface wlan disparaissent)

Sûr. Vous pouvez créer un périphérique de tunctl assez facilement, soit avec tunctl (à partir de uml-utilities, au less sur Debian):

 # tunctl -t eth0 Set 'eth0' persistent and owned by uid 0 # ifconfig eth0 eth0 Link encap:Ethernet HWaddr a6:9b:fe:d8:d9:5e BROADCAST MULTICAST MTU:1500 Mesortingc:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:500 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) 

Ou avec ip :

 # ip tuntap add dev eth0 mode tap # ip link ls dev eth0 7: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 500 link/ether 0e:55:9b:6f:57:6c brd ff:ff:ff:ff:ff:ff 

Probablement, vous devriez préférer la deuxième méthode, car ip est l'outil réseau préféré sur Linux, et vous l'avez probablement déjà installé.

En outre, les deux sont en train de créer le périphérique de prise avec un-MAC local random, vous pouvez définir le MAC à une valeur fixe de l'une des manières normales.

Vous pouvez également définir des règles udev pour donner à vos maps réseau les noms que vous souhaitez:

https://wiki.archlinux.org/index.php/Network_Configuration#Change_device_name

Bien sûr, vous ne devriez PAS dire à udev de les appeler eth0, eth1, etc. Que fait Maple si vous avez seulement une carte wifi?

Je regarde un problème très similaire avec un ordinateur sans carte réseau câblé du tout. Cette solution ressemble à une bonne: http://jms.id.au/wiki/FakeEth0

Fondamentalement, l'idée est de créer / modifier quelques files pour créer une interface factice:

Dans /etc/modules-load.d/dummy.conf ajoutez:

 # load dummy interface module dummy 

Dans /etc/udev/rules.d/70-persistent-net.rules ajoutez:

 SUBSYSTEM=="net", KERNEL=="dummy0", NAME="eth0" 

Ensuite, dans /etc/network/interfaces ajoutez:

 iface eth0 inet static hwaddress DE:AD:BE:EF:CA:FE 

Vous devriez être en mesure de faire un modprobe dummy à ce stade et vérifier que l'interface a été correctement configurée. Il peut ne pas définir l'adresse MAC si vous utilisez modprobe au lieu de redémarrer; dans ce cas, faites le lien ip set dev eth0 adresse de: ad: be: ef: ca: fe.

La solution la plus simple – bien que cela ne fonctionne que sur les systèmes avec une carte Ethernet:

 ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules 

Arch Linux utilise "nommage prévisible". Cela l'éteint.