3Gモデムを使用して、ppp0とppp1という2つの接続があります。同時に2つの接続を使用できますか?残念ながら、最初のppp0のデフォルトゲートウェイを定義するときは、ppp1接続に問題があり、その逆も同様です。ゲートウェイを設定せずにiptablesルールを使用してデータパケットをIPゲートウェイにリダイレクトできますか?
通常、複数のモデムから並列にメッセージを送信するときにこれを使用したいと思います。プッシーMMSゲートウェイ。
答え1
免責事項:私はこの方法を使用したことがなく、PPPのみを使用したことがないため、これが有効であると保証することはできません。ずっと前に、CCNA認証によってのみこの方法がわかりました。経験豊富な人がこれがうまくいくかどうかを確認または拒否できることを願っています!アーカイブから一部の情報をコピーしました。Michael Bruckの「Linux用PPPマルチリンクプロトコル(MP)」。
という方法があります。マルチリンクPPPこれがあなたが探しているものかもしれません。プロバイダはこれをサポートする必要がありますが、Linuxはサポートしています。まず、CONFIG_PPP_MULTILINK
カーネルでその機能が有効になっていて、pppdにもマルチリンクが有効になっていることを確認してください。 AFAICTのマニュアルページを読む、現在のバージョンの pppd ではインタフェースごとのオプションをpppd
使って実行するだけでmultilink
、相手がこれを処理する方法を知っている限り動作します。結局のところ、1つのpppインターフェイスしかありません。
答え2
独自のバックエンドサーバーがない場合は、マルチホームプライマリルーティングとポリシーベースのルーティングソリューションを使用できます。デフォルトでは、1つの接続はまだ1つのアップリンクのみを使用しますが、他の接続は別のアップリンクを使用できるため、複数の接続が並列にアクティブになるとパフォーマンスが向上します。
マルチホーミングのデフォルトパスは簡単です。
ip route replace default nexthop dev ppp0 weight 1 nexthop dev ppp1 weight 1
しかし、あるリンクを介して入ってくるパケットへの応答が別のリンクを介して出てきて、もう一方の端で認識されない可能性が高いので、これだけでは不十分である可能性がある。
これがポリシーベースのルーティングが機能する場所です。インターネットにはこれに関する多くのガイドがあります。たとえば、ここ。
背面に独自のサーバーがある場合は、2つの接続を再結合して、単一の接続に対してもほぼ2倍の帯域幅を提供する「トップ」を設定できます。私は現在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(後者が私のクライアントでセグフォルトを引き起こすため)仮想トランク(具体的ではない - 信頼できない)
また、タブインターフェイスと組み合わせたドライバを使用する方法もあります。