Nagios DHCPチェックプラグイン のいずれも、実際のテストとしてDHCPサーバーからIPを取得することはできません。彼らがすることは、特定のMacアドレスにどのIPを与えるかを尋ねるだけです。
DHCPサーバーが失敗しましたが、Nagiosは、Nagiosテストに合格できたが、実際にはクライアントにIPを提供できなかったため、アラートを出しませんでした。
質問
スクリプトがIPを要求し、DHCPサーバーにそれを配信させる方法はありますか?スクリプトは5分ごとに実行されるため、実行するたびにIPが破棄されます。
更新
理想的には、スクリプトが行うべきことは
# dhclient -r ; dhclient ; ip a|grep valid_lft
Killed old client process
valid_lft forever preferred_lft forever
valid_lft forever preferred_lft forever
valid_lft 86459sec preferred_lft 86459sec
valid_lft forever preferred_lft forever
で、もし preferred_lft
は更新されないので、警告します。
この方法の問題には、専用のNICが必要です。これを何らかの方法でシミュレートできれば、本当に良いでしょう。
完全に新しいデバイスがDHCPサーバーにIPアドレスを要求した場合に何が起こるかをテストするには、NagiosスクリプトがスプーフィングされたDHCPDiscoverパケットを送信する必要がありますMACアドレス。生のDHCPパケットを送信できる必要がありますが、それを試みる前に、この配置で実際に必要なものを修正する必要があります。
DHCPリース時間が24時間であると仮定します。 5分ごとに新しいMACアドレスでDHCPDiscoverパケットを送信し、プールからDHCPオファーを取得した場合、Nagiosテストだけでプールから288個のIPアドレスを占有します。リース期間がさらに長い場合、たとえば1週間の場合、最大2016のダミーリサーバーIPアドレスがあります。この量のスペアアドレスと実際のデバイス用のスペースを確保するには、/20
DHCPプールが必要です。
そのため、定期的なテストを使用することをお勧めし、99.9%以上のケースでそれに依存しています。プールが枯渇するというまれな状態は、テスト中に実際に状況を引き起こすのではなく、手動で対処する価値があります。
二次的アプローチ。追加のDHCP Discoverパケットを送信してテストするのではなく、実際のトラフィックを監視します。次が表示されたらアラートを作成します。
問題をかなり早く認識できるはずです。