GNU/Linux >> Belajar Linux >  >> Linux

Di Linux, metrik apa yang memiliki rute tanpa metrik?

Apakah Anda yakin tentang pengamatan pertama Anda? Apa artinya ip route show atau route -n menunjukkan kemudian? Apakah hasilnya berubah jika Anda menambahkan proto static dalam kasus pertama?

Saya telah menemukan setidaknya dua sumber yang secara eksplisit mengatakan bahwa 0 adalah nilai default di Linux:

  • http://0pointer.de/lennart/projects/ifmetric/ :Metrik default untuk rute di kernel Linux adalah 0, artinya prioritas tertinggi.
  • http://www.man7.org/linux/man-pages/man8/route.8.html :Jika opsi ini tidak ditentukan, metrik untuk keluarga alamat inet6 (IPv6) default ke '1' , untuk inet (IPv4) standarnya adalah '0'. (kemudian mengisyaratkan bahwa default mungkin berbeda saat menggunakan iproute2 tetapi analisis sumber-sumber ini tidak menunjukkan apa itu)

Seorang peretas kernel Linux pasti diperlukan untuk menyelesaikannya.

Juga default apa pun yang dipilih jelas spesifik untuk OS. Artikel ini (https://support.microsoft.com/en-us/help/299540/an-explanation-of-the-automatic-metric-feature-for-ipv4-routes ) misalnya menunjukkan bahwa Windows memilih metrik default berdasarkan lebar pita tautan.


Karena rute ini berada di subnet yang berbeda, ada lebih banyak hal yang terlibat di sini selain metrik. Jika lalu lintas asal ada di subnet 192.168.1.1, misalnya, dan ada rute non-default yang cocok di tabel perutean Anda, maka rute tersebut akan cocok melalui pencocokan awalan terlama sebelum metrik dipertimbangkan.

Dengan asumsi rute non-default tidak cocok, maka tidak ada metrik seharusnya ditafsirkan oleh kernel memiliki metrik 0, dan oleh karena itu rute prioritas tertinggi. Meskipun itu pandangan sederhana karena beberapa daemon perutean nantinya akan menerjemahkan metrik default tersebut ke nilai lain seperti 1024. Saya berharap inilah yang terjadi pada Anda dan distro Anda yang tidak disebutkan namanya.

Jika ip route tidak menunjukkan metrik sama sekali, Anda dapat mengonfirmasi bahwa itu memang 0 dengan menggunakan route -n yang lebih lama perintah dari paket net-tools atau cat /proc/net/route . Namun, output ini tidak selalu cocok dengan apa yang akan digunakan daemon perutean secara internal saat menemukan nilai metrik 0.

Selain itu, cara Anda membuat rute juga penting. ip route menggunakan API netlink, sedangkan route menggunakan ioctl. Kode bagaimana metrik default dibuat antara dua pendekatan menghasilkan nilai metrik yang berbeda. Misalnya:membuat rute default IPv6 melalui ip route akan menghasilkan nilai metrik 1024 pada RHEL 7, sambil membuat rute yang sama melalui route akan menghasilkan metrik 1.

Dari RedHat:

  • jika tidak ada yang diteruskan ke perintah rute sebagai metrik rute, nilai 1 digunakan oleh perintah itu sendiri.
  • Jika tidak ada yang diteruskan ke perintah ip sebagai metrik rute, atribut tidak dibuat sama sekali dan kernel memahaminya sebagai 0, yang kemudian diterjemahkan 1024 sebagai default.

Linux
  1. Apa yang baru dengan rdiff-backup?

  2. Flatpak di Linux:Apa Itu dan Bagaimana Menginstal Aplikasi dengannya

  3. Linux – Suid Tidak Berpengaruh Pada Direktori Dengan Linux?

  1. Apa itu pengguna Linux?

  2. Apa itu Umask di Linux?

  3. Apa yang dilakukan Linux dengan file yang ada di titik pemasangan?

  1. Instal Linux dengan LVM

  2. Ganti du dengan debu di Linux

  3. Perintah JQ di Linux dengan Contoh