jądro marsjańskiego źródła do iz tego samego adresu IP

13

Sporadycznie widzimy kernel: martian sourcewpisy dziennika dla eth0 na kilku naszych serwerach. Interesujące jest to, że pochodzą z tego samego adresu IP. Na przykład:

Nov  4 02:20:27 tcffmppr6db09 kernel: martian source 10.153.242.13 from 10.153.242.13, on dev eth0.3171

Dzieje się tak tylko na kilku serwerach. Istnieje około 60, które skonfigurowały eth0 w ten sam sposób (oczywiście różne IP).

Na co powinienem patrzeć, aby to wyśledzić?

EDYTOWAĆ:

Trasa dla tego konkretnego interfejsu jest trasą domyślną, więc nie sądzę, że jest to kwestia wysłania niewłaściwego interfejsu.

theillien
źródło

Odpowiedzi:

16

Problem

Dzisiaj spotkałem ten sam problem: pakiety marsjańskie zalały moje dzienniki jądra. Wszystkie pakiety marsjańskie pochodzą z tego samego publicznego adresu IP eth0na ten sam publiczny adres IP eth0(prawdziwe adresy IP i nagłówek są usuwane).

IPv4: martian source x.x.x.x from x.x.x.x, on dev eth0
ll header: 00000000: aa bb cc dd ee ff gg hh ii jj kk ll 08 00

Po kilku badaniach zdałem sobie sprawę, że przyczyna jest ukryta w ll headerpakietach marsjańskich.

Teoria

Zakładając, że jest to połączenie Ethernet, ll headerfaktycznie pokazuje początkową część ramki Ethernet typu II, która zawiera docelowy adres MAC, źródłowy adres MAC, a identyfikator wskazuje typ pozostałej części pakietu.

Format ramki Ethernet typu II [1]

Jak widać, pierwsze 6 bajtów to docelowy adres MAC, kolejne 6 bajtów to źródłowy adres MAC i kod z ostatnich 2 bajtów. Wspólne kody to:

  • 08 00: Pakiety IP
  • 86 dd: Pakiet IPv6
  • 08 06: Pakiet ARP

Wyjaśnienie

Wróć do mojego przykładu.

IPv4: martian source x.x.x.x from x.x.x.x, on dev eth0
ll header: 00000000: aa bb cc dd ee ff gg hh ii jj kk ll 08 00

To mówi nam,

  • odebrano pakiet ze źródłowym i docelowym adresem IP SAME.
  • Został wysłany przez GG:HH:II:JJ:KK:LL, którego adresu MAC nie znam.
  • Jego celem jest AA:BB:CC:DD:EE:FFmój własny adres MAC.
  • To był pakiet IP ( 08 00).

Jeśli pakiet ma takie same źródłowe i docelowe adresy IP, musi zostać wysłany przez ten sam interfejs sieciowy, ale adresy MAC źródła i miejsca docelowego są różne! Jak to mozliwe

Oczywiste jest zatem, że pakiet pochodzi z Marsa, albo występują problemy z routingiem, komputer w sieci jest skonfigurowany, albo ktoś próbuje sfałszować adresy IP / MAC. Następnym krokiem jest sprawdzenie źródłowego adresu MAC.

比尔 盖子
źródło
9
fragment z systemu Linux: Zaloguj podejrzane pakiety marsjańskie / niedysponowalne adresy źródłowe

Pakiet marsjański jest niczym innym jak pakietem IP, który określa adres źródłowy lub docelowy zarezerwowany do specjalnego użytku przez Internet Assigned Numbers Authority (IANA).

Oto przykłady takich bloków adresów:

  • 10.0.0.0/8
  • 127.0.0.0/8
  • 224.0.0.0/4
  • 240.0.0.0/4
  • :: / 128
  • :: / 96
  • :: 1/128

Aby to wyśledzić, masz kilka opcji. Możesz go po prostu zignorować, zablokować za pomocą zapory ogniowej lub użyć tcpdumplub wiresharkrozdzielić zawartość pakietu, co prawdopodobnie da ci wgląd w przyczyny tego problemu.

Dodatkowe opisy i źródła

Kolejne wyrażenie, które pojawia się podczas wyszukiwania, to:

Są to pakiety, których Linux nie oczekuje od kierunku, z którego przyszły (tj. Pakiety z hostów wewnętrznych przychodzące na interfejs zewnętrzny). Przyczyną jest prawdopodobnie źle skonfigurowana maszyna w Twojej sieci LAN. Możesz wyłączyć rejestrowanie tych pakietów, w /proc/sys/net/ipv4/conf/interface/log_martiansktórych jest to udokumentowane /usr/src/linux/Documentation/proc.txt

Nie mogłem znaleźć oryginalnego źródła tego akapitu, ale jeśli go szukasz, pokazuje się bardzo dosłownie! Opisuje to problem jako pakiet, który wszedł do systemu na interfejsie (NIC), do którego nie jest przeznaczony.

Na koniec zacytuję również Wikipedię na ten temat, która również stwierdza mniej więcej tak samo jak powyżej.

Pakiet marsjański to pakiet IP, który określa adres źródłowy lub docelowy, który jest zarezerwowany do specjalnego użytku przez Internet Assigned Numbers Authority (IANA). Pakiety te, jeśli są widoczne w publicznym Internecie, nie mogą faktycznie pochodzić, jak twierdzono, ani być dostarczane. 1 Jednak niektóre zastrzeżone adresy mogą być kierowane przy użyciu multiemisji lub w sieciach prywatnych, linkach lokalnych lub interfejsach sprzężenia zwrotnego, w zależności od zakresu specjalnego zastosowania, do którego należą. 2)

Pakiety marsjańskie zwykle powstają w wyniku fałszowania adresów IP podczas ataków typu „odmowa usługi” 3, ale mogą także wynikać z nieprawidłowego działania urządzeń sieciowych lub błędnej konfiguracji hosta. 1

Bibliografia

slm
źródło
Ładne wyjaśnienie… jednak użycie tych bloków jest dość powszechne, szczególnie w sieciach NAT. W związku z tym, na podstawie twojego wyjaśnienia, spodziewam się, że będę cały czas widzieć te wiadomości. Więc w wiadomości jądra dzieje się coś więcej, chciałbym wiedzieć, co.
mdpc
@mdpc - dodatkowe informacje opisują przyczynę pakietów marsjańskich: Jak zepsuta jest strategia routingu, która powoduje, że pakiet marsjański (tylko jak dotąd) podczas tracepath?
slm
1
Będziemy działać 24 godziny tcpdumpna danych serwerach. To powiedziawszy, rozumiem pojęcie pakietu marsjańskiego. Nie rozumiem, dlaczego interfejs uważa za swój własny adres IP.
theillien
bezsensowna odpowiedź.
poige