Ошибка OpenVPN: TLS key negotiation failed to occur within 60 seconds
- Клиент циклически зависает на строке:
TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity). - В логе следует ошибка:
TLS Error: TLS handshake failed. - Соединение с сервером не устанавливается, пакеты TLS рукопожатия не доходят до адресата или блокируются брандмауэром.
1. Проверка доступности порта и фаервола на стороне сервера
Убедитесь, что процесс OpenVPN слушает нужный порт и трафик не блокируется iptables/nftables/ufw:
# Проверка прослушивания порта
ss -tulpn | grep 1194
# Разрешение входящего UDP трафика в UFW
ufw allow 1194/udp
# Разрешение в iptables
iptables -I INPUT -p udp --dport 1194 -j ACCEPT2. Проверка проброса портов (Port Forwarding / NAT)
Если сервер находится за NAT-маршрутизатором или в облаке (AWS Security Groups, Yandex Cloud, Hetzner Firewall), убедитесь, что внешний порт 1194 UDP проброшен на локальный IP сервера.
3. Проверка блокировки провайдером и тестирование через TCP
Многие операторы связи и общественные Wi-Fi сети блокируют исходящие UDP-пакеты к нетипичным портам. Настройте прослушивание резервного порта TCP 443:
# В server.conf:
port 443
proto tcp
# В client.ovpn:
remote vpn.example.com 443 tcp4. Проверка несоответствия ключа tls-auth / tls-crypt
Если на сервере включен tls-auth или tls-crypt, а у клиента отсутствует ключ, сервер молча отбрасывает пакеты без ответа (защита от сканирования портов), что вызывает ровно 60-секундный таймаут.
# Убедитесь в наличии идентичного блока в конфиге клиента Частые вопросы (FAQ)
Почему таймаут составляет именно 60 секунд?
60 секунд — это значение по умолчанию для директивы tls-timeout. Если за это время полный цикл TLS рукопожатия не завершился, OpenVPN считает попытку неудачной.
Почему nmap показывает порт UDP 1194 в статусе 'open|filtered'?
UDP является протоколом без установления соединения. Если на сервере включен tls-auth/tls-crypt, он не отвечает на посторонние пакеты без правильной подписи, поэтому сканеры не могут отличить открытый порт от закрытого.
Как проверить, доходят ли входящие пакеты до сервера физически?
Запустите утилиту tcpdump на сервере: tcpdump -nn -i any port 1194. Если при подключении клиента счетчик пакетов растет, проблема кроется в фаерволе сервера или tls-ключах.
Может ли рассинхронизация времени (NTP) вызвать этот таймаут?
Да, если часы сервера или клиента отстают/спешат больше чем на допустимый срок действия сертификата, проверка TLS завершится неудачей на этапе рукопожатия.