![监控 OpenVPN 服务器的最佳方法是什么?](https://linux22.com/image/622944/%E7%9B%91%E6%8E%A7%20OpenVPN%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%96%B9%E6%B3%95%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
我有一台位于隔离网络上的 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
}