web-dev-qa-db-ja.com

静的IPかDHCPIPかを判断します

システムに接続されている [〜#〜] ip [〜#〜] アドレスがであるかどうかを確認するために、すべてのLinuxディストリビューションで一般的な解決策を見つけようとしています。 /] static または [〜#〜] dhcp [〜#〜]

Ubuntuでは、 static または [〜#〜] dhcp [〜#〜] のどちらであるかを [〜#〜] dhcp [〜#〜] grep on /var/log/syslogですが、一般的なソリューションではないため、他のプラットフォームでは異なる場合があります。

ターゲットボードの1つは Cortina で、そのためのブートアップカーネルとしてopen wrt を使用しています。 Cortina にもvar/log/syslogはありません。

2
Neetz

問題は、たとえばNetworkManagerを使用している場合、IPとゲートウェイおよびDNSサーバーを要求することです。しかし、それを超えて、必要な情報を取得すると、基本的に静的にアドレス指定情報を設定します。基本的に、マシンの残りの部分は、アドレスが静的であるか動的であるかを認識または気にせず、アドレスを持っているだけです。

確認してもいい /var/log/syslog特にDHCPACKエントリ用。 dhclientとNetworkManagerがそこに書いていると思います。

2
hlmtre

ターミナルを入力します

cat/etc/network/interfaces

この行の1つを見つける必要があります

iface eth0 inet dhcp

これは、インターフェースeth0のIPがDHCPからのものであることを意味します

iface eth0 inet static

上記の行は、IPが静的であることを示しています。他のパラメータも見つける必要があります。

1
GarryMoveOut

CentOSの場合は、/ etc/sysconfig/network-scripts/ifcfg-eth0を確認できます。チェック[〜#〜] bootproto [〜#〜]エントリは言います。 dhcpの場合、DHCPが構成されています。 静的またはなしの場合、そうではありません[〜#〜] dhcp [〜#〜]

1
Chandrasekar

nmcliにコマンドがあります。
これはすべてのLinuxフレーバーで機能するはずです。

nmcli -f ipv4.method con show eno16780032

出力がautoの場合、DHCPです。
出力がmanualの場合、静的です。

0
Satish Sura