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

Как проверить связь с сервером OpenVpn, чтобы узнать, работает ли он?

Я просто хочу проверить, работает ли мой удаленный сервер openVpn. Вот это. Как я могу это сделать? Будет безопаснее использовать «top» или «ps aux», но, возможно, я смогу как-нибудь пропинговать его, то есть без необходимости сначала подключаться / аутентифицироваться через ssh?

Если вы хотите знать, что хозяин жив, ты можешь просто ping его IP или имя хоста. Убедитесь, что брандмауэр открыт для входящих Эхо ICMP пакеты оттуда, где вы пытаетесь пинговать.

Однако, если вы хотите знать, что openvpn работает, вам нужно будет подключиться к хосту. OpenVPN по умолчанию использует UDP на порту 1194, поэтому вам необходимо отправить ему UDP-пакет на этот порт.

Если openvpn является при его запуске этот пакет будет принят и отклонен (потому что это недействительное рукопожатие OpenVPN). Вы можете проверить это с помощью netcat например, а также проверьте код возврата ($? - 0 = успех, 1 = ошибка):

~ $ echo "abcd" | netcat -u -v -w2 192.168.130.1 1194
Connection to 192.168.130.1 1194 port [udp/openvpn] succeeded!
~ $ echo $?
0
~ $

С другой стороны, если openvpn служба не запущена, хост должен отправить обратно Порт ICMP UDP 1194 недоступен пакет, который сделает netcat немедленно выйти:

~ $ echo "abcd" | netcat -u -v 192.168.130.54 1194
~ $ echo $?
1
~ $ 

Быть в курсе, что netcat сообщит об успехе, даже если хост вниз потому что с UDP он не может отличить хост не работает и openvpn получает и отбрасывает пакет. Ни в том, ни в другом случае он не получит ответа. Только если хост включен, а openvpn не работает, он получит ответ о недоступности порта ICMP и выйдет с 1. Это означает, что вам нужно запустить ping -n -c2 ... кулаком, чтобы убедиться, что хост действительно включен.

Надеюсь, это поможет :)