いくつかの起動の問題のためにデバッグモードで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のバージョンは.2.
ソースコード(acl.c)をざっと見た後、2つの問題が見つかりました。
_add_ipv4_to_acl
_関数とは異なり、_add_ipv6_to_acl
_は、logit()
関数への呼び出しがないため、デバッグモードではほとんどメッセージを表示しません。次のように、IPv6アドレスが受け入れられると、_add_ipv6_to_acl
_関数にはlogit()
呼び出しがありません。
_if(debug == TRUE)
logit(LOG_INFO, "add_ipv4_to_acl: ip-address >%s< correct, adding.", ipv4);
_
notice:表示されているこれらの行は、_add_ipv4_to_acl
_関数の最後です。
そのため、デバッグモードのログには_>::1< correct, adding.
_を報告する行がありません。
IPアドレスリストを表示する関数show_acl_lists()
は、inet_ntoa()
呼び出しを使用します。しかし、 マニュアルページ によると、この関数はIPv6アドレスではなくIPv4アドレスを扱います:
_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->next;
}
_
したがって、ここでの問題は、IPv4アドレス構造の代わりにIPv6アドレス構造が使用されている場合、_52.0.0.0/14
_がinet_ntoa()
関数の出力であるということだと思います。
それでも私はまだ両方の構造を比較していません。
更新1
他のノードにNRPEをインストールし、_allowed_hosts
_ディレクティブで4つのIPをアドレス指定した後、_::1
_に表示されるACLリストエントリは異なります。現在は_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
_