Ben iki arayüzü ile bir Crunchbang VM var eth0
ve eth1
her biri bir OpenWRT VM ( eth0
varlık 10.232.64.20
ve
eth1
varlık 10.232.65.20
) bağlanır . Ağ Yöneticisi ve DHCP kullanıyorum. Genel hedefim birden fazla ssh
bağ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, ssh
yalnı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 ssh
sadece ü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 ssh
yü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?