web-dev-qa-db-ja.com

スクリプトはDHCPサーバーからIPを受信しますか?

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が必要です。これを何らかの方法でシミュレートできれば、本当に良いでしょう。

2
Louise Hoffman

完全に新しいデバイスがDHCPサーバーにIPアドレスを要求した場合に何が起こるかをテストするには、NagiosスクリプトがスプーフィングされたDHCPDiscoverパケットを送信する必要がありますMACアドレス。生のDHCPパケットを送信できる必要がありますが、それを試みる前に、この配置で実際に必要なものを修正する必要があります。

DHCPリース時間が24時間であると仮定します。 5分ごとに新しいMACアドレスでDHCPDiscoverパケットを送信し、プールからDHCPオファーを取得した場合、Nagiosテストだけでプールから288個のIPアドレスを占有します。リース期間がさらに長い場合、たとえば1週間の場合、最大2016のダミーリサーバーIPアドレスがあります。この量のスペアアドレスと実際のデバイス用のスペースを確保するには、/20DHCPプールが必要です。

そのため、定期的なテストを使用することをお勧めし、99.9%以上のケースでそれに依存しています。プールが枯渇するというまれな状態は、テスト中に実際に状況を引き起こすのではなく、手動で対処する価値があります。

二次的アプローチ。追加のDHCP Discoverパケットを送信してテストするのではなく、実際のトラフィックを監視します。次が表示されたらアラートを作成します。

  • 対応するDHCPオファーパケットのないDHCPディスカバリパケット。
  • 対応するDHCPAckパケットのないDHCP要求パケット。

問題をかなり早く認識できるはずです。

2
Esa Jokinen