4. iproute2 ile routing tablosu görüntülemek
ip route show :
Kısaltmaları : show, list, sh, ls, l
ip route show komutu routing tablosunun içeriğini görmeye ve seçilmiş kriterler içerisindeki routing tablosu içeriklerini görmeye yarar.
basit örnek :
bash-3.2# ip route show
10.70.20.0/24 dev wlan0 proto kernel scope link src 10.70.20.59
default via 10.70.20.1 dev wlan0
bash-3.2#
hemen yine burada gördüklerimizin manalarını açıklayarak başlayalım :
proto : routing protokolü kernel kernel lvl routing örn : rip bgp vs. bakınız : cat /etc/iproute2/rt_protos
scope : kapsama alanı
link : direk bağlı olan interface link
src : linux un bu route a gitmek için kullandığı source ( kaynak ) interface’i
via : yolu ile
default : default router ağ geçidi
kısaca : 10.70.20.0/24 networküne ulaşacak olursak wlan0 cihazı yoluyla ulaşırız, bu cihaz üzerindeki 10.70.20.59 nolu bize ait ip adresi kaynak ip si ( source ip address ) olarak kullanılır, network direk olarak bu device a bağlıdır. Default gateway imiz ( ağ geçidi ) wlan0 interface i üzerinden ulaşılan 10.70.20.1 dir.
all : tüm tabloları görüntüle
bash-3.2# ip route show all
10.70.20.0/24 dev wlan0 proto kernel scope link src 10.70.20.3
default via 10.70.20.1 dev wlan0
bash-3.2#
cache : linux kerneli yakın zamanda ulaşılan adresleri hızlı referans kartı olarak cache tutar, kısa zaman içerisinde yeniden bu adreslere ulaşmanız gerekirse bu referans tablosundan aldığı routing bilgisi ile hızlı olarak ulaşır. tablo içerisindeki adresler periyodik olarak yine kernel tarafından silinirler. cache routing tablosuna bakmak için.
bash-3.2# ip route show cache
local 10.70.20.3 from 65.54.228.46 dev lo src 10.70.20.3
cache <local> iif wlan0
<<<< kalabalık yapmaması için bu arayı kesiyorum >>
78.129.231.111 from 10.70.20.3 via 10.70.20.1 dev wlan0
cache mtu 1500 rtt 770ms rttvar 765ms cwnd 5 advmss 1460 hoplimit 64
bash-3.2#
-s statstics “istatistikler” parametresi yine ip route show ile kullanılıp istatistiki bilgi alınabilir.
ip route show table local :
/etc/iproute2/rt_tables içerisinde belirtilen tablolara ait routing leri ayrı ayrı listelemek için kullanılır. burada local local interface ler için ihtiyaç duyulan routing leri gösterir, ne yaptığınızdan tamamen emin olmadıkça kurcalanmamalıdır. main ise direk örnek verirsek sanırım kolayca anlaşılacaktır.
bash-3.2# ip route show table main
10.70.20.0/24 dev wlan0 proto kernel scope link src 10.70.20.3
default via 10.70.20.1 dev wlan0
bash-3.2#
belirli bir ip bloğuna ait routing görüntülemek :
bash-3.2# ip route list 10.70.20.3/24
10.70.20.0/24 dev wlan0 proto kernel scope link src 10.70.20.3
bash-3.2#
ip route get :
ip route get komutu ile hernagi bir ip ye ait routing i elde edebilirsiniz örneğin google a ait 74.125.77.104 nolu ip ye hangi route üzerinden giderim ? öğrenmek için extradan -s parametreside vererip istatistiki bilgi de alarak :
bash-3.2# ip -s route get 74.125.77.104
74.125.77.104 via 10.70.20.1 dev wlan0 src 10.70.20.3
cache users 1 used 3 mtu 1500 advmss 1460 hoplimit 64
bash-3.2#
Routing tablosu görüntülenmesi oldukça uzun bir konu sanırım daha sonraki konularda ( rip bgp realms vb ) kullanacağımız için şimdilik daha fazlasına girmek gereksiz. daha fazla ayrıntıya ihtiyaç duyanlar için iproute2 orjinal dökümanı : http://www.policyrouting.org/iproute2.doc.html#ss9.5
Yinede bazı kısa örnekler verelim :
ip route list 192.168.1.1 table cache
cache table i içerisinden 192.168.1.1 ip’sine ait routing görüntülenir.
ip route list proto gated/bgp
/etc/iproute2/rt_protos dosyasında görebileceğimiz listeden. gated programı ile sağlanan bgp protokolünde sağlanmış olan routing bilgilerini gösterir