rota tablosu hangi sırayla analiz edilir?


19

Bilgisayarımda aşağıdaki yönlendirme tablosuna ihtiyacım var:

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

Nasıl analiz edildiğini anlamıyorum, yani yukarıdan aşağıya veya aşağıdan yukarıya?

Yukarıdan aşağıya analiz edilirse, ip hedefi 192.168.1.15 olmasına rağmen her şey evimdeki yönlendiriciye gönderilecektir; ama ne biliyordum (yanlış?) bir pc aynı yerel ağ içinde ise o zaman bir kez bir yayın mesajı ile MAC hedef kurtardı sonra benim pc doğrudan hedefe mesaj gönderebilir oldu.

Yanıtlar:


19

Yönlendirme tablosu, en belirgin olandan en az spesifik olana doğru kullanılır.

Ancak linux'da beklediğinizden biraz daha karmaşık. İlk olarak birden fazla yönlendirme tablosu vardır ve hangi yönlendirme tablosunun kullanıldığı bir dizi kurala bağlıdır.

Resmin tamamını almak için:

$ 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

$

localTablo, yerel ve yayın adresleri için yüksek öncelikli denetim yolları içeren özel yönlendirme tablodur.

mainTablo olmayan tüm politika yolları içeren, normal yönlendirme tablodur. Bu aynı zamanda sadece ip route show(veya ip rokısaca) yürütüp yürütmediğinizi görmek için aldığınız tablodur . routeArtık sadece maintabloyu gösterdiği ve çıktı biçiminin biraz arkaik olduğu için eski komutu kullanmamanızı tavsiye ederim .

Önceki defaultboş kurallar paketi seçmediyse, tablo boştur ve sonraki işlemler için ayrılmıştır.

Kendi tablolarınızı ekleyebilir ve belirli durumlarda bunları kullanmak için kurallar ekleyebilirsiniz. Buna bir örnek, iki internet bağlantınız varsa, ancak bir ana bilgisayarın veya alt ağın her zaman belirli bir internet bağlantısı üzerinden yönlendirilmesi gerektiğidir.

Linux ile Politikası Yönlendirme kitapta en ince ayrıntısına kadar tüm bu açıklıyor.


bu önceliği değiştirmenin bir yolu var mı?
Mheni

4

Yönlendirme tablosu genellikle "en belirgin" den "en az spesifik" e doğru uygulanır. 0.0.0.0Ağ maskesi olan bir hedef 0.0.0.0, yani varsayılan rotanız , mümkün olan en az spesifik olanıdır ve bu nedenle her zaman en son uygulanır.

Yerel ağınızdaki başka bir PC için MAC adresiniz vardı, ancak bu farklı bir alt ağdaysa, o PC için belirli bir ana bilgisayar yolu ekleyebilir ve muhtemelen iletişim kurabilirsiniz.


s / genellikle / her zaman /. Bu, yönlendirme tablolarının çalışması için oldukça temeldir.
Celada

1
@Celada "Aynı spesifik" rotalar için metriklerden bahsetmedim. Bir de politika yönlendirmesi var. En azından şimdilik, genellikle yanındayım .
roaima
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.