仕事でNAGIOS+nrpeの設定をしていたとき少しハマりました。
NAGIOS監視サーバー側でnrpeを利用してエージェントサーバー側を監視しようとしたのですが、タイトルの通り「Could not complete SSL handshake」エラーが出て接続できない、、、。
nrpeのバージョンは2.0
SSLに原因があると思って、監視サーバー側の呼び出しコマンドに -n オプションを付けてSSL無効にしたが×。
エージェントサーバー側にも -n オプションを付けたが×。
エージェント側のログ(/var/log/messages)を見てみてると、
Host xxx.xxx.xxx.xxx is not allowed to talk to us!
というログが、、、。
原因は、、
nrpe.cfgファイルのallowed_hosts=の項目に、CIDR形式(xxx.xxx.xxx.0/28みたいな形式)で許可するIPアドレスを書いていました、、。
というか、それでOKだと思ってました、、、。
だって、そこに
I would highly recommend adding entries in your /etc/hosts.allow file to allow .....
て書いてあるから。。。
正解は、
allowd_hosts=127.0.0.1,xxx.xxx.xx.xxx,yyy.yyy.yyy.yyy(←許可するIPをカンマでつなぐ)
ちなみにエージェントサーバー側で
# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
と打ってnrpeを起動する場合は、nrpe.cfgファイルのallowd_hosts=項目を見て許可IPを決めますが、
デーモンに登録し
# /sbin/service nrpe start
みたいに起動する場合は、/etc/xinetd.d/nrpe(ファイル名は任意)内のonly_from=の項目が有効になります。
以上でーす。