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スクリプトのオプションを試しましたreplacedefaultroute
。defaultroute
ルーティングテーブルをまったく変更しないで、デフォルトルートを追加してください。おそらく私が理解しているように、ルーティングテーブルにはデフォルトのルートが1つしかない可能性があるためです。わからない。そのオプションを使用しようとすると、replacedefaultroute
pppdはデフォルトのルーティングテーブルにデフォルトエントリを追加します。既存のWi-Fiのデフォルトルートは削除されないため、デフォルトのルーティングテーブルには2つのデフォルトルートがあります。
手動でルートを追加
次に、デフォルトのルーティングテーブルにパスを手動で追加してみました。を実行すると、sudo ip route add {ipAddress} dev ppp0 src {ipAddress}
両方のインターフェイスが機能しますが、Wi-Fiはまだデフォルトのインターフェイスです。 Wi-Fi メトリックより低いメトリックを使用してルートを追加しようとすると、ppp インターフェイスをプライマリインターフェイスにすることができません (たとえば、ping google.com
Wi-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.conf
4Gネットワークによって提供されるDNSサーバーです。プロバイダファイルで「usepeerdns」を選択解除すると、これらのDNSサーバーを拒否できます。通常、私の場合、最終的にpingは機能しますが、デバイスが最初のDNSサーバーに最初にアクセスしようとするため、各pingには約10秒かかります。
DNSに問題があるかどうかを確認するのに役立つもう1つの方法は、IPアドレス(たとえば、Googleが運営するDNSサーバーである8.8.8.8)を直接pingすることです。
また、ルーティングテーブルでppp0とwlan0への2つの基本パス(他のメトリックを含む)を一貫して取得しようとしましたが、これを達成できませんでした。