¿Cómo se implementa el dispositivo loopback?

8

La interfaz de red de bucle invertido

es un dispositivo de red virtual implementado completamente en software.

Pero, ¿cómo se logra realmente esta implementación y cómo se manipula?

Hasta donde sé, las IP están marcadas como locales en la tabla de enrutamiento local:

ip route show table local  

El envío a una IP marcada como local activará el dispositivo de bucle invertido. Pero, ¿esta detección se realiza únicamente por tablas de enrutamiento o también por otras operaciones del kernel?

Editar: Mi objetivo final es manipular la configuración del dispositivo de bucle, de modo que el envío de datagramas entre mis interfaces (dos adaptadores wlan) en mi computadora portátil genere tráfico / datagramas reales en la red y no en bucles locales. Interfaz 1 -> WLAN -> Interfaz 2 y NO: Interfaz 1 -> LOOP -> Interfaz 2

Skyo Livede
fuente

Respuestas:

5

Se maneja completamente a través de las tablas de enrutamiento.

Es bastante fácil probarlo en una máquina virtual, si quieres divertirte. No me hago responsable de nada que pueda suceder en la máquina donde intentas esto.

Primero cambiemos la máscara de red de lo255.255.0.0:

sudo ip addr del 127.0.0.1/8 dev lo; sudo ip addr add 127.0.0.1/16 dev lo

Ahora echemos un vistazo a nuestro lo:

$ ip -4 addr show dev lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    inet 127.0.0.1/16 scope host lo

¿Adónde irían los paquetes a 127.1.1.1?

$ sudo ip route get 127.1.1.1
127.1.1.1 via 172.16.22.2 dev eth0  src 172.16.22.130 
    cache  mtu 1500 advmss 1460 hoplimit 64

Comenzamos a hacer ping en otra terminal:

$ ping 127.1.1.1

Vamos a monitorear el tráfico ICMP en eth0:

$ sudo tcpdump -i eth0 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 65535 bytes
07:28:42.060077 IP 172.16.22.130 > 127.1.1.1: ICMP echo request, id 5665, seq 4, length 64
07:28:43.059920 IP 172.16.22.130 > 127.1.1.1: ICMP echo request, id 5665, seq 5, length 64

Te dejo con el ejercicio de cambiar la máscara de red de louna máquina remota a 255.255.0.0 y agregar la dirección IP 127.1.1.1 a su interfaz de red. Puedes ver las respuestas de ICMP regresando. Tenga en cuenta que los enrutadores pueden no funcionar bien.

Pierre Carrier
fuente