Как реализовано петлевое устройство?

8

Петлевой сетевой интерфейс

виртуальное сетевое устройство, полностью реализованное в программном обеспечении

Но как на самом деле осуществляется эта реализация и как вы манипулируете ею?

Насколько я знаю, IP-адреса помечены как локальные в локальной таблице маршрутизации:

ip route show table local  

Отправка на IP-адрес, помеченный как локальный, приведет к срабатыванию устройства обратной связи. Но выполняется ли это обнаружение исключительно с помощью таблиц маршрутизации или с помощью других операций ядра?

Редактировать: Моя конечная цель - манипулировать конфигурацией устройства петли, чтобы передача дейтаграмм между моими интерфейсами (двумя адаптерами WLAN) на моем ноутбуке приводила к реальному трафику / дейтаграммам в сети, а не в локальных петлях. Интерфейс 1 -> WLAN -> Интерфейс 2 и НЕ: Интерфейс 1 -> LOOP -> Интерфейс 2

Skyo Livede
источник

Ответы:

5

Это полностью обрабатывается через таблицы маршрутизации.

Это довольно легко попробовать на виртуальной машине, если вы хотите повеселиться. Я не несу ответственности за все, что может произойти на машине, где вы пытаетесь это сделать.

Сначала давайте изменим маску сети loна 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

Теперь давайте посмотрим на наши 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

Куда пойдут пакеты до 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

Мы начинаем пинговать в другом терминале:

$ ping 127.1.1.1

Давайте проверим ICMP-трафик на 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

Я оставлю вам упражнение по изменению маски сети loна удаленной машине на 255.255.0.0 и добавлению IP-адреса 127.1.1.1 к их сетевому интерфейсу. Вы можете увидеть ответы ICMP, возвращающиеся. Обратите внимание, что маршрутизаторы могут не играть хорошо.

Пьер Кэрриер
источник