Jak wdrażane jest urządzenie loopback?

8

Interfejs sieciowy sprzężenia zwrotnego

to wirtualne urządzenie sieciowe zaimplementowane całkowicie w oprogramowaniu.

Ale w jaki sposób realizacja ta jest faktycznie realizowana i jak nią manipulować?

O ile mi wiadomo, adresy IP są oznaczone jako lokalne w lokalnej tabeli routingu:

ip route show table local  

Wysłanie na adres IP oznaczony jako lokalny uruchomi urządzenie sprzężenia zwrotnego. Ale czy to wykrywanie odbywa się wyłącznie przez routing tabel, czy też przez inne operacje jądra?

Edycja: Moim ostatecznym celem jest manipulowanie konfiguracją urządzenia pętli, tak aby wysyłanie datagramów między moimi interfejsami (dwoma adapterami WLAN) na moim laptopie powodowało rzeczywisty ruch / datagramy w sieci, a nie w pętlach lokalnych. Interfejs 1 -> WLAN -> Interfejs 2 i NOT: Interfejs 1 -> PĘTLA -> Interfejs 2

Skyo Livede
źródło

Odpowiedzi:

5

Jest to całkowicie obsługiwane przez tabele routingu.

Wypróbuj na maszynie wirtualnej, jeśli chcesz się dobrze bawić. Nie biorę odpowiedzialności za nic, co mogłoby się zdarzyć na komputerze, na którym spróbujesz.

Najpierw zmieńmy maskę sieci lona 255.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

Teraz spójrzmy na nasze 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

Gdzie poszłyby pakiety do 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

Zaczynamy pingować w innym terminalu:

$ ping 127.1.1.1

Monitorujmy ruch ICMP na 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

Zostawię cię z ćwiczeniem zmiany lomaski sieci na zdalnej maszynie na 255.255.0.0 i dodania adresu IP 127.1.1.1 do ich interfejsu sieciowego. Możesz zobaczyć odpowiedzi ICMP wracające. Pamiętaj, że routery mogą nie działać poprawnie.

Pierre Carrier
źródło