Назад | Перейти на главную страницу

Какой лучший способ контролировать сервер OpenVPN?

У меня есть серверный компьютер OpenVPN, который находится в изолированной сети, правило NAT в брандмауэре компании перенаправляет весь трафик на порт 1194 (tcp) с общедоступного IP-адреса, который я выбрал, на внутренний адрес сервера OpenVPN. Я хотел бы создать проверку Nagios, которая будет отслеживать доступность сервера OpenVPN. Что было бы лучшим методом для его отслеживания, учитывая, что проверка будет выполняться из мира (сервер Nagios), а не изнутри компании?

Я делаю это удаленно, через NAGIOS, используя локальный плагин под названием check_openvpn.pl, вызывается через nrpe, который, в свою очередь, использует встроенные возможности управления OpenVPN для отчета о своем подробном состоянии.

Поскольку вы используете TCP в качестве канала-носителя VPN, вы можете выполнить простую проверку подключения TCP на порту 1194 (как отмечает Деннис в своем ответе), но преимущество этого плагина в том, что он выполняет довольно тщательную проверку OpenVPN и сообщает CN. в настоящее время подключен к серверу. Если он сообщает на этом уровне, я могу быть уверен, что сервер полностью готов и предлагает услуги всему миру, чего мне не дала бы простая проверка подключения.

Плагин пришел из эта страница на бирже NAGIOS; сайт автора видимо 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

Затем это в конце файла `.conf 'сервера OpeVPN:

# 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.

Для OpenVPN я просто отслеживаю, прослушивает ли он обычный порт:

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