Linux(raspian、debianなど)での作業を想定しています:
2つの異なる質問をする場合、最初にタイトルの質問に答えます。
Raspberryに特定のネットワークからインターネットを取得させる
「インターフェイス」ではなく「ネットワーク」という言葉に固執し、純粋なIPの意味でこれに答えます。
インターネットを提供できる複数の接続がある場合は、ルートテーブルを介してどちらを使用するかを制御します。
私が通常使用するルーティングテーブルを表示するにはnetstat -rn(-r「ルーティングを表示」、-n「番号を表示、DNSルックアップを試行しないでください。インターネットが正しく構成されていないとハングする可能性があります」)。本当に簡単な例は次のようになります。
pi@homeServer ~ $ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.9.1 0.0.0.0 UG 0 0 0 eth0
192.168.9.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
172.20.10.0 0.0.0.0 255.255.255.240 U 0 0 0 wlan0
pi@homeServer ~ $
IPパケットがどの方向に進むかを示すその出力の行は0.0.0.0、の宛先とgenmaskを持つ行であり0.0.0.0、通常はとして知られていますdefault route(のマスク0.0.0.0はすべてワイルドカードで、実際にはデフォルトルートのマーカーです)。現在、「192.168.9」の範囲の特定のアドレスを指しているため、インターネットトラフィックはイーサネットインターフェースを経由します。
インターネットを他のネットワークに切り替えたい場合は、(ルートとして)routeコマンドを使用します。この場合、wifi接続がポイントツーポイントではない場合、ルーターのIPアドレスを知る必要があります。そのネットワークからトラフィックを転送します(私の場合は172.20.10.1そうです)。
現在のデフォルトルートを削除する
sudo route del default
他のネットワークの新しいデフォルトルートを追加する
sudo route add default gw 172.20.10.1
FYIながらroute、私が使用するものですが、私はいくつかは、それが非推奨となり、代わりに使用することをお勧め考える参照ip routeコマンドを、構文については、以下の@Fredのコメントを参照してください。非推奨のリファレンス
ドングルのインターフェースを介して接続を維持する方法はありますか
、およびを使用して作業しppp、wvdial構成(または少なくともそれらをセットアップする際のガイドへの参照)なしで作業してからしばらく経ちますが、実行中の問題を推測するのは非常に困難ですが、いくつかのアイデアがあります:
- 接続が本当にダウンしているか、eth0が起動したときにデフォルトルートを失っただけですか?
- との両方
netstat -rnでこれを確認してくださいifconfig。
- インターフェースは
netstat -rn?もしそうなら、それへのデフォルトルートはありますか?
- では
ifconfig、あなたが(おそらくドングル用のインターフェイスを参照くださいppp)?それはUP?
- どこで
ppp/ wvdialログを記憶することはできませんが、それを確認する必要があります。そのログは接続状態を示し、何らかの理由でシステム全体がシャットダウンしたかどうかを知らせます。
- インターフェイスが表示されている場合は、そのインターフェイス上で
ping何か(...何でも...)を試して、接続が確立するかどうかを確認します。
ppp/ wvdialコンボにはいくつかの自動接続機能があることがわかっています(構成によって異なります)
- そのため、接続にpingが発生した場合(または接続がずっと停止しなかった場合):イーサネットを起動したときに失われた(ppp)デフォルトルートである可能性があります。
- これが問題になる場合は、デフォルトルートを追加するだけで、システム全体がオンラインに戻ります。