Come viene implementato il dispositivo di loopback?


8

L'interfaccia di rete di loopback

è un dispositivo di rete virtuale implementato interamente nel software.

Ma come viene effettivamente realizzata questa implementazione e come la manipoli?

Per quanto ne so, gli IP sono contrassegnati come locali nella tabella di routing locale:

ip route show table local  

L'invio a un IP contrassegnato come locale attiverà il dispositivo di loopback. Ma questo rilevamento viene eseguito semplicemente dalle tabelle di routing o anche da alcune altre operazioni del kernel?

Modifica: il mio obiettivo finale è manipolare la configurazione del dispositivo loop, in modo che l'invio di datagrammi tra le mie interfacce (due adattatori wlan) sul mio laptop provochi traffico / datagrammi reali nella rete e non in loop locali. Interfaccia 1 -> WLAN -> Interfaccia 2 e NOT: Interfaccia 1 -> LOOP -> Interfaccia 2

Risposte:


5

È interamente gestito attraverso le tabelle di routing.

È abbastanza facile provarlo in una macchina virtuale, se vuoi divertirti. Non mi assumo la responsabilità per tutto ciò che potrebbe accadere sulla macchina in cui provi questo.

Innanzitutto cambiamo la maschera di rete di 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

Ora diamo un'occhiata al nostro 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

Dove andrebbero i pacchetti 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

Iniziamo il ping in un altro terminale:

$ ping 127.1.1.1

Monitoriamo il traffico ICMP su 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

Ti lascio con l'esercizio di cambiare la maschera di rete di loun computer remoto su 255.255.0.0 e aggiungere l'indirizzo IP 127.1.1.1 alla loro interfaccia di rete. Puoi vedere le risposte dell'ICMP che ritornano. Si noti che i router potrebbero non funzionare correttamente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.