GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana menafsirkan pesan sumber Mars Linux

Apa itu Paket Mars?

IANA mendefinisikan paket Mars sebagai paket yang tiba di antarmuka di mana antarmuka tidak menggunakan jaringan itu. Untuk Linux, paket apa pun yang datang pada antarmuka yang tidak dikonfigurasi untuk subnet itu dengan cara apa pun.

Setiap pemberitahuan paket Mars harus diselidiki. Paket Mars:

  • Sering digunakan dalam intrusi peretasan.
  • Mungkin merupakan gejala server yang salah konfigurasi di tempat lain di jaringan.
  • Mungkin mengindikasikan masalah infrastruktur jaringan.

Jika item konfigurasi di /etc/sysctl.conf . Anda file menonaktifkan deteksi ini, mereka harus diaktifkan dan program sysctl dijalankan kembali. Beberapa contoh entri yang perlu diperiksa adalah:

net.ipv4.conf.all.log_martians=1
net.ipv4.conf.default.log_martians=1
net.ipv4.conf.bondib0.log_martians=1

Dalam postingan ini, kami akan mengilustrasikan cara menafsirkan pesan sumber Mars dengan beberapa contoh dunia nyata.

Contoh 1 – Cara menafsirkan pesan sumber Mars

Mari kita gunakan contoh yang ditunjukkan di bawah ini:

Aug 22 11:08:21 server kernel: martian source 192.168.12.197 from 192.168.12.198, on dev bondib0
Aug 22 11:08:21 server kernel: ll header: 08:00:00:00:45:00:01:00:00:00:40:00:40:11:9f:11:c0:a8:0c:c6:c0:a8:0c:c5

Artinya server menerima paket pada interface bondib0, sumber paket (pengirim) adalah 192.168.12.198, dan tujuan paket (penerima) adalah 192.168.12.197. Namun, tanpa informasi tambahan, kami tidak tahu mengapa paket tersebut dilaporkan sebagai paket Mars.

Contoh 2 – Siaran tidak valid

May 22 03:40:37 example2 kernel: IPv4: martian source 255.255.255.255 from 10.140.249.4, on dev eth1
May 22 03:40:37 example2 kernel: ll header: 00000000: ff ff ff ff ff ff 00 50 56 ad 59 09 08 00 .......PV.Y...

Di sini eth1 menerima paket siaran dari pengirim 10.140.249.4, dan penerima 255.255.255.255 adalah siaran terbatas, audiens target adalah semua host di 'jaringan lokal' (ini adalah segmen 10.140.249.4 dengan netmask yang tidak diketahui), dan lalu lintas tidak boleh diteruskan oleh router.

Namun, dalam kasus ini, eth1 memiliki alamat IP 10.168.252.8/16, itu bukan jaringan yang sama dengan pengirim 10.140.249.4. Jadi tidak diharapkan untuk menerima paket siaran seperti itu dari pengirim ini, dan paket tersebut ditolak sebagai sumber Mars. Masalah seperti itu dapat disebabkan oleh router yang salah dikonfigurasi.

Contoh 3 – Pemfilteran Jalur Terbalik

May 25 16:46:04 example3 kernel: martian source 10.255.16.101 from 10.255.1.140, on dev eth0
May 25 16:46:04 example3 kernel: ll header: 00:10:e0:3b:1b:8a:00:1f:27:3f:34:00:08:00

Di sini, di contoh3, eth0 menerima paket dari 10.255.1.140, dan penerimanya adalah 10.255.16.101. Untuk memahami mengapa ditolak, kita harus memeriksa konfigurasi jaringan dari 2 host, seperti yang diilustrasikan di bawah ini:

Contoh server3 memiliki 2 antarmuka eth0 (10.255.16.101), dan bond0 (10.255.1.101), mereka terhubung ke L3 Switch dan L2 Switch, secara terpisah. Sakelar L3 terhubung ke 2 segmen jaringan:10.255.16.0/24, dan 10.255.1.0/24. Pengirim terhubung langsung ke Sakelar L2, dan sakelar L2 terhubung dengan Sakelar L3.

Disini pengirim mencoba untuk mencapai eth0 pada contoh3, paket akan melalui L2 Switch dan L3 Switch dan mencapai tujuan 10.255.16.101. Ini akan diizinkan secara normal. Namun, Linux modern biasanya mengaktifkan Reverse Path Filtering:

# sysctl -a | grep eth0.rp_filter
net.ipv4.conf.eth0.rp_filter = 1

Dalam mode terbatas, kernel menguji paket yang masuk dengan RFC3704, jika antarmuka bukan jalur balik terbaik, pemeriksaan paket akan gagal. Dalam hal ini, pengirim seharusnya dapat menjangkau server example3 melalui bond0 karena mereka berada di segmen yang sama. Pemeriksaan gagal dan paket ditolak.

Solusi termudah adalah menghubungkan bond0 (10.255.1.101) sebagai gantinya. Jika itu tidak layak karena beberapa alasan khusus, nonaktifkan pemfilteran Jalur Cadangan atau gunakan mode longgar di eth0.


Linux
  1. Cara Instal phpMyAdmin di Linux menggunakan Source Code

  2. Cara menggunakan iMessage Apple di Linux (semacam)

  3. Cara Menginstal dan Mengkonfigurasi Nginx dari Sumber di Linux

  1. Cara Mengkompilasi dan Menginstal Perangkat Lunak dari Kode Sumber di Linux

  2. Cara Menginstal MongoDB dari Sumber (dan menggunakan YUM) di Linux

  3. Bagaimana cara menafsirkan dan memperbaiki kesalahan Input/output di Linux?

  1. Cara mengkonfigurasi Replikasi Multi-Master MySQL di Oracle Linux

  2. Cara Menambahkan Beberapa Rute di Linux Menggunakan Contoh Perintah ip

  3. Cara menemukan alamat IP gateway di Linux