Диагностика 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 не свидетельствует об ошибке криптографии.