web-dev-qa-db-ja.com

デフォルトゲートウェイではない場合のeth0ゲートウェイアドレスの確認方法

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

カーネルIPルーティングテーブル
宛先ゲートウェイGenmaskフラグMSSウィンドウirtt Iface 
 xx.xx.xxx.xxx 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 
 192.168.98.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 
 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 
 0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0 

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

6
fred basset

eth0がDHCPクライアントインターフェイスであると想定します。
1つのオプションは、DHCPクライアントのリースファイルをチェックすることです dhcpd.leases
場所と名前はシステムによって異なります。一部の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

グーグルとマンページによると、dhcpingdhclient -nのような他のオプションがありますが、私のボックスでは失敗しますが、あなたのために働くかもしれません。

1
MolbOrg

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アドレスです。

enter image description here

このトピックの詳細については ゲートウェイIPを見つける方法(linux/win/osx)

1
Aditya RoCk