监控 OpenVPN 服务器的最佳方法是什么?

监控 OpenVPN 服务器的最佳方法是什么?

我有一台位于隔离网络上的 OpenVPN 服务器,公司防火墙中的 NAT 规则将端口 1194 (tcp) 上的所有流量从我选择的公共 IP 重定向到 OpenVPN 服务器计算机的内部地址。我想创建一个 Nagios 检查来监控 OpenVPN 服务器的可用性。考虑到检查将从全球(Nagios 服务器)而不是公司内部运行,监控它的最佳方法是什么?

答案1

我通过 远程执行此操作NAGIOS,使用名为 的本地插件check_openvpn.pl,通过 调用nrpe,然后使用 OpenVPN 的内置管理功能来报告其详细状态。

由于您使用 TCP 作为 VPN 承载器,因此您可以在端口 1194 上进行简单的 TCP 连接检查(正如 Dennis 在他的回答中指出的那样),但此插件的优点是它对 OpenVPN 进行相当严格的检查,并报告当前连接到服务器的 CN。如果它以该级别报告,我可以确信服务器完全正常运行并向全世界提供服务,而简单的连接检查无法给我这样的结果。

该插件来自NAGIOS exchange 上的此页面;作者的网站显然http://emergeworld.blogspot.com

详细情况如下:NAGIOS 服务器配置中的以下条目(加上适当的连接逻辑):

define service{
    use                 myconf-svc
    host_name           openvpn.server.hostname
    service_description openvpn
    check_command       check_nrpe!check_openvpn
    }

然后在 OpenVPN 服务器中执行以下命令nrpe.cfg

command[check_openvpn]=/usr/lib64/nagios/plugins/check_openvpn.pl -H localhost -p 11940 -P XXXXXXX

然后在 OpeVPN 服务器的 `.conf' 文件末尾添加以下内容:

# enable the mgmt interface for monitoring - tom 20120814
management 127.0.0.1 11940 /etc/openvpn/man.pass

请注意,11940上述两个数据都具有共同点;这是管理接口的端口号。上面条目中的密码nrpe.cfg(显示为XXXXXXX)也应出现在文件中/etc/openvpn/man.pass

答案2

对于 OpenVPN,我仅监视它是否正在监听常用端口:

define command {
        command_name    check_openvpn
        command_line    $USER1$/check_tcp -H $HOSTADDRESS$ -p 1194
}

相关内容