Tengo un ultrabook Dell XPS 13 que tiene una NIC wifi, pero no una NIC Ethernet física (wlan0, pero no eth0). Necesito crear un adaptador virtual para usar Vagrant con NFS, pero encuentro que el típico ifup eth0:1...
falla al ignoring unknown interface eth0:1=eth0:1
. También intenté crear una interfaz virtual contra wlan0
, pero recibió el mismo resultado.
¿Cómo puedo crear una interfaz virtual en esta máquina sin interfaz física?
Respuesta aceptada:
Configuración de una interfaz ficticia
Si desea crear interfaces de red, pero no tiene una NIC física que la respalde, puede usar el tipo de enlace ficticio. Puede leer más sobre ellos aquí:página de Wikipedia de iproute2.
Creando eth10
Para crear esta interfaz, primero debe asegurarse de tener cargado el módulo del kernel ficticio. Puedes hacer esto así:
$ sudo lsmod | grep dummy
$ sudo modprobe dummy
$ sudo lsmod | grep dummy
dummy 12960 0
Con el controlador ahora cargado, puede crear las interfaces de red ficticias que desee:
$ sudo ip link add eth10 type dummy
ip
harías lo anterior de esta manera, parece haber cambiado en el camino. Mantengo esto aquí para fines de referencia, pero según los comentarios a través de los comentarios, lo anterior funciona ahora.
$ sudo ip link set name eth10 dev dummy0
Y confírmalo:
$ 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
Cambiar la MAC
A continuación, puede cambiar la dirección MAC si lo desea:
$ 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
Crear un alias
A continuación, puede crear alias sobre eth10.
$ sudo ip addr add 192.168.100.199/24 brd + dev eth10 label eth10:0
Y confírmalos así:
$ 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)
O 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
¿Quitar todo esto?
Si quieres deshacerte de todo esto, puedes ejecutar estos comandos para hacerlo:
$ 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
Referencias
- Miniconsejo:configuración de alias de IP en Fedora
- Redes Linux:interfaces ficticias y puentes virtuales
- página man de ip-link
- iproute2 CÓMO
- hoja de trucos de iroute2