GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare un'interfaccia Ethernet virtuale su una macchina senza un adattatore fisico?

Ho un ultrabook Dell XPS 13 che ha una scheda wifi, ma nessuna scheda ethernet fisica (wlan0, ma non eth0). Ho bisogno di creare un adattatore virtuale per usare Vagrant con NFS, ma sto scoprendo che il tipico ifup eth0:1... fallisce con ignoring unknown interface eth0:1=eth0:1 . Ho anche provato a creare un'interfaccia virtuale contro wlan0 , ma ha ricevuto lo stesso risultato.

Come posso creare un'interfaccia virtuale su questa macchina senza interfaccia fisica?

Risposta accettata:

Impostazione di un'interfaccia fittizia

Se si desidera creare interfacce di rete, ma non dispone di una scheda di rete fisica per supportarla, è possibile utilizzare il tipo di collegamento fittizio. Puoi leggere di più su di loro qui:pagina Wikipedia di iproute2.

Creazione di eth10

Per creare questa interfaccia devi prima assicurarti di aver caricato il modulo del kernel fittizio. Puoi farlo in questo modo:

$ sudo lsmod | grep dummy
$ sudo modprobe dummy
$ sudo lsmod | grep dummy
dummy                  12960  0 

Con il driver ora caricato puoi creare qualsiasi interfaccia di rete fittizia che ti piace:

$ sudo ip link add eth10 type dummy

NOTA: Nelle versioni precedenti di ip faresti quanto sopra in questo modo, sembra essere cambiato lungo la strada. Tenendo questo qui a scopo di riferimento, ma sulla base del feedback tramite commenti, quanto sopra funziona ora.

$ sudo ip link set name eth10 dev dummy0

E confermalo:

$ 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

Modifica del MAC

È quindi possibile modificare l'indirizzo MAC se lo si desidera:

$ 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

Creazione di un alias

Puoi quindi creare alias sopra eth10.

$ sudo ip addr add 192.168.100.199/24 brd + dev eth10 label eth10:0

E confermali così:

$ 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)

Oppure usando 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

Rimuovere tutto questo?

Se vuoi rilassare tutto questo puoi eseguire questi comandi per farlo:

$ 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

Riferimenti

  • MiniTip:Impostazione di alias IP in Fedora
  • Rete Linux:interfacce fittizie e ponti virtuali
  • Pagina man di ip-link
  • iproute2 HOWTO
  • cheatsheet di iproute2
Correlati:l'ultimo kernel di CentOS7 è stato spostato da "kernel.ko" a "kernel.ko.xz"?
Linux
  1. Come creare un host virtuale Nginx (blocco server)

  2. Come verificare se un sistema Linux è una macchina fisica o virtuale

  3. Come creare una seconda partizione primaria o aggiuntiva nella macchina virtuale OpenStack

  4. Come creare un output virtuale in Pulseaudio?

  5. Come verificare se il sistema Linux è in esecuzione su un sistema fisico o una macchina virtuale?

Come creare una macchina virtuale in KVM dalla riga di comando

Come creare una macchina virtuale con Vagrant e VirtualBox

Come creare una nuova macchina virtuale su Proxmox?

Come creare un modello di macchina virtuale KVM

Come creare macchine virtuali in KVM usando Virt-Manager

VMware:come creare una macchina virtuale e installare il sistema operativo guest utilizzando vSphere Client