Nagios
NRPE allowed_hosts 使用 IPv6 的名稱解析
完全啟用 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(並希望使用配置管理系統)。