ssh가 더 높은 메트릭을 가진 두 번째 인터페이스를 사용하도록하려면 어떻게합니까?


9

I는 두 개의 인터페이스와 Crunchbang VM 가지고 eth0eth1OpenWRT VM (연결, 각각의 eth0존재 10.232.64.20eth1존재 10.232.65.20). 네트워크 관리자와 DHCP를 사용하고 있습니다. 내 전반적인 목표는 여러 개의 ssh연결이 있고와 결합하는 것입니다 ifenslave.

기본적으로 eth1(어떤 이유로 든) 기본 게이트웨이는 다음과 같습니다.

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

나는 경로를 추가했다 eth0:

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

그런 다음 두 가지 경로가 있습니다.

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

그러나 다음을 ssh통해서만 나옵니다 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': 

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

그리고 이제는 다음을 ssh통해서만 나옵니다 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

ssh더 높은 메트릭을 가진 인터페이스를 강제 로 사용하려면 어떻게합니까 ?

편집하다

4.2 에서 구성을 구현하고 테스트했습니다 . Linux Advanced Routing & Traffic Control HOWTO의 여러 업 링크 / 제공자 에 대한 라우팅 구성이 간단하고 오류가 발생하지 않았다면 최소한의 설명만으로 코드와 결과를 보여줄 것입니다.

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

생성 된 라우팅 테이블은 다음과 같습니다.

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 

이 구성으로 ssh는 두 인터페이스를 통해 연결됩니다.

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': 

그러나 Network Manager를 잃어버린 것 같습니다. 누군가 그것이 왜 나쁜 생각인지 설명하거나 함정에 대해 경고 할 수 있다면 감사하겠습니다.

편집 2

네트워크 관리자 제거가 잘 진행되었습니다. 마지막 질문이 하나 있습니다. 부팅시 구성을로드하는 현재 표준 방법은 무엇입니까?


방금 4.2를 발견했습니다 . 여러 업 링크 / 제공자에 대한 라우팅 . 질문 보류 구현을 업데이트하겠습니다.
mirimir

효과가 있었으므로 질문을 업데이트하겠습니다.
mirimir

루트 권한이 필요하기 때문에 부팅시 라우팅을로드하는 방법을 얻지 못했습니다. 스크립트를 사용하면 정상적으로 작동하지만 설정하지 않고 재부팅 할 수 있습니다.
mirimir

답변:


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.