Poniżej zagadka, z którą się spotkałem jakiś czas temu:

Szkielet sieci, którą zarządzam oparty jest na warstwie drugiej i sieciach virtualnych (VLAN). W niektórych lokalizacjach stosowane jest urządzenie pracujące w warstwie trzeciej, czyli router. Router działa pod kontrolą FreeBSD i jednocześnie pełni rolę serwera DHCP (fixed-address). Jest podłączony jednym interfejsem do szkieletu, natomiast pozostałe interfejsy przyłączone są do przełącznika lub przełączników, które w zależności od potrzeb mogą być VLAN-aware. Stosowane są statyczne wpisy w tablicy ARP routera, czyli statyczne mapowanie adresów sprzętowych (MAC) na adresy logiczne (IP), aby zminimalizować nadużycia:
Kod:
% arp -an | head
? (83.16.131.1) at 00:d0:b7:c9:8d:c2 on fxp1 permanent [ethernet]
? (83.16.131.2) at 00:02:34:45:fe:cc on fxp1 permanent [ethernet]
? (83.16.131.3) at 00:02:44:6f:f1:bd on fxp1 permanent [ethernet]
? (83.16.131.4) at 00:1d:7d:a8:f9:f9 on fxp1 permanent [ethernet]
? (83.16.131.5) at 00:01:02:03:04:05 on fxp1 permanent [ethernet]
? (83.16.131.6) at 00:02:34:a3:0a:a1 on fxp1 permanent [ethernet]
? (83.16.131.7) at 00:16:36:eb:9b:90 on fxp1 permanent [ethernet]
? (83.16.131.8) at 00:18:f3:a7:82:5d on fxp1 permanent [ethernet]
? (83.16.131.9) at 00:15:60:c2:0c:94 on fxp1 permanent [ethernet]
Interfejs fxp1 jest interfejsem, do którego podłączona jest jedna z podsieci 83.16.131.0/25. Adres 83.16.131.1 jest przypisany do tego właśnie interfejsu. Router do szkieletu podłączony jest interfejsem xl0 (83.16.128.110) poprzez małą sieć połączeniową 83.16.128.108/30.

Mój kolega używając narzędzia traceroute na adres 83.16.131.6 zauważył coś dziwnego:
Kod:
traceroute to 83.16.131.6 (83.16.131.6), 30 hops max, 40 byte packets
 1  83.16.152.129  0.983 ms  1.222 ms  1.432 ms
 2  83.16.128.110  3.171 ms  3.170 ms  3.169 ms
 3  83.16.131.73  5.013 ms  7.981 ms  8.543 ms
 4  * * *
Nie potrafił tego wyjaśnić, więc pokazał drugiemu koledze, a drugi kolega pokazał mi. Moja pierwsza diagnoza, która okazała się błędna: host 83.16.131.73 zatruwa tablicę ARP hosta 83.16.131.6 w celu dyskretnego podsłuchu (man-in-the-middle). Byłem przekonany, że jest prawidłowa, gdyż ping na adres 83.16.131.6 i jednoczesny nasłuch narzędziem tcpdump na fxp1 pokazał:
Kod:
21:21:14.127030 83.16.142.200 > 83.16.131.6: icmp: echo request
21:21:15.128945 83.16.131.6 > 83.16.142.200: icmp: echo reply
Sądziłem, że problem rozwiązany. Niestety, gdy zadzwoniłem do osoby korzystającej z adresu 83.16.131.73, okazało się, że nie prowadzi żadnego posłuchu w sieci (niechcący nastraszyłem faceta). Przy okazji dowiedziałem się, że owa osoba korzysta z małego domowego routera bezprzewodowego, który dokładnie sprawdziłem (był poprawnie skonfigurowany). Następnego dnia ustaliłem, że przyczyna jest całkowicie inna...

Teraz pytanie do Was. Co powodowało takie dziwne zachowanie?

Dysponujecie wszystkimi informacjami, które są Wam potrzebne do określenia przyczyny. Włączcie inteligencję. Powodzenia!