Привет. Ситуация с которой я столнулся:
Linux 1:
inet 192.168.10.132/32 scope global lo
inet 192.168.77.1/24 scope global eth0
$ ip rule
0: from all lookup local
32764: from all iif eth0 lookup test
32765: from 192.168.10.132 lookup test
32766: from all lookup main
32767: from all lookup default
$ ip route show table test
default dev eth0 scope link
Linux 2:
inet 192.168.10.131/32 scope global lo
inet 192.168.7.1/24 scope global eth0
$ ip rule
0: from all lookup local
32764: from all iif eth0 lookup test
32765: from 192.168.10.131 lookup test
32766: from all lookup main
32767: from all lookup default
$ ip route show table test
default dev eth0 scope link
Linux 1:
$ ping 192.168.10.131 -I 192.168.10.132
PING 192.168.10.131 (192.168.10.131) from 192.168.10.132: 56 data bytes
64 bytes from 192.168.10.131: seq=0 ttl=64 time=4.819 ms
64 bytes from 192.168.10.131: seq=1 ttl=64 time=0.367 ms
^C
--- 192.168.10.131 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.367/2.593/4.819 ms
$ arp -an
? (192.168.10.131) at 2a:1e:c3:22:58:c2 [ether] on eth0
По факту лупбэки видят друг друга как directly connected сети, причем через физические интерфейсы с IP из разных подсетей. Вероятно, это из-за статического дефрлта без явного указания next-hop, однако ранее нигде с таким не встречался и нигде не нашел никакого упоминания о таком странном для меня поведении.