J'ai un ultrabook Dell XPS 13 qui a une carte réseau wifi, mais pas de carte réseau Ethernet physique (wlan0, mais pas d'eth0). J'ai besoin de créer un adaptateur virtuel pour utiliser Vagrant avec NFS, mais je trouve que le typique ifup eth0:1...
échoue avec ignoring unknown interface eth0:1=eth0:1
. J'ai aussi essayé de créer une interface virtuelle avec wlan0
, mais a reçu le même résultat.
Comment puis-je créer une interface virtuelle sur cette machine sans interface physique ?
Réponse acceptée :
Configurer une interface factice
Si vous souhaitez créer des interfaces réseau, mais que vous ne disposez pas d'une carte réseau physique pour la sauvegarder, vous pouvez utiliser le type de lien factice. Vous pouvez en savoir plus à leur sujet ici :page Wikipedia iproute2.
Créer eth10
Pour créer cette interface, vous devez d'abord vous assurer que le module de noyau factice est chargé. Vous pouvez procéder ainsi :
$ sudo lsmod | grep dummy
$ sudo modprobe dummy
$ sudo lsmod | grep dummy
dummy 12960 0
Une fois le pilote chargé, vous pouvez créer les interfaces réseau factices de votre choix :
$ sudo ip link add eth10 type dummy
REMARQUE : Dans les anciennes versions de ip
vous feriez ce qui précède comme ça, semble avoir changé en cours de route. En gardant ceci ici à des fins de référence, mais sur la base des commentaires via les commentaires, ce qui précède fonctionne maintenant.
$ sudo ip link set name eth10 dev dummy0
Et confirmez-le :
$ ip link show eth10
6: eth10: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default
link/ether c6:ad:af:42:80:45 brd ff:ff:ff:ff:ff:ff
Changer le MAC
Vous pouvez ensuite modifier l'adresse MAC si vous le souhaitez :
$ sudo ifconfig eth10 hw ether 00:22:22:ff:ff:ff
$ ip link show eth10
6: eth10: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default
link/ether 00:22:22:ff:ff:ff brd ff:ff:ff:ff:ff:ff
Création d'un alias
Vous pouvez ensuite créer des alias sur eth10.
$ sudo ip addr add 192.168.100.199/24 brd + dev eth10 label eth10:0
Et confirmez-les comme ceci :
$ ifconfig -a eth10
eth10: flags=130<BROADCAST,NOARP> mtu 1500
ether 00:22:22:ff:ff:ff txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
$ ifconfig -a eth10:0
eth10:0: flags=130<BROADCAST,NOARP> mtu 1500
inet 192.168.100.199 netmask 255.255.255.0 broadcast 192.168.100.255
ether 00:22:22:ff:ff:ff txqueuelen 0 (Ethernet)
Ou en utilisant ip
:
$ ip a | grep -w inet
inet 127.0.0.1/8 scope host lo
inet 192.168.1.20/24 brd 192.168.1.255 scope global wlp3s0
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
inet 192.168.100.199/24 brd 192.168.100.255 scope global eth10:0
Enlever tout ça ?
Si vous souhaitez dérouler tout cela, vous pouvez exécuter ces commandes pour le faire :
$ sudo ip addr del 192.168.100.199/24 brd + dev eth10 label eth10:0
$ sudo ip link delete eth10 type dummy
$ sudo rmmod dummy
Références
- Mini-astuce :Configurer des alias IP sous Fedora
- Réseau Linux :interfaces factices et ponts virtuels
- page de manuel ip-link
- IProute2 HOWTO
- Aide-mémoire iproute2