2. iproute2 ile network interface yapılandırması.

22 March, 2009 (00:33) | iproute2 | By: alper

iproute ile netwowrk interface lerimizi ( ethernet vb ) yapılandırabiliriz.

bash-3.2# ip address list eth0
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
link/ether 00:a0:d1:3e:28:43 brd ff:ff:ff:ff:ff:ff
bash-3.2#

şimdi burada çıkanları veya çıkabilecekleri biraz açıklasak iyi olacak sanırım .

Öncelikle başka bir örneğe göz atalım :

inet 10.1.96.142/27 brd 10.1.96.159 scope global eth0

scope global nedir ?

Bu interface imizin faaliyet alanı

bash-3.2# cat /etc/iproute2/rt_scopes
#
# reserved values
#
0    global
255    nowhere
254    host
253    link
#
# pseudo-reserved
#
200    site
bash-3.2#

gördüğünüz gibi linux da bir interface veya ip adresine scope yani faaliyet alanı ekleyebiliyoruz. özellikle çok büyük networklerin yönetiminde çok avantaj sağlar daha sonra yazacak olduğum dökümanlarda bol bol yer alacağı için şimdilik ayrıntılarını geçiyorum.

UP/DOWN : cihazın açık yada kapalı olduğunu gösterir down durumundaki bir NIC ” Network interface Card ” networkden paket alıp göndermez. cihazın durumu değiştirmek için : ( ifconfig eth0 up/down , cisco no shutdown / shutdown )

bash-3.2# ip link set eth0 up
bash-3.2#
bash-3.2# ip link set eth0 down
bash-3.2#

LOOPBACK : Bu interface diğer host lar ile haberleşmez.. gönderilen tüm paketler gönderene yeniden döner.

BROADCAST : Bu Interface diğer fiziksel olarak bağlı olduğu hostlar ile haberleşme yeteneğine sahiptir. örneğin : cross yada switch hub vasıtasıyla bağlı olan ethernet kartları.

POINTTOPOINT : Bu network sadece iki uç a sahiptir. sadece diğer uçtaki host dan paket alınır ve ona gönderilir.

Not : bu üç konfigurasyondan birinin yapılmış olduğu interface NBMA link ( Non Broadcast Multi Access link ) olarak adlandırılan link yapısına girer bu linkler en çok kullanılan olmakla beraber en komplike olanıdırda. ekstra ayarları yapılmadıkdan sonra diğer hostlar ile haberleşemez.

MULTICAST : tavsiye flag’idir herhangi birşey yapmaz örneğin : broadcast multicast in doğal sonucudur wan interface üzerinde tavsiye edilmez.

PROMISC : bu modda çalışan NIC kernele alakalı veya alakasız gelen tüm paketleri iletir.. daha çok bridge olarak yaplıandırılmış linux yada eterape , wireshark gibi sniffer çalıştırılan linux larda tavsiye edilir..

ALLMULTI : NIC üzerine gelen tüm Multicast paketleri kernele iletir. Multicast Router yapılandırılmasında kullanılır.

NOARP : ilginç birşey :) NOARP dediğiniz NIC diğer ağdaki hostlarla hiç bir şekilde nasıl haberleşeceğini yada gelen paketleri nasıl alacağını bilmez sadece diğer protokol stack lari tarafından nasıl yapılacağı tarif edilirse yapar.

DYNAMIC : başka bir bildiri flag i , bu interface in dinamik olarak oluşturulduğunu ve kaldırılacağını söyler.

DEPRACETED : dinamik olarak oluşturulan interface in kaldırıldığını gösterir . adrs hala geçerlidir ama yeni bağlantılar için yapılandırılamaz.

SLAVE : NIC in başka bir interface e bonding edildiğini gösterir link kapasitesini paylaşmak load balancing etc .

valid_lft , prefered_lft : life time : interface in geçerli olduğu süre.

NO-CARIES : NIC imizin fiziksel olarak bağlı olmadığını gösterir : örn ethernet fişi takılı değil .

tentative : bu interface adresi kullanılamıyor. çünkü ip çakışması tesbit edilmiş ve hala geçerli veya failed.

mtu 1500 qdisc pfifo_fast state DOWN qlen 1000 kısmını ilerdeki yazılarımda açıklayacağım için burda daha fazla ayrıntıya girmek istemiyorum..

IP adresi yapılandırmak :

sanırım direk örneğe girmek yeterli olacaktır. ( ifconfig eth0 192.168.1.7 netmask 255.255.255.0 , cisco  ip address 192.168.1.7 netmask 255.255.255.0 )

bash-3.2# ip address add 192.168.1.7/24 dev eth0
bash-3.2# ip address add 192.168.1.8/24 dev eth0
bash-3.2# ip address show eth0
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
link/ether 00:a0:d1:3e:28:43 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.7/24 scope global eth0
inet 192.168.1.8/24 scope global secondary eth0
bash-3.2#

Gördüğünüz gibi burada 192.168.1.7 ip adresini ve ikinci ip olarak da 1.8 i eth0 NIC a atadık.

ip adress flush :

Özellikle çok fazla ip adresinin yapılandırılmış olduğu interface üzerindeki ip’leri silmek için süper :) direk örneklere geçelim :

192.168.1.0 networkünden vermiş oldğumuz tüm ip adreslerinin eth0 interface inden silinmesi :

bash-3.2# ip -stat -stat addr flush to 192.168.1/24
2: eth0    inet 192.168.1.7/24 scope global eth0
2: eth0    inet 192.168.1.8/24 scope global secondary eth0

diğer bir flush yolu ise eth0 interface imiz üzerinde bulunan tüm iplerin silinmesi :  ip -4 address flush label “eth*” eth* isimli interface imizden tüm ipv4 ip lerini sildik.

Write a comment