IPを持つインターフェイスにデフォルトゲートウェイを割り当てる方法を知っています。
ip route add default via <host> dev <dev>
# e.g.
ip route add default via 192.168.0.101 dev eth0
問題は、私のシナリオでは、eht0のIPが外部で管理されることです。したがって、eth0のIPが変更された場合、前のコマンドは機能しません。
IPに関係なく、インターフェイスをデフォルトゲートウェイとして割り当てる簡単な方法はありますか?
- ノート:コンピュータの電源を入れたときにインターフェイスが機能しません。
- ノート2:私のインターフェースは3gモデムなので、接続を要求する前にゲートウェイIPもわかりません。
答え1
一部のモデムカードが動作しています。プロキシARP。これは、基本パスがカードを通っていることがわかることを意味します。ゲートウェイなしping 8.8.8.8
そして、インターネット全体がLAN上にあるかのように、カードはイーサネットのように見えるため、システムはすべてのIPに対してARP要求を開始します(例:aの後の8.8.8.8のARP)。カードがプロキシARPを実行している場合に機能します。名前付きカードの例ワイヤレスネットワーク0:
ip route add default dev wwan0
プロキシARPを実行しないと、3秒後にタイムアウトし、インターネットIPに対して「ターゲットホストに接続できません」というメッセージが表示される以外は何も起こりません。
テストをして、結果がどうなっているかを確認する必要があります。
答え2
努力する
IP=$(ip a s dev eth0 | awk '$1=="inet" { split($2,I,"/") ;print I[1] }')
ip route add default via $IP dev eth0
eth0を変数に置き換えることができます。
eth0(またはモデムインターフェイス)がDHCPによって管理されているかどうかはわかりません。おそらく正しいパスを提供する可能性があります。
答え3
ping 8.8.8.8のIPアドレスを「外部管理」する方法は2つあります
。この方法は、DHCPを介してIPアドレスを取得する方法です。同じDHCPパケットには、自動的に設定する必要があるデフォルトルートも含まれています。または、pppなどで設定されている場合は、ポイントツーポイント接続です。また、ルーティングに使用できる他のエンドポイントのIPも提供されます。重要な要約:「IP独立ゲートウェイを設定する」方法はありません。仕組みではありません。アドレスを取得したインターフェイスに応答してデフォルトパスを自動的に設定します。詳細は、使用しているネットワークインターフェイスの種類によって異なります。 - 6月11日午後8時06分