web-dev-qa-db-ja.com

システムが静的IPアドレスを失う

ヘッドレスシステムの1つに、有線イーサネットの/etc/network/interfacesを介して静的IPアドレスが割り当てられています。 DHCPサーバーでもあるルーターに接続されます。数日後、静的アドレスはドロップされ、DHCPアドレスに置き換えられます。どうしてですか?

  • Sudo ifdown eth0 && Sudo ifup eth0またはSudo service networking restartまたは再起動を行うと、システムは再び静的アドレスを取得しますが、数日後にIPアドレスが動的アドレスに変更されます。
  • (偶然に)同じ静的アドレスを持つ他のシステムはネットワーク上にありません。
  • NetworkManagerはシステムで実行されていません。
  • アドレスが変更されるとすぐにメールを送信するようにシステムを設定しましたが、それが発生する時間は完全にランダムに見えます。 DHCPリース時間は24時間ですが、それは相関していないようで、とにかく静的アドレスにとって重要ではありません。
  • 私の/ etc/network/interfacesは次のとおりです。
 auto lo 
 iface lo inet loopback 
 auto eth0 
 iface eth0 inet static 
 address 192.168.124.104 
 gateway 192.168.124.253 
 netmask 255.255.255.0 

ちょっとしたパズルです。

システムが静的アドレスを放棄し、代わりにDHCPアドレスを要求する原因は何ですか?どのログファイルで何を探しますか?

9
Jos

最近、私はこの問題に出くわし、いくつかの調査の後、/ etc/dhcp/dhcp.confに次のようなブロックを追加(またはコメント解除)する必要があることが判明しました。

 
 alias {interface "eth0"; 
固定アドレス10.1.1.1; 
 option subnet-mask 255.0.0.0; } 
 

お役に立てれば!

よろしく、グレンドン・グロス

8
Glendon Gross

うーん、奇妙な...私はそれが重要かどうかわかりませんが、きちんとするために、「ゲートウェイ」ではなく「アドレス」の直後にnetmaskパラメーターを配置します。また、ホストから(isc-dhcp-clientパッケージをアンインストール/非アクティブ化し、ipv6とresolveconfパッケージに注意する必要があります。その前:何が起こっているのかを知る方法は、DHCPポート(サーバー67 UDPおよびクライアント68 UDP)との間のすべてのトラフィックを受け入れてログに記録するファイアウォールルールを設定するか、デバイス状態のログを作成することですdhcp-clientまたはトラフィックを嗅ぎます。

回避策(または代替ソリューション)は、ホストの一部にDHCP予約を構成するか、DHCPアドレスに無限のリース時間を構成することです。私にとってそれは非常にうまく機能し、利点は集中管理です。 DHCPサーバーがモデム/ルーターである場合は、おそらくWebインターフェイス(リース時間または予約)で構成でき、一部のルーターでは「固定アド​​レス」チェックボックスをチェックすることもできます。独自のサーバー(Ubuntu?)を構成した場合、次のような行を追加してdhcpd.confファイルを編集する必要があります。

Host Accountant {
  hardware ethernet 00:1F:6A:XX:XX:XX;
  fixed-address 192.168.124.104;
}
1
Olove

私はこれが古いことを知っていますが、私が苦労していた同様の問題に遭遇しました。また、Canonicalにサポートを依頼するケースを開きました。

それ以来、私はこの問題を解決し、これにつまずくかもしれない他の誰かにとってこれが役に立つことを願ってこの投稿に戻ってきました。最後に私の問題は、「wicd-デーモン」であることが判明しました。パッケージがどのようにまたはなぜインストールされたかはわかりませんが、静的アドレスを削除し、他のネットワークの問題を引き起こした主な原因でした。

私の問題の症状は、ネットワークケーブルを抜いて再び差し込むとdhclientが起動することでした。ここで報告された問題と同様に、別のIPアドレスを取得します。 NICを手動で設定した場合は問題ありませんでしたが、その後ランダムに異なるIPを取得します(dhclientがバックグラウンドで実行されているため)。 dhclientが実行されているかどうかを確認してください。 dhclientが実行されている理由については、別の問題です。以下にdhclientを解決したものを説明しますが、いくつかのパス(avahi、ntpd、ifupなど)をたどって追跡しました。私の場合、それはwicd-daemonでした。

ネットワークケーブルを物理的に移動する必要があるネットワークを切り替えていたため、問題はもともとテストで明らかになりました。これにより、ネットワークの問題が発生する可能性があります。また、静的IPがドロップまたは変更されるとは予想されていなかったため、問題を発見するのにも少し時間がかかりました。

最後に、wicd-daemonとpython-wicdをパージすることで問題を解決しました。ネットワークケーブルが抜かれた場合でも、システムは静的IPアドレスを保持します。 dhclientが起動するのを見たこともないので、問題も解決したと思っています。私が抱えていた問題で役割を果たしているように見えるavahiを見て、他のパスも下に行きました(NTPDも見ました(奇妙なことですが、他の問題と同時にsyslogに表示されていました) NTPDはおそらく何の関係もありませんでしたが、疑わしいログを生成していました。他のテストを行っているときに偶然実行中の偶然のプロセスに偶然出会うまで、私はいくつかのウサギの穴を駆け下りました。

Dhclientが実行されているかどうか、そしてシステムでwicdのようなネットワークマネージャーが実行されているかどうかを簡単に確認してください。静的アドレスに関する問題の原因となっている可能性があります。

1
ub-test