태그 보관물: crunchbang

crunchbang

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

I는 두 개의 인터페이스와 Crunchbang VM 가지고 eth0eth1OpenWRT VM (연결, 각각의 eth0존재 10.232.64.20
eth1존재 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

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



답변

첫째, 문제에 대한 해결책이 좋습니다. 둘째, OS에 따라 다릅니다. Crunchbag은 데비안 기반이므로이 솔루션이 다음 작업을 수행 할 수 있습니다.

/server/487939/permanently-adding-source-policy-routing-rules

RHEL 기반 시스템에서는 <ifname>-rule및 을 추가 할 수도 있습니다 <ifname>-route.


답변