J'utilise Arch basé sur le noyau Linux 3.10.5-1. Le système utilise les nouvelles conventions de dénomination de facto des interfaces Ethernet enp * s * et wlp * etc. C'est un problème cependant, car mon établissement d'enseignement utilise un programme appelé Maple 17 . Le système de licence de Maple dépend de l'existence d'une interface nommée eth0 car il doit en récupérer l'adresse MAC pour vérifier la licence. C'est une mauvaise solution, mais je dois y remédier.
Cela signifie que j'aurai besoin d'une interface eth0 avec n'importe quelle adresse MAC (car je peux récupérer un nouveau fichier de licence pour la nouvelle adresse MAC) qui ne doit pas nécessairement fonctionner. En fait, il devrait être à tout moment en panne. Je pense qu'il y a plusieurs façons de tenter de résoudre ce problème, mais je n'ai rien trouvé sur aucune des idées.
Les choses que j'ai pu trouver ne couvraient que la modification des conventions plus récentes et des anciennes versions d'udev. De toute façon, ils n'ont travaillé que sur RHEL et SuSe. Je l'ai essayé sans chance cependant. (persistent-net-names.rules et net-name-slot.rules, les deux ont juste fait cesser de fonctionner mon interface réelle et mon interface wlan a disparu)
Sûr. Vous pouvez créer un périphérique tap
assez facilement, soit avec tunctl
(à partir d'utilitaires uml, au moins 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 Metric: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
Vous devriez probablement préférer la deuxième méthode, car ip
est l'outil réseau préféré sous Linux, et vous l'avez probablement déjà installé.
En outre, les deux créent le périphérique de prise avec un MAC local aléatoire, je suppose, vous pouvez définir le MAC sur une valeur fixe de l'une des manières normales.
Vous pouvez également définir des règles udev pour donner à vos cartes 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 ne disposez que d'une carte wifi?
Je regarde un problème très similaire avec un ordinateur sans carte réseau filaire. Cette solution ressemble à une bonne: http://jms.id.au/wiki/FakeEth
Fondamentalement, l'idée est de créer/modifier quelques fichiers pour créer une interface factice:
Dans /etc/modules-load.d/dummy.conf
ajouter:
# load dummy interface module
dummy
Dans /etc/udev/rules.d/70-persistent-net.rules
ajouter:
SUBSYSTEM=="net", KERNEL=="dummy0", NAME="eth0"
Puis dans /etc/network/interfaces
ajouter:
iface eth0 inet static
hwaddress DE:AD:BE:EF:CA:FE
Vous devriez pouvoir faire un modprobe dummy
à ce stade et vérifiez que l'interface a été configurée correctement. Il peut ne pas définir l'adresse mac si vous utilisez modprobe au lieu de redémarrer; dans ce cas, ip link set dev eth0 adresse de: ad: be: ef: ca: fe.