Я настроил демон NRPE ( /usr/local/nagios/etc/nrpe.cfg
]) в режиме отладки из-за некоторых проблем с запуском, и я понял, что :: 1
, найденный по умолчанию в директиве allowed_hosts
:
allowed_hosts=127.0.0.1,::1,10.252.1.134
волшебным образом превращается в 52.0. 0.0 / 14
согласно журналу:
Sep 6 08:56:44 myhost nrpe[30830]: Warning: Cannot open log file '/usr/local/nagios/var/nrpe.log' for writing
Sep 6 08:56:44 myhost nrpe[30830]: parse_allowed_hosts: parsing the allowed host string >127.0.0.1,::1,10.252.1.134< to add to ACL list
Sep 6 08:56:44 myhost nrpe[30830]: add_ipv4_to_acl: checking ip-address >127.0.0.1<
Sep 6 08:56:44 myhost nrpe[30830]: add_ipv4_to_acl: ip-address >127.0.0.1< correct, adding.
Sep 6 08:56:44 myhost nrpe[30830]: add_ipv4_to_acl: checking ip-address >10.252.1.134<
Sep 6 08:56:44 myhost nrpe[30830]: add_ipv4_to_acl: ip-address >10.252.1.134< correct, adding.
Sep 6 08:56:44 myhost nrpe[30830]: Showing ACL lists for both IP and DOMAIN acl's:
Sep 6 08:56:44 myhost nrpe[30830]: IP ACL: 127.0.0.1/32 16777343
Sep 6 08:56:44 myhost nrpe[30830]: IP ACL: 52.0.0.0/14 52
Sep 6 08:56:44 myhost nrpe[30830]: IP ACL: 10.252.1.134/32 4269145354
Sep 6 08:56:44 myhost nrpe[30830]: INFO: SSL/TLS initialized. All network traffic will be encrypted.
Sep 6 08:56:44 myhost nrpe[30830]: Starting up daemon
Есть ли этому объяснение?
Версия NRPE - 3.2.0
После беглого взгляда на исходный код ( acl.c ) я обнаружил две проблемы:
В отличие от add_ipv4_to_acl
функция add_ipv6_to_acl
почти не показывает сообщение в режиме отладки из-за отсутствия вызовов функции logit ()
. Функция add_ipv6_to_acl
не имеет вызова logit ()
, когда адрес IPv6 принят, аналогично этому:
if (debug == TRUE)
logit (LOG_INFO, "add_ipv4_to_acl: ip-адрес>% s <правильно, добавление.", ipv4);
примечание : эти показанные строки являются последними в функции add_ipv4_to_acl
.
Вот почему нет отчета по строкам > :: 1 <правильно, добавление.
в журнале в режиме отладки.
Функция show_acl_lists ()
, которая отображает список IP-адресов, использует вызов inet_ntoa ()
. Но, согласно страницам руководства , , эта функция работает с IPv4-адресами, а не с IPv6-адресами :
while (ip_acl_curr! = NULL) {
logit (LOG_INFO, "IP ACL:% s /% u% u \ n", inet_ntoa (ip_acl_curr-> addr),
prefix_from_mask (ip_acl_curr-> mask), ip_acl_curr-> addr.s_addr);
ip_acl_curr = ip_acl_curr-> далее;
}
Поэтому я предполагаю, что проблема здесь в том, что 52.0.0.0/14
является результатом функции inet_ntoa ()
, когда вместо адреса IPv4 используется структура адреса IPv6. структура.
Тем не менее, я до сих пор не сравнивал обе конструкции.
обновление 1
После установки NRPE на другом узле и наличия 4 IP-адресов в директиве allowed_hosts
запись списка ACL, показанная для :: 1
, отличается - теперь это 0.0.0.0/20
:
Showing ACL lists for both IP and DOMAIN acl's:
IP ACL: 127.0.0.1/32 16777343
IP ACL: 0.0.0.0/20 0
IP ACL: 10.252.1.134/32 4269145354
IP ACL: 10.252.1.135/32 896662794