17 Şubat 2020 Pazartesi

ip route komutu - static route ekler

Giriş
ip komutu ile birlikte birçok object kullanılabilir. Bunlar şöyle
link, addr, addrlabel, route, rule, neigh, tunnel,  maddr, mroute, monitor.

Bu yazıda route anlatılıyor.

Seçeneksiz Kullanım
Örnek
Şöyle yaparız.
$ ip route
default via 10.2.0.1 dev enp9s0 proto dhcp metric 100 
default via 192.168.178.1 dev wlp6s0 proto dhcp metric 600 
10.2.0.0/24 dev enp9s0 proto kernel scope link src 10.2.0.2 metric 100 
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown 
192.168.178.0/24 dev wlp6s0 proto kernel scope link src 192.168.178.210 metric 600
default ile başlayan satırlar ağ kartlarını (network card) gösterir. Açıklaması şöyle.
If you have multiple WAN connections and both are set up correctly, the system will set up default routes for you. Those are a "catch-all" rule for everything that is sent.
Hangi kartın tercih edileceği sondaki sayı ile belirtiliyor. Açıklaması şöyle.
One of those connections (10.2.0.1) is a LAN connection, the other is wireless (192.168.178.1). If both are present, the number at the end decides which connection should be preferred, the lower number having higher importance.
Eğer her iki kart aynı önceliğe sahipse ilki terchi edilir. Açıklaması şöyle.
And if both default routes have the same metric, then the first one added will take priority. 
add seçeneği
Örnek
Açıklaması şöyle.
It's important to notice that the ip command will only block the return traffic not the incoming traffic. That means incoming traffic from that IP range may still consume some resources on your host by creating half-open TCP connections or sending packets to stateless services (usually UDP based).

For those reasons a firewall rule such as those created with ufw will likely work better for your particular use case than an ip route command.
Şöyle yaparız.
ip route add unreachable 78.128.113.0/24
del seçeneği
Şöyle yaparız.
ip route del 10.0.0.1 via 192.168.1.1 dev eth0
eth0'ın ip'si 192.168.1.1 olmasına rağmen niye bir daha yazılır bilmiyorum.

get seçeneği
Bir IP adresine nasıl ulaşacağımı öğrenmek için kullanılır. Kullanım şekli şöyledir.
ip route get <address>
Örnek
Kendi IP adresimi öğrenmek için şöyle yaparız.
ip route get 1|awk '{print$NF;1/0}'
eth0'daki IP adresim 192.168.0.121  olsun. awk olmasaydı çıktısı şöyle olurdu
$ ip route get 1
1.0.0.0 via 192.168.0.1 dev wlan0  src 192.168.1.22 
    cache 
Örnek
Şöyle yaparız.
ip route get 8.8.8.8  | awk ' /^[0-9]/ { print $7 }'  
Örnek
Şöyle yaparız.
$ ip route get 4.2.2.1
4.2.2.1 via 192.168.0.1 dev eth0  src 192.168.0.121 
    cache 
Örnek
Şöyle yaparız.
$ ip route get 192.168.0.116
192.168.0.116 dev eth0  src 192.168.0.121 
    cache 
Örnek
Eğer birden fazla arayüz kartım varsa ve 255.255.255.255 broadcast adresine mesaj göndermek istersem hangi arayüzünü kullanılacağını öğrenmek için şöyle yaparız.
$ ip route get 255.255.255.255
broadcast 255.255.255.255 dev eth0  src  192.168.0.121
    cache <local,brd> 
Bazı eski kodlarda, arayüzün broadcast adresi yerine 255.255.255.255 adresi kullanılıyor. Sorun çıkarsa bu yöntem işe yarıyor.

Hiç yorum yok:

Yorum Gönder