SSH'yi daha yüksek metrik değere sahip ikinci bir arayüz kullanmaya nasıl zorlarım?


9

Ben iki arayüzü ile bir Crunchbang VM var eth0ve eth1her biri bir OpenWRT VM ( eth0varlık 10.232.64.20ve eth1varlık 10.232.65.20) bağlanır . Ağ Yöneticisi ve DHCP kullanıyorum. Genel hedefim birden fazla sshbağlantıya sahip olmak ve onları birbirine bağlamak ifenslave.

Varsayılan olarak, eth1(bazı nedenlerden dolayı) varsayılan ağ geçididir:

user@crunchbang:~$ ip ro
default via 10.232.65.1 dev eth1  proto static
10.232.64.0/24 dev eth0  proto kernel  scope link  src 10.232.64.20
10.232.65.0/24 dev eth1  proto kernel  scope link  src 10.232.65.20

Şunun için bir rota ekledim eth0:

user@crunchbang:~$ sudo ip route add default via 10.232.64.1 dev eth0  proto static metric 1

Sonra iki güzergahım var:

user@crunchbang:~$ ip ro
default via 10.232.65.1 dev eth1  proto static
default via 10.232.64.1 dev eth0  proto static  metric 1
10.232.64.0/24 dev eth0  proto kernel  scope link  src 10.232.64.20
10.232.65.0/24 dev eth1  proto kernel  scope link  src 10.232.65.20

Ancak, sshyalnızca şu yollarla çıkar eth1:

user@crunchbang:~$ ssh -b 10.232.64.20 user@1.2.3.4
ssh: connect to host 1.2.3.4 port 22: Connection timed out

user@crunchbang:~$ ssh -b 10.232.65.20 user@1.2.3.4
Enter passphrase for key '/home/user/.ssh/id_rsa': 

Metriği değiştirdikten sonra eth0:

user@crunchbang:~$ ip ro
default via 10.232.64.1 dev eth0  proto static  metric 1
default via 10.232.65.1 dev eth1  proto static  metric 2
10.232.64.0/24 dev eth0  proto kernel  scope link  src 10.232.64.20
10.232.65.0/24 dev eth1  proto kernel  scope link  src 10.232.65.20

Ve şimdi sshsadece üzerinden eth0:

user@crunchbang:~$ ssh -b 10.232.64.20 user@1.2.3.4
Enter passphrase for key '/home/user/.ssh/id_rsa': 

user@crunchbang:~$ ssh -b 10.232.65.20 user@1.2.3.4
ssh: connect to host 1.2.3.4 port 22: Connection timed out

Daha sshyüksek bir metriğe sahip bir arayüzü kullanmaya nasıl zorlarım?

Düzenle

4.2'deki yapılandırmayı uyguladım ve test ettim . Linux Gelişmiş Yönlendirme ve Trafik Kontrolü NASIL belgesinin birden fazla uplink / sağlayıcı bölümü için yönlendirme. Yapılandırmanın basit olduğu ve hatalarla karşılaşmadığım göz önüne alındığında, minimum açıklama ile sadece kod ve sonuçları göstereceğim.

root@crunchbang:~# ip route add 10.232.64.0/24 dev eth0 src 10.232.64.20 table T0
root@crunchbang:~# ip route add default via 10.232.64.1 table T0
root@crunchbang:~# ip route add 10.232.65.0/24 dev eth1 src 10.232.65.20 table T1
root@crunchbang:~# ip route add default via 10.232.65.1 table T1
root@crunchbang:~# ip route flush table main
root@crunchbang:~# ip route add 10.232.64.0/24 dev eth0 src 10.232.64.20
root@crunchbang:~# ip route add 10.232.65.0/24 dev eth1 src 10.232.65.20
root@crunchbang:~# ip rule add from 10.232.64.20 table T0
root@crunchbang:~# ip rule add from 10.232.65.20 table T1
root@crunchbang:~# ip route add default scope global nexthop via 10.232.64.1 dev eth0 weight 1 nexthop via 10.232.65.1 dev eth1 weight 1

Oluşturulan yönlendirme tabloları şunlardır:

root@crunchbang:~# ip route show table T0
default via 10.232.64.1 dev eth0 
10.232.64.0/24 dev eth0  scope link  src 10.232.64.20 

root@crunchbang:~# ip route show table T1
default via 10.232.65.1 dev eth1 
10.232.65.0/24 dev eth1  scope link  src 10.232.65.20 

root@crunchbang:~# ip ro
default 
    nexthop via 10.232.64.1  dev eth0 weight 1
    nexthop via 10.232.65.1  dev eth1 weight 1
10.232.64.0/24 dev eth0  scope link  src 10.232.64.20 
10.232.65.0/24 dev eth1  scope link  src 10.232.65.20 

Bu yapılandırmada, ssh her iki arabirime de bağlanır:

user@crunchbang:~$ ssh -b 10.232.64.20 user@1.2.3.4
Enter passphrase for key '/home/user/.ssh/id_rsa': 

user@crunchbang:~$ ssh -b 10.232.65.20 user@1.2.3.4
Enter passphrase for key '/home/user/.ssh/id_rsa': 

Ancak, Ağ Yöneticisi'ni kaybetmem gerektiği anlaşılıyor. Herkes bunun neden kötü bir fikir olduğunu açıklayabilir veya tuzaklara karşı uyarırsa, bunu takdir ediyorum.

Edit2

Ağ Yöneticisi'nin kaldırılması iyi gitti. Son bir sorum var. Yapılandırmayı önyüklemede yüklemenin geçerli standart yolu nedir?


Az önce keşfettim 4.2. Birden çok uplink / sağlayıcı için yönlendirme . Uygulamayı bekleyen soruyu güncelleyeceğim.
mirimir

İşe yaradı, bu yüzden sorumu güncelleyeceğim.
mirimir

Yönlendirme önyükleme sırasında nasıl yüklenir, çünkü bu kök hakları gerektirir. Bir komut dosyası ile yapmak iyi çalışıyor, ancak kurulum yapmadan yeniden başlatmayı tercih ederim.
mirimir

Yanıtlar:


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.