Сеть с полным двойным стеком IPv6 контролируется Nagios 3.5.1, установленным из EPEL на сервере CentOS 6.7. На контролируемых хостах работают агенты NRPE, все из которых настроены для работы как демоны (не через xinetd) в строке конфигурации.
allowed_hosts=bombur.example.com
где bombur.example.com
- это полное доменное имя сервера Nagios, которое разрешается в 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
Это отлично работает для хостов, на которых запущены выпуски NRPE до 2.15, которые не имеют поддержки IPv6 и принимают только соединения IPv4. Но на хостах с NRPE 2.15, который поддерживает IPv6, соединения с сервера Nagios отклоняются с сообщением журнала:
nrpe[21665]: Host 2001:db8:f00:ba8::28 is not allowed to talk to us!
Видимо allowed_hosts=<hostname>
Директива разрешает только IPv4-адрес данного хоста, но не его IPv6-адрес.
Это правильный вывод? Есть ли способ обойти такое поведение, желательно без жесткого кодирования числового IPv6-адреса во всех конфигурациях агента NRPE?
Вроде при запуске NRPE смотрит вверх bombur.example.com
и использует первый (в данном случае IPv4) адрес для allowed_host
вход.
Самый простой способ обойти это - просто использовать два имени хоста. Например, сделайте bombur4.example.com и bombur6.example.com, которые разрешают только адреса IPv4 и IPv6 соответственно.
Если бы по какой-то причине это не было вариантом, вам пришлось бы просто явно указать оба IP-адреса (и, надеюсь, использовать систему управления конфигурацией).