Yanıtlar:
Birden çok ağ bağlantısı olan bir ana bilgisayara rota eklerken, bu yolu kullanarak iletişim kurarken ana makinenizin gönderdiği kaynak IP adresi üzerinde kontrol sahibi olmak isteyebilirsiniz. Bu nedir src içindir.
Kısa bir örnek: iki arayüzlü bir ana makineniz ve 192.168.1.123/24 ve 10.45.22.12/24 IP adresleri var. 78.42.45.0/24 adresine 10.45.22.1 aracılığıyla bir rota ekliyorsunuz ve 192.168.1.123 adresini kullanarak 78.22.45.0/24 adresine göndermediğinizden emin olmak istiyorsunuz (belki ağ 78.22.45.0/24 geri dönüşü olmadığından) 192.168.1.0/24 adresine veya trafiğinizin bir nedenle bu rotayı izlemesini istemediğiniz için):
ip route add 78.22.45.0/24 via 10.45.22.1 src 10.45.22.12
Not o src sen veriyorsun sadece çok barındırıcınızdaki trafik menşeli etkileyecek. Yabancı bir paket yönlendiriliyorsa, zaten bir kaynak IP adresine sahip olacaktı, bu yüzden değiştirilmeden geçirilecekti (tabii ki NAT kullanmıyorsanız, ancak bu tamamen farklı bir konudur). Ayrıca, bu ayar, bağlantıları başlatırken varsayılanları kullanmak yerine belirli bir adrese bağlanmayı seçen bir işlem tarafından geçersiz kılınabilir (oldukça nadir).
src
Nitelik tarafından kullanılan bir ipucu adres seçimi algoritması . Bir ana bilgisayarda birden çok IP adresi olduğunda, bu genellikle her zaman olmasa da, birden fazla arabirime sahip olduğunda önemlidir. Adres seçimini etkileyen başka kurallar olsa da, bir ağ uygulaması da sistem çağrılarını kullanarak seçim algoritmasını geçersiz kılabilir bind()
, ancak src
öznitelik, "Bir X ana bilgisayarına bağlantı, hangi adreslerimi kullanmalıyım? "
İşte özelliğin kullanımını ve etkisini gösteren bir örnek src
. Bunun adreslerle ve rotalarla ilgili olduğunu, yalnızca arabirimlerle ilgili olmadığını belirtmek için, bu örnek ana bilgisayarda yalnızca bir ağ arabirimi değil, iki adres vardır. Ayrıca, hangisinin kullanılacağını seçmenin başka belirgin bir yolu olmadığını vurgulamak için her iki adres de aynı alt ağdadır.
$ ip -4 addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
inet 10.1.0.2/24 brd 10.1.0.255 scope global eth0
inet 10.1.0.16/24 scope global secondary eth0
$ ip route list dev eth0
10.1.0.32/27 scope link src 10.1.0.16
10.1.0.0/24 proto kernel scope link src 10.1.0.2
Bu ana bilgisayar, bu / 24 alt ağdaki diğer 252 adreslerden herhangi biriyle her iki adresten iletişim kurabilir, ancak varsayılan olarak 10.1.0.32 - 10.1.0.63 arasında bir bağlantı başlatırken 10.1.0.16'yı kullanır ve tüm dinlenme.
Ana bilgisayar başlatmak yerine yanıt veriyorsa, isteğin hedef adresinden yanıt verecektir. Örneğin, 10.1.0.32'deki başka bir ana bilgisayar 10.1.0.2'de bu ana bilgisayara bağlanırsa, yanıt src
dönüş yolunun özniteliğiyle eşleşmese de 10.1.0.2'den gelir .