Uma rede habilitada para pilha dupla totalmente IPv6 é monitorada pelo Nagios 3.5.1 instalado do EPEL em um servidor CentOS 6.7. Os hosts monitorados executam agentes NRPE, todos configurados para serem executados como daemons (não via xinetd) com a linha de configuração
allowed_hosts=bombur.example.com
onde bombur.example.com
está o FQDN do servidor Nagios que resolve no DNS para os endereços IPv4 e IPv6:
% host bombur
bombur.example.com has address 192.0.2.28
bombur.example.com has IPv6 address 2001:db8:f00:ba8::28
Isso funciona bem para hosts executando versões NRPE anteriores a 2.15, que não têm suporte para IPv6 e aceitam apenas conexões IPv4. Mas em hosts com NRPE 2.15, que suporta IPv6, as conexões do servidor Nagios são rejeitadas com a mensagem de log:
nrpe[21665]: Host 2001:db8:f00:ba8::28 is not allowed to talk to us!
Aparentemente, a allowed_hosts=<hostname>
diretiva permite apenas o endereço IPv4 do host fornecido, não seu endereço IPv6.
Essa dedução está correta? Existe uma maneira de contornar esse comportamento, de preferência sem codificar o endereço IPv6 numérico em todas as configurações do agente NRPE?
Parece que quando o NRPE inicia, ele procura
bombur.example.com
e usa o primeiro endereço (IPv4 neste caso) para aallowed_host
entrada.A maneira mais simples de contornar isso é usar apenas dois nomes de host. Por exemplo, faça bombur4.example.com e bombur6.example.com que resolvam apenas os endereços IPv4 e IPv6, respectivamente.
Se isso não fosse uma opção por algum motivo, você teria que apenas listar os dois IPs explicitamente (e, com sorte, usar um sistema de gerenciamento de configuração).