Saya memiliki mesin Linux dengan kernel 3.2.0-23-generic dan memiliki rule dengan prioritas 220 di RPDB yang menunjuk ke routing table bernama “220”:
T42:~# ip rule show
0: from all lookup local
220: from all lookup 220
220: from all lookup 220
32766: from all lookup main
32767: from all lookup default
T42:~# ip route show table 220
T42:~#
Apakah mungkin untuk melihat Dari mana aturan ini berasal? Apa gunanya tabel perutean kosong? Last but not least, bagaimana bisa ada beberapa aturan dengan prioritas yang sama?
Jawaban yang Diterima:
Apakah mungkin untuk melihat Dari mana aturan ini berasal?
Bukan dalam arti “di mana saya dapat mencari sumber aturan ini”.
Ada beberapa cara untuk menyelidiki masalah ini:yang paling jelas adalah dengan grep
semua skrip startup di sistem Anda untuk melihat mana yang menggunakan ip rule
sama sekali, dan kemudian mulai membacanya. Atau Anda dapat memulai sistem Anda dalam mode pengguna tunggal, dan memulai layanan satu per satu, dari baris perintah, menggunakan strace
. Atau Anda dapat memulai sistem Anda dengan bash
sebagai init (baris perintah kernel:init=/bin/bash
), dan kemudian Anda dapat menjalankan /sbin/init
yang sebenarnya dengan strace
. Ini adalah cara yang agak canggih untuk melacak aktivitas startup, mungkin tidak mudah untuk mengetahui skrip mana yang harus dijalankan…
Tidak ada cara untuk mengetahui dari mana aturan spesifik itu berasal jika itu adalah administrator atau peretas yang memasukkannya secara manual, dan bukan skrip yang ada di sistem.
Apa gunanya tabel perutean kosong?
Tidak ada – sampai seseorang mulai mengisi tabel itu. Ini bisa berupa daemon, awalnya memasukkan aturan untuk tabelnya sendiri, lalu secara dinamis mengubah konten tabel peruteannya sendiri.
bagaimana bisa ada beberapa aturan dengan prioritas yang sama?
Panduan Suite Utilitas IPROUTE2
prioritas PREFERENCE — prioritas aturan ini. Setiap aturan harus memiliki nilai prioritas unik yang ditetapkan secara eksplisit. Prioritas adalah nomor 32 bit yang tidak ditandatangani sehingga kami memiliki 4294967296 kemungkinan aturan.
PERINGATAN!
Untuk alasan historis ip rule add tidak memerlukan nilai prioritas apa pun dan memungkinkan nilai prioritas menjadi non-unik. Jika pengguna tidak memberikan nilai prioritas maka salah satunya ditetapkan oleh kernel. Jika pengguna meminta untuk membuat aturan dengan nilai prioritas yang sudah ada maka kernel tidak menolak permintaan dan menambahkan aturan baru sebelum semua aturan lama dari prioritas yang sama. Ini adalah kesalahan dalam desain saat ini, tidak lebih. Ini harus diperbaiki pada saat Anda membaca ini jadi tolong jangan mengandalkan fitur ini. Anda harus selalu menggunakan prioritas eksplisit saat membuat aturan.