Nagios

NRPE allowed_hosts 使用 IPv6 的名稱解析

  • October 23, 2015

完全啟用 IPv6 雙棧的網路由從 CentOS 6.7 伺服器上的 EPEL 安裝的 Nagios 3.5.1 監控。受監控的主機執行 NRPE 代理,所有這些都被配置為使用配置行作為守護程序執行(不是通過 xinetd)

allowed_hosts=bombur.example.com

Nagios 伺服器的 FQDN在哪裡,bombur.example.com它在 DNS 中解析為 IPv4 和 IPv6 地址:

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

這適用於在 2.15 之前執行 NRPE 版本且缺乏 IPv6 支持且僅接受 IPv4 連接的主機。但是在支持 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 地址?

似乎當 NRPE 啟動時,它會查找bombur.example.com並使用第一個(在本例中為 IPv4)地址作為allowed_host條目。

解決此問題的最簡單方法是僅使用兩個主機名。例如,製作分別只解析為 IPv4 和 IPv6 地址的 bombur4.example.com 和 bombur6.example.com。

如果由於某種原因這不是一個選項,您必須明確列出兩個 IP(並希望使用配置管理系統)。

引用自:https://serverfault.com/questions/730606