Перейти к содержанию

Диагностика OpenVPN с ГОСТ

Проверку начните с состояния сервиса, затем проследите согласование TLS, алгоритмов канала данных и работу маршрутов. Разделяйте криптографическую неисправность и отсутствие сетевого доступа после успешного соединения.

Собрать журнал криптографии

Для сервера:

journalctl -u openvpn-server@server-gost.service -n 500 --no-pager   | grep -Ei 'cipher|HMAC|Control Channel|Data Channel|TLS|VERIFY|DCO|error|warning'

Для клиента (подставьте имя профиля):

journalctl -u openvpn-client@cloud.ru.service -n 300 --no-pager   | grep -Ei 'cipher|HMAC|Control Channel|Data Channel|TLS|VERIFY|AUTH_FAILED|error'

Расшифровка сообщений

Симптом Причина или значение Действие
IV_CIPHERS=kuznyechik-cbc Клиент объявил поддержку, но это ещё не результат выбора Найдите Incoming/Outgoing Data Channel
Data Channel: Cipher 'kuznyechik-cbc' initialized Канал данных действительно инициализирован этим шифром Сверьте оба направления и HMAC
id-tc26-gost3411-12-256 в HMAC Пакеты аутентифицируются по Стрибогу-256 Проверьте обе строки HMAC
TLS_AES_256_GCM_SHA384 Управляющий TLS использует AES, не ГОСТ Для полного ГОСТ-TLS нужен самостоятельный профиль
no shared cipher Клиент и сервер не согласовали алгоритм канала данных Сверьте data-ciphers, OpenSSL, --show-ciphers
certificate verify failed Не пройдена проверка цепочки, имени, срока или назначения Изучите TLS-журнал и сертификаты
DCO warning Ускоренный путь не поддерживает этот CBC-профиль Используйте обычную обработку OpenVPN
TLS работает, IP не проходит Маршруты, FORWARD, NAT или DNS Проверяйте ip route, iptables, resolvectl

Проверить OpenSSL и конфигурацию

openssl list -providers
openvpn --show-ciphers | grep -i kuznyechik
openvpn --show-digests | grep -i gost
sudo grep -Ein '^\s*(cipher|auth|data-ciphers|data-ciphers-fallback|tls-cipher|tls-ciphersuites)'   /etc/openvpn/server-gost.conf

Если установленная система поддерживает алгоритм в openssl, но его нет в openvpn --show-ciphers, это означает, что использование в OpenVPN требует дополнительной проверки. Не копируйте в data-ciphers любое название из списка OpenSSL.

Проверка маршрута и защиты сети

ip -br addr
ip route
resolvectl status
sudo iptables -S INPUT
sudo iptables -S FORWARD
sudo iptables -t nat -S

В НАЙС.ОС не используются NetworkManager и firewalld. Не сбрасывайте политику DROP ради диагностики: сохраняйте защиту и изменяйте только адресные правила в нужной цепочке.

Повторные подключения

Если в журнале клиент каждые некоторое время заново проходит TLS-проверку и инициализирует каналы данных, проверьте параметры обновления ключей, стабильность сети и причины переподключений в соседних строках. Само повторение Control Channel и Data Channel не свидетельствует об ошибке криптографии.

Приёмочные испытания · Рабочий профиль