web-dev-qa-db-ja.com

NRPEallowed_hostsのIPv6による名前解決

完全にIPv6のデュアルスタック対応ネットワークは、CentOS6.7サーバー上のEPELからインストールされたNagios3.5.1によって監視されます。監視対象のホストはNRPEエージェントを実行します。これらのエージェントはすべて、構成行を使用して(xinetd経由ではなく)デーモンとして実行するように構成されています。

allowed_hosts=bombur.example.com

どこ bombur.example.comは、DNSでIPv4アドレスとIPv6アドレスの両方に解決されるNagiosサーバーのFQDNです。

% Host bombur
bombur.example.com has address 192.0.2.28
bombur.example.com has IPv6 address 2001:db8:f00:ba8::28

これは、IPv6サポートがなくIPv4接続を受け入れる2.15より前のNRPEリリースを実行しているホストでは正常に機能します。ただし、IPv6をサポートするNRPE 2.15を使用するホストでは、Nagiosサーバーからの接続はログメッセージで拒否されます。

nrpe[21665]: Host 2001:db8:f00:ba8::28 is not allowed to talk to us!

どうやらallowed_hosts=<hostname>ディレクティブは、指定されたホストのIPv4アドレスのみを許可し、IPv6アドレスは許可しません。

その控除は正しいですか?すべてのNRPEエージェント構成で数値IPv6アドレスをハードコーディングせずに、この動作を回避する方法はありますか?

3
Tilman Schmidt

NRPEが起動すると、bombur.example.comが検索され、allowed_Hostエントリの最初の(この場合はIPv4)アドレスが使用されるようです。

これを回避する最も簡単な方法は、2つのホスト名を使用することです。たとえば、それぞれIPv4アドレスとIPv6アドレスにのみ解決されるbombur4.example.comとbombur6.example.comを作成します。

それが何らかの理由でオプションではなかった場合は、両方のIPを明示的にリストする必要があります(できれば構成管理システムを使用します)。

3
Keith