di mana urutan tabel rute dianalisis?


19

Di pc saya, saya harus mengikuti tabel routing:

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlan0

Saya tidak mengerti bagaimana ini dianalisis, maksud saya dari atas ke bawah atau dari bawah ke atas?

Jika dianalisis dari atas ke bawah maka semuanya akan selalu dikirim ke router di rumah saya meskipun tujuan ip adalah 192.168.1.15; tetapi yang saya tahu (salah?) adalah bahwa jika sebuah pc ada di dalam jaringan lokal saya yang sama maka setelah saya memulihkan tujuan MAC melalui pesan broadcast maka pc saya dapat mengirim langsung pesan tersebut ke tujuan.

Jawaban:


19

Tabel perutean digunakan dalam urutan paling spesifik ke paling tidak spesifik.

Namun di linux itu sedikit lebih rumit dari yang Anda harapkan. Pertama ada lebih dari satu tabel routing, dan kapan tabel routing yang digunakan tergantung pada sejumlah aturan.

Untuk mendapatkan gambaran lengkap:

$ ip rule show
0:  from all lookup local 
32766:  from all lookup main 
32767:  from all lookup default

$ ip route show table local
broadcast 127.0.0.0 dev lo  proto kernel  scope link  src 127.0.0.1 
local 127.0.0.0/8 dev lo  proto kernel  scope host  src 127.0.0.1 
local 127.0.0.1 dev lo  proto kernel  scope host  src 127.0.0.1 
broadcast 127.255.255.255 dev lo  proto kernel  scope link  src 127.0.0.1 
broadcast 192.168.0.0 dev eth0  proto kernel  scope link  src 192.168.1.27 
local 192.168.1.27 dev eth0  proto kernel  scope host  src 192.168.1.27 
broadcast 192.168.1.255 dev eth0  proto kernel  scope link  src 192.168.1.27 

$ ip route show table main
default via 192.168.1.254 dev eth0 
192.168.0.0/23 dev eth0  proto kernel  scope link  src 192.168.1.27 

$ ip route show table default

$

The localtabel routing table khusus yang berisi rute kontrol prioritas tinggi untuk alamat lokal dan siaran.

The maintabel routing table yang normal mengandung semua rute non-kebijakan. Ini juga merupakan tabel yang bisa Anda lihat jika Anda hanya menjalankan ip route show(atau ip rosingkatnya). Saya sarankan tidak menggunakan routeperintah lama lagi, karena hanya menampilkan maintabel dan format outputnya agak kuno.

Tabel defaultkosong dan dicadangkan untuk pemrosesan pasca jika aturan default sebelumnya tidak memilih paket.

Anda bisa menambahkan tabel Anda sendiri dan menambahkan aturan untuk menggunakannya dalam kasus tertentu. Salah satu contoh adalah jika Anda memiliki dua koneksi internet, tetapi satu host atau subnet harus selalu dialihkan melalui satu koneksi internet tertentu.

Buku Routing Kebijakan dengan Linux menjelaskan semua ini dengan sangat rinci.


adakah cara untuk mengubah prioritas itu?
Mheni

4

Tabel routing biasanya diterapkan dalam urutan dari "paling spesifik" ke "paling tidak spesifik". Tujuan 0.0.0.0dengan netmask 0.0.0.0, yaitu rute default Anda , adalah yang paling spesifik dan akan selalu diterapkan terakhir.

Jika Anda memiliki alamat MAC untuk PC lain di jaringan lokal Anda, tetapi itu pada subnet yang berbeda, Anda bisa menambahkan rute host khusus untuk PC itu dan Anda mungkin akan mendapatkan komunikasi.


s / biasanya / selalu /. Itu cukup mendasar untuk cara tabel routing bekerja.
Celada

1
@Celada Saya telah menghilangkan penyebutan metrik untuk rute "sama spesifik". Dan kemudian ada routing kebijakan. Setidaknya untuk saat ini, saya biasanya siaga .
roaima
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.