Paketleri son hedeflerine ulaştırmak için gereken rotalar arayüzde veya yönlendiricide yapılandırılır. Bilgisayar ağa bir paket göndermekle görevlendirilirse, hedef IP adreslerini ve paketi doğru adrese gönderebilecek ev ağındaki arabirimlerin ve yönlendiricilerin adreslerini listeleyen yönlendirme tablosuna bakar. Hedef için herhangi bir rota belirtilmemişse, önce varsayılan ağ geçidi veya varsayılan rota olarak adlandırılan rota kullanılır. Aynı model yönlendiricide de gözlemlenir. Cihaz hedef IP adresine bakar ve yönlendirme tablosuyla karşılaştırır ve ardından paketi gönderir. Daha sonra, bir örnek kullanarak belirli rotaların nasıl yapılandırılacağına ve yeni rotaların nasıl oluşturulacağına bakalım.
Herhangi bir şeyi değiştirmeye başlamadan önce, halihazırda hangi kuralların kullanıldığını anlamanız gerekir. Bu amaçla, Linux işletim sistemi çeşitli komutlar sağlar. Bunu yapmak için özel route
komutunu kullanırız:
$ route
Linux yönlendirme tablosu bu şekilde görünür. Basit bilgiler sağlar, ancak bu bilgiler her zaman amacınıza ulaşmak için yeterli değildir. Daha detaylı bilgi için routel
komutunu kullanmanız gerekir:
$ routel
Burada IP adresini (hedef), ağ geçidi IP adresini, kaynak IP'yi, protokolü ve hatta ağ arayüzünü görebilirsiniz. Ancak IP komutunu kullanarak linux yönlendirme tablosunu görmenin daha uygun bir yolu vardır:
$ ip route
Bir önceki komutun çıktısına benzer bir sonuç görüyoruz. Çıktı en uygun biçimde olmadığından, ip route add
veya ip
route
del
komutuna argüman olarak ip route add
veya ip route del
kullanabilirsiniz. İnanın bana, bu çok kullanışlıdır. Bu şekilde her yerde varsayılan ağ geçidi olarak 192.168.1.1'i
göreceksiniz. Şimdi bu komutun çıktısının ne anlama geldiğinden bahsedelim:
default
- varsayılan seçenek. Bu, hedef ip adresi veya alt ağ maskesi olmalıdır;via 192.168.1.1.1
- bu hedefe hangi ağ geçidi üzerinden ulaşabileceğimizi gösterir, bizim için bu 192.168.1.1'
dir;dev enp2s0
- bu ağ geçidinin erişilebilir olacağı ağ arayüzü;proto static
, rotanın yönetici tarafından ayarlandığı anlamına gelir, kernel ise çekirdek tarafından ayarlandığı anlamına gelir;metric
- bu rotanın önceliğidir, değer ne kadar düşükse öncelik o kadar yüksektir.Şimdi Linux rotalarının nasıl yapılandırıldığını görelim.
Kullanıcı hala ip
komutunu kullanarak yönlendirme tablosunu yapılandırma imkanına sahiptir. Örneğin, varsayılan rotayı değiştirmek için tek yapmanız gereken çalıştırmaktır:
$ ip route add default via 192.168.1.1
Bu şekilde 243.143.5.25
gibi herhangi bir IP adresi için bir rota ekleyebilirsiniz:
$ sudo ip route add 243.143.5.25 via 192.168.1.1
Böylece, hedef IP adresini ve ardından bu adrese ulaşmak için yerel ağda bir ağ geçidi belirtiriz. Tek sorun, bu tür rotaların bilgisayarın ilk yeniden başlatılmasına kadar etkin olmasıdır. Yeniden başlatmanın ardından otomatik olarak silinirler. Bu eksikliği gidermek için rotalar yapılandırma dosyasına eklenmelidir.
Örneğin, Red Hat ailesi sistemlerinde /etc/sysconfig/network-scripts/route-ethX
yapılandırma dosyaları bulunmaktadır. Her dosya birden fazla rota tanımlayabilir, örneğin:
GATEWAY=10
.10.0.0.1NETMASK=255
.0.0.0.0IPADDR=10
.10.0.0.22
Bu yapılandırma dosyası gateway kullanır, bu arayüz için ağ geçididir, netmask
ağ maskesidir ve ipaddr
arayüzün ip adresidir. Debian ve tabanlı dağıtımlarda, rotaları /etc/network/interfaces
dosyasında yapılandırabilirsiniz. Burada route komutu iface
bölümüne eklenir. Örneğin:
up route add -net 10.10.0.0 netmask 255.0.0.0 gw 10.10.0.1
iface -net
ile hedef ağı belirtiriz, netmask
ağ maskesi ve gw
ağ geçididir. Bu konuda karmaşık bir şey yok. Şimdi eklenen rotalar yeniden başlatıldıktan sonra bile kalacaktır.
Böylece Linux'ta yönlendirmenin nasıl çalıştığını, Linux'ta yönlendirmenin nasıl yapılandırıldığını ve neden gerekli olduğunu gördük.