デフォルトゲートウェイではなくeth0のゲートウェイアドレスをどのように確認しますか?

デフォルトゲートウェイではなくeth0のゲートウェイアドレスをどのように確認しますか?

私のシステムには、eth0(接続または接続されていない可能性があります)とppp0(常にオンまたはオフになっている可能性があります)にモデムがあります。インターフェイスがすべて機能し、ppp0がデフォルトパスである場合は、eth0の実際のゲートウェイIPアドレスを確認する方法を見つけたいと思います。 "netstat -rn"を試しましたが、この構成では出力は次のようになります。

カーネルIPルーティングテーブル
ターゲットゲートウェイ Genmask フラグ MSS ウィンドウ irtt Iface
xx.xx.xxx.xxx 0.0.0.0 255.255.255.255 語0 0 0 ppp0
192.168.98.0 0.0.0.0 255.255.255.0 ユー 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 ユー 0 0 0 ルオ
0.0.0.0 0.0.0.0 0.0.0.0 有 0 0 0 ppp0

それでは、eth0のゲートウェイアドレスをどのように決定しますか?上記の場合、実際のゲートウェイアドレスは192.168.98.1です。

答え1

あなたの間違いは、netstat出力の情報をターゲット以外のインターフェイスに関連付けることです。宛先アドレスには接続ゲートウェイがあります。ネットワークを設定するときは、インターフェイスとゲートウェイを宛先アドレスセットに関連付けます。したがって、「192.168.98/24のターゲットゲートウェイは何ですか?」という質問を投げる必要があります。その範囲内で対応するイーサネットにブリッジするか、直接接続します。

デフォルトのパスはviaですppp0(最後の行はマスクがすべてゼロのワイルドカードパスであるため、実際にはビットが比較されないため、このアドレスのパケットはを通じて送信されますppp0)。したがって、ワイルドカードマスク127.xx.xx.xxにない宛先に向けられたパケットは、192.168.98.xx最終的にワイルドカードマスクと一致してを通じて送信されますppp0。これはポイントツーポイントプロトコルなので、そのインターフェイスから送信されたすべてのパケットは、そのリンクから直接アドレス指定できる唯一のデバイス、つまりリンクのもう一方の端にあるデバイスに送信されます。ゲートウェイを指定する必要はありません。すべてこのインターフェイスを介して送信されたパケットは、インターネットの宛先に関係なくデバイスを介して送信されます。

現在:アクセス可能なルーターがある場合、eth0そのルーターは192.168.98.xxの範囲のIPアドレスを持っていることはほぼ確実であり、少なくとも192.168.98.1ではありません。そして、そのルーターの電源が入っていて、実際にインターネット、ローカルネットワークに直接接続されていないすべてのルートであるデフォルトルートが必要です。default via 192.168.98.1

新しい(相対的な用語であり、長い間使用されている)ipコマンドを使用している可能性があります。試してみてip route結果が出たら、試してみてくださいip route help。それ以外の場合は試してくださいroute help


したがって、eth0インターフェイスはまったくありません。持つゲートウェイアドレス。ゲートウェイとして機能したいイーサネットネットワークに接続されている他のデバイスがあります。あなたのネットワークにはレスポンシブ(純粋なレガシー)ネットワークがあると言われました.1。その住所がなければならないという法律もなく、住所の存在を宣伝しなければならないという法律もありません。いくつかの一般的な方法がありますが、その最も一般的な方法は、ルーティングソフトウェアを実行しているボックスがdhcpサーバーも実行し、この方法でdhcpを使用しているすべての人に自分の情報を伝えることです。 MolbOrgの答え非常に一般的な設定スタイルが提供されていますが、この時点で誰でも提案できるものはすべて、特定のネットワークとある程度一致する可能性があります。

答え2

eth0これがDHCPクライアントインターフェースであると仮定します。
1つのオプションは、DHCPクライアントリースファイルを確認することです。dhcpd.リース
場所と名前はシステムによって異なります。一部のFedoraシステムでは、以下のファイルが/var/lib/dhclient/次の興味深い文字列を含むレンタルファイルです。

  option routers 192.168.1.1;

もう一つのオプションはfuntooボックスで私に効果的でした:dhcpcd -U eth0
スクリプトからソースコードを取得する準備が整った素晴らしいテーブルを印刷します。

broadcast_address=192.168.1.255
dhcp_lease_time=86400
dhcp_message_type=5
dhcp_server_identifier=192.168.1.1
domain_name_servers='192.168.1.1 192.168.1.101'
ip_address=192.168.1.101
network_number=192.168.1.0
routers=192.168.1.1
subnet_cidr=24
subnet_mask=255.255.255.0

Googleとマニュアルページによると、dhcping他のオプションがありますが、私のボックスでは失敗しましたが、あなたには効果があるかもしれません。dhclient -n

答え3

Linux:

端末を開く必要があります。 Linuxディストリビューションによっては、画面の上部または下部のメニュー項目にある場合があります。この例ではFedoraを使用します。アプリケーション>システムツール>ターミナルをクリックします。

端末が開いたら、次のコマンドを入力します。ip route | grep default

出力は次のようになります。

joe$ ip route | grep default
default via 192.168.1.1 dev eth0 proto static

この例では、192.168.1.1はデフォルトゲートウェイ(ルーター)IPアドレスです。

ここに画像の説明を入力してください。

このトピックに関する追加情報ゲートウェイIPを見つける方法(linux/win/osx)

関連情報