I는 두 개의 인터페이스와 Crunchbang VM 가지고 eth0
와 eth1
OpenWRT 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
네트워크 관리자 제거가 잘 진행되었습니다. 마지막 질문이 하나 있습니다. 부팅시 구성을로드하는 현재 표준 방법은 무엇입니까?