web-dev-qa-db-fra.com

Comment le périphérique de bouclage est-il implémenté?

L'interface réseau en boucle

est un périphérique réseau virtuel entièrement implémenté dans le logiciel.

Mais comment cette implémentation est-elle réellement réalisée et comment la manipulez-vous?

Pour autant que je sache, les adresses IP sont marquées comme locales dans la table de routage locale:

ip route show table local  

L'envoi à une adresse IP marquée comme locale déclenchera le périphérique de bouclage. Mais cette détection est-elle effectuée uniquement par des tables de routage ou également par d'autres opérations du noyau?

Edit: Mon objectif ultime est de manipuler la configuration de périphérique en boucle, de sorte que l’envoi de datagrammes entre mes interfaces (deux adaptateurs wlan) sur mon ordinateur portable entraîne un trafic réel/des datagrammes sur le réseau et non en boucles locales. Interface 1 -> WLAN -> Interface 2 et NOT: Interface 1 -> LOOP -> Interface 2

8
Skyo Livede

Il est entièrement géré via les tables de routage.

C'est assez facile d'essayer sur une machine virtuelle, si vous voulez vous amuser. Je n'assume aucune responsabilité pour tout ce qui pourrait arriver sur la machine où vous essayez ceci.

Commençons par changer le masque de réseau de lo en 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

Maintenant regardons notre 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

Où iraient les paquets vers 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

Nous commençons à faire un ping dans un autre terminal:

$ ping 127.1.1.1

Surveillons le trafic ICMP sur 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

Je vais vous laisser avec l’exercice de modification du masque de réseau de lo sur un ordinateur distant en 255.255.0.0 et d’ajout de l’adresse IP 127.1.1.1 à leur interface réseau. Vous pouvez voir les réponses ICMP revenir. Notez que les routeurs peuvent ne pas jouer correctement.

5
Pierre Carrier