Согласно этой странице, нет никаких BSDs, поддерживаемых на Гиперпротив Вас, может хотеть заглянуть к другому решению для виртуализации, если необходимо выполнить BSD VMs.
Можно попытаться выполнить следующее в CLI
#netstat -ltnup
Это должно перечислить все процессы, которые слушают на Вашем сервере/системе. Grep для номера порта Вы хотите
#netstat -ltnup | grep 1194
Если можно получить pcap допустимого Клиента OpenVPN к взаимодействию сервера OpenVPN, Вы могли смоделировать начальный набор пакетов с чем-то как netcat, как предложено TiZon.
В основном Вы хотите, чтобы действительно допустимый первый пакет заставил сервер отвечать, по крайней мере, сообщением об ошибке, таким образом, это не должно быть прекрасно, просто достаточно хорошо.
Я пытался идти в http://pcapr.net, но я не видел примера OpenVPN там. Возможно, если кто-то еще утверждает, что сервис закончился, Вы могли бы заставить того другого человека захватывать pcap транзакции.
если у Вас есть установка openvpn на tcp, слушают затем его столь же простой как
telnet vpnserver 1194
принятие 1194 является портом, на котором у Вас есть оно слушающий
это должно дать Вам какой-то ответ, чтобы показать, что openvpn сервер слушает
Sorry if I'm a bit late with my answer ;)
Send an udp packet with the following content:
$38$01$00$00$00$00$00$00$00
The server must respond something.
You can forge udp packets with python like this:
import socket
senddata= "\x38\x01\x00\x00\x00\x00\x00\x00\x00"
def checkserver(ip,port):
print('Checking %s:%s' %(ip,port))
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.settimeout(5) # in seconds
sock.connect((ip, port))
print("Sending request...")
sock.send(senddata)
try:
dta=sock.recv(100)
print("Server reply: %s" %(dta))
except:
print("Server not responding")
sock.close()
print("###########################################################")
def main():
checkserver("addr.of.server1",1194)
checkserver("addr.of.server2",1195)
if __name__ == "__main__":
main()
Вот однострочная оболочка:
echo -e "\x38\x01\x00\x00\x00\x00\x00\x00\x00" |
timeout 10 nc -u openvpnserver.com 1194 | cat -v
если на другом конце есть openvpn, вывод будет
@$M-^HM--LdM-t|M-^X^@^@^@^@^@@$M-^HM--LdM-t|M-^X^@^@^@^@^@@$M-^HM--LdM-t|M-^X...
, в противном случае он просто отключится и будет отключен через 10 секунд или отобразится что-то другое.
ПРИМЕЧАНИЕ: это работает, только если опция конфигурации tls-auth
не активна, иначе сервер отклоняет сообщения с неправильным HMAC.
Для всех, кто сталкивается с этим, кто пытается контролировать сервер, на котором включен tls-auth
, вы можете использовать скрипт python здесь: https: // github .com / liquidat / nagios-icinga-openvpn
Вывод форматируется для использования в Nagios или Icinga, но его может запускать кто угодно / кто угодно, при условии, что у вас есть python и ключевой файл tls.
Например, если вы используете SHA256
в качестве дайджеста, вы должны использовать что-то вроде:
python check-openvpn.py -p 1194 --tls-auth ta.key --digest SHA256 vpn-server. example.com
Примечание: вам может потребоваться добавить - tls-auth-inverse
в зависимости от значения сервера key-direction
.
Чтобы узнать, можете ли вы получить доступ к openvpnserver и порту, используя UDP (, а не TCP ), вы можете использовать «netcat» (в Linux )следующим образом :
nc -vu openvpnserver 1195
, если результат примерно такой:
Подключение к порту 1195 openvpnserver [udp/*] выполнено успешно!
вы можете отправлять UDP-запросы на порт openvpnserver:.