
私のヘッドレス システムの 1 つに、有線イーサネット経由で静的 IP アドレスが割り当てられています/etc/network/interfaces
。このシステムは、DHCP サーバーでもあるルーターに接続されています。数日後、静的アドレスが削除され、DHCP アドレスに置き換えられます。これはなぜでしょうか。
sudo ifdown eth0 && sudo ifup eth0
またはまたは再起動を実行するとsudo service networking restart
、システムは再び静的アドレスを取得しますが、数日後に IP アドレスが動的アドレスに変更されます。- ネットワーク上には(偶然にも)同じ静的アドレスを持つ他のシステムは存在しません。
- NetworkManager がシステム上で実行されていません。
- アドレスが変更されるとすぐに電子メールで通知するようにシステムを設定しましたが、変更が発生する時間はまったくランダムのようです。DHCP リース時間は 24 時間ですが、相関関係はないようです。いずれにしても、静的アドレスの場合は問題にならないはずです。
- 私の /etc/network/interfaces は次のとおりです:
オートロー iface lo inet ループバック 自動 eth0 iface eth0 inet 静的 アドレス 192.168.124.104 ゲートウェイ 192.168.124.253 ネットマスク 255.255.255.0
ちょっとしたパズルです。
システムが静的アドレスを放棄し、代わりに DHCP アドレスを要求する原因は何でしょうか? どのログ ファイルで何を確認すればよいでしょうか?
答え1
最近、この問題に遭遇し、調査した結果、/etc/dhcp/dhcp.conf に次のようなブロックを追加する (またはコメントを解除する) 必要があることが判明しました。
エイリアス { インターフェース "eth0"; 固定アドレス 10.1.1.1; オプション サブネットマスク 255.0.0.0; }
お役に立てれば!
よろしくお願いいたします、グレンダン・グロス
答え2
うーん、奇妙ですね... 重要かどうかはわかりませんが、整理のために、パラメータはnetmask
「ゲートウェイ」の後ではなく「アドレス」の直後に配置します。また、ホストから( isc-
)パッケージをアンインストール/非アクティブ化し、ipv6 とパッケージに注意してください。その前に: 何が起こっているかを確認するには、DHCP ポート (サーバー 67 UDP とクライアント 68 UDP) との間のすべてのトラフィックを受け入れてログに記録するファイアウォール ルールを設定するか、デバイスの状態のログを作成するか、トラフィックをスニッフィングします。 dhcp-client
resolveconf
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;
}
答え3
これは古い話ですが、私も同じような問題に遭遇し、苦労しました。Canonical にケースを開いて助けを求めました。
その後、私は自分の問題を解決し、この投稿が、偶然この投稿に出会った他の誰かの役に立つかもしれないという希望を抱いて、この投稿に戻ってきました。結局、私の問題は「wicd-daemon」であることが判明しました。パッケージがどのように、またなぜインストールされたのかはわかりませんが、これが静的アドレスがドロップされ、他のネットワークの問題を引き起こす主な原因でした。
私の問題の症状は、ネットワーク ケーブルを抜いて再び差し込むと dhclient が起動するというものでした。ここで報告されている問題と同様に、別の IP アドレスを取得しました。NIC を手動で設定すると問題ありませんでしたが、その後、ランダムな時間が経つと別の IP を取得しました (dhclient がバックグラウンドで実行されているためと思われます)。dhclient が実行中かどうかを確認してください。dhclient がなぜ実行中なのかは別の問題です。以下では、dhclient を解決した方法を説明します。最終的にはいくつかのパス (avahi、ntpd、ifup など) をたどりました。私の場合は、wicd-daemon でした。
この問題は、ネットワークを切り替えてネットワーク ケーブルを物理的に移動する必要があったテスト中に最初に発覚しました。これにより、本来は発生しないはずのネットワーク問題が発生しました。また、静的 IP がドロップまたは変更されるとは予想されていなかったため、問題を発見するのにも少し時間がかかりました。
結局、wicd-daemon と python-wicd を削除することで問題は解決しました。私のシステムは、ネットワーク ケーブルが抜かれても静的 IP アドレスを保持するようになりました。dhclient も起動していないので、この問題も解決したと思います。他の方法も試し、私が抱えていた問題に関係していると思われる avahi を調べ、ntpd も調べました (奇妙だとは思いますが、他の問題と同時に syslog に表示されていました。NTPD はおそらくこれとは関係ありませんが、疑わしいログを生成していました)。私はいくつかの迷路をたどって、他のテスト中に実行中の wicd プロセスに偶然遭遇しました。
つまり、簡単に言えば、dhclient が実行中かどうか、また wicd などのネットワーク マネージャーがシステム上で実行されているかどうかを確認してください。これが、静的アドレスに関する問題の原因である可能性があります。
答え4
複数のインターフェースがある場合は、ファイル内で適切なインターフェースを定義するようにしてください/etc/network/interfaces
。
私にとって、問題は がauto lo
ファイルの先頭に定義されていることでした。しかし、実際にはその代わりに が必要でしたauto eth0
。
正しく定義されると、再起動しても静的 IP は保持されます。
これが誰かの役に立つことを願います。