3G 모뎀을 사용하여 ppp0과 ppp1이라는 두 개의 연결이 있습니다. 동시에 두 개의 연결을 사용할 수 있습니까? 불행하게도 첫 번째 ppp0에 대한 기본 게이트웨이를 정의할 때 ppp1 연결에 문제가 있고 그 반대의 경우도 마찬가지입니다. 게이트웨이를 설정하지 않고 iptables 규칙을 통해 데이터 패킷을 IP 게이트웨이로 리디렉션할 수 있습니까?
일반적으로 여러 모뎀에서 병렬로 메시지를 보낼 때 이것을 사용하고 싶습니다.음부니 MMS 게이트웨이.
답변1
면책조항: 저는 이 방법을 사용해 본 적이 없고 PPP만 사용해 본 적이 없으므로 이것이 효과가 있다고 보장할 수 없습니다. 오래 전에 CCNA 인증을 통해서만 이 방법을 알았습니다. 경험이 더 많은 사람이 이것이 작동하는지 확인하거나 거부할 수 있기를 바랍니다! 기록 보관소에서 일부 정보를 복사했습니다.Michael Bruck의 "Linux용 PPP 멀티링크 프로토콜(MP)".
이라는 방법이 있습니다.다중링크 PPP이것이 당신이 찾고 있는 것일 수도 있습니다. 공급자가 이를 지원해야 하지만 Linux는 지원합니다. 먼저, CONFIG_PPP_MULTILINK
커널에서 해당 기능이 활성화되어 있고 pppd에도 멀티링크가 활성화되어 있는지 확인하십시오 . AFAICT의매뉴얼 페이지 읽기, 현재 버전의 pppd에서는 인터페이스당 옵션을 pppd
사용하여 실행하기만 하면 되고 multilink
, 상대방이 이를 처리하는 방법을 알고 있는 한 작동할 것입니다. 결국에는 하나의 ppp 인터페이스만 갖게 됩니다.
답변2
자체 백엔드 서버가 없는 경우 멀티홈 기본 라우팅 및 정책 기반 라우팅 솔루션을 사용할 수 있습니다. 기본적으로 하나의 연결은 여전히 하나의 업링크만 사용하지만 다른 연결은 다른 업링크를 사용할 수 있으므로 여러 연결이 병렬로 활성화될 때 성능이 향상됩니다.
멀티호밍 기본 경로는 간단합니다.
ip route replace default nexthop dev ppp0 weight 1 nexthop dev ppp1 weight 1
그러나 한 링크를 통해 들어오는 패킷에 대한 응답이 다른 링크를 통해 나올 수 있고 다른 쪽 끝에서 인식되지 않을 가능성이 높기 때문에 이것만으로는 충분하지 않을 수 있습니다.
여기가 정책 기반 라우팅이 작동하는 곳입니다. 인터넷에는 이에 대한 많은 가이드가 있습니다.예를 들어 여기.
뒤쪽에 자체 서버가 있는 경우 두 연결을 재결합하여 단일 연결에 대해서도 거의 두 배의 대역폭을 제공하는 "상단"을 설정할 수 있습니다. 나는 현재 SSH를 통한 다중 링크 ppp 터널링에 성공(원칙)하고 있습니다.TCP를 통한 TCP는 그다지 좋지 않습니다.(ssh를 백엔드로 사용 netcat
하거나 socat
대체할 수 있습니다). 이를 위해 비밀번호 없이 시작되도록 서버를 구성했으며 클라이언트에서는 다음을 실행하고 있습니다 pppd
.sudo
pppd nodetach local debug noauth multilink eap-timeout 90 \
pty "ssh -b 10.220.105.203 -p 333 <user>@<server> -t -e none sudo pppd noauth multilink eap-timeout 90" \
10.12.13.2:10.12.13.1
( ssh
이런 식으로 비밀번호를 묻는 메시지가 계속 표시됩니다.)
시도했지만 완전히 작동하지 않은 다른 솔루션은 다음과 같습니다.vtun의 멀티링크 ppp(후자가 내 클라이언트에서 세그폴트를 일으키기 때문에) 또는가상 트렁크(구체적이지 않음 - 신뢰할 수 없음)
그리고 탭 인터페이스와 결합된 드라이버를 사용하는 방법도 있을 수 있습니다.