ifconfig, eğer ip arayüzü mevcut yayın adresi ise rota kuramaz


1

Aşağıdaki kurulumu göz önünde bulundurun:

X@Y:~$ sudo ip link add link eth0 name eth0.3 type vlan id 3
X@Y:~$ sudo ip link add link eth0 name eth0.2 type vlan id 2
X@Y:~$ sudo ifconfig eth0.2 192.168.2.1/30
X@Y:~$ sudo ifconfig eth0.3 192.168.2.2/29
X@Y:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
...
192.168.2.0     0.0.0.0         255.255.255.252 U     0      0        0 eth0.2
192.168.2.0     0.0.0.0         255.255.255.248 U     0      0        0 eth0.3

Gördüğünüz gibi, birbirleriyle çakışan alt ağlara sahip olsalar da, her iki yol için de eth0.2 ve eth0.3 kurulur. Ancak şunu denediğimde:

X@Y:~$ sudo ifconfig eth0.3 192.168.2.3/29
X@Y:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
...
192.168.2.0     0.0.0.0         255.255.255.252 U     0      0        0 eth0.2

Bunun için rotayı görebilirsiniz. eth0.3 orada değil. En büyük fark nedir? Yapılandırılmış eth0.3 ip, yapılandırılmış alt ağın yayın adresidir. eth0.2. Tamam, evet bu berbat, ancak arayüz çevrimiçi geliyor, gerçekleşmeyen tek şey rotayı rota tablosuna eklemek. Ve aslında, rota tablosu bu yayın adresini bile umursamıyor:

X@Y:~$ sudo route add -net 192.168.2.0/29 dev eth0.3
X@Y:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
...
192.168.2.0     0.0.0.0         255.255.255.252 U     0      0        0 eth0.2
192.168.2.0     0.0.0.0         255.255.255.248 U     0      0        0 eth0.3
X@Y:~$ sudo ip link del eth0.3
X@Y:~$ sudo ip link del eth0.2

Bu aşmanın bir yolu var mı? Daha sonra rotayı daha sonra ekleyerek kendimi keşfettiğimi belirtmeden önce: kurulumumda gerçek ifconfig, düzenleyemediğim bir dhclient betiği ile gerçekleşir, bu nedenle rota ekleme yapmak dhclient'i çengellemek, IP'yi bir yerden okumak ve yürütmek gerekir oldukça sıkıcı olan rota eki. Bu davranışı arayüzdeki bazı bayraklarla değiştirebileceğimi umuyordum.

Not; Bu elbette gerçek bir ağ tasarımı değil, ancak bir test kurulumu için gereklidir.

Yanıtlar:


0

Bir aktif / 30 rota her zaman / 29 rotada tercih edilecektir. Bu nedenle, 192.168.2.2 için bir / 32 ana bilgisayar yolu olmadıysa, yönlendirme tablosu hala / 30 arabirimine 192.168.2.2'ye trafik gönderirdi.

192.168.2.3 arayüzü şimdiye kadar kurulmuşsa, .3, 192.168.2.0/30 için yayın olduğundan ve 192.168.2.3'e gönderilen bir paketin özel bir işlevi olduğundan emin değil: 192.168.2.0/ 30, başka bir arayüzde daha az spesifik bir ağa tek noktaya yayın yapmamak.

A / 30 ve a / 29 yerine, a / 29 ve a / 28 ile çalışıyor olsaydınız, .7 ile ilgili bir sorununuz olur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.