私が試したこと

私が試したこと

Ubuntu 21.10には、すべてのネットワークトラフィックのデフォルトインターフェイスとして使用する必要がある携帯電話モデムがUSB経由で接続されています。ただしwlo1、作業を続けてppp0インターフェイスが失敗した場合は、バックアップとしてWi-Fiインターフェイス(私の場合)も必要です。

ping google.com -I ppp0-> ppp経由で動作

ping google.com -I wlo1-> Wi-Fi経由で動作

ping google.com -> pppで作業する(これは難しい部分です)

pppd とそのスクリプトを使用して、セルラーモデムをオンラインにし、有効な IP アドレスを取得できます。これは私が苦しんでいるようなラインです。

私が試したこと

ピアツーピア

defaultrouteまず、optionsなどのPPPスクリプトのオプションを試しましたreplacedefaultroutedefaultrouteルーティングテーブルをまったく変更しないで、デフォルトルートを追加してください。おそらく私が理解しているように、ルーティングテーブルにはデフォルトのルートが1つしかない可能性があるためです。わからない。そのオプションを使用しようとすると、replacedefaultroutepppdはデフォルトのルーティングテーブルにデフォルトエントリを追加します。既存のWi-Fiのデフォルトルートは削除されないため、デフォルトのルーティングテーブルには2つのデフォルトルートがあります。

手動でルートを追加

次に、デフォルトのルーティングテーブルにパスを手動で追加してみました。を実行すると、sudo ip route add {ipAddress} dev ppp0 src {ipAddress}両方のインターフェイスが機能しますが、Wi-Fiはまだデフォルトのインターフェイスです。 Wi-Fi メトリックより低いメトリックを使用してルートを追加しようとすると、ppp インターフェイスをプライマリインターフェイスにすることができません (たとえば、ping google.comWi-Fi 経由でまだ接続されています)。 2番目のデフォルト値を追加できますが、インジケータが必要です。高いWi-Fiよりも重要です。それ以外の場合、両方の接続は動作を停止します。

2番目のルーティングテーブル

他のスタック交換投稿をフォローしてこのような記事、2つのルーティングテーブルを持ち、2番目のルーティングテーブルにルートとデフォルトルートを追加するオプションについて説明しました。どちらの接続も切断されませんが、ppp インターフェイスは Wi-Fi メトリックより低い場合でも、デフォルトのインターフェイスではありません。また、Wi-Fi 接続を切断すると、ppp インターフェイスも動作を停止し、2 番目のルートテーブルが消去されます。 (これはNetworkManagerの機能ですか?)

質問

私が達成したいことは可能ですか?それでは、私が何を間違っているのでしょうか? NetworkManagerと競合していますか?

どんな助けになるでしょう非常にありがとうございます!

答え1

注目すべきことの1つはDNSサーバー(/etc/resolv.conf)です。問題があります。 wlan0インターフェースの優先順位を指定したいが、ファイル内の2つの最も高い項目がresolv.conf4Gネットワ​​ークによって提供されるDNSサーバーです。プロバイダファイルで「usepeerdns」を選択解除すると、これらのDNSサーバーを拒否できます。通常、私の場合、最終的にpingは機能しますが、デバイスが最初のDNSサーバーに最初にアクセスしようとするため、各pingには約10秒かかります。

DNSに問題があるかどうかを確認するのに役立つもう1つの方法は、IPアドレス(たとえば、Googleが運営するDNSサーバーである8.8.8.8)を直接pingすることです。

また、ルーティングテーブルでppp0とwlan0への2つの基本パス(他のメトリックを含む)を一貫して取得しようとしましたが、これを達成できませんでした。

関連情報