Туннель поднимается, журнал показывает шифр, и обзор профиля продолжается. Затем к партнёру приходит обновление, и тот же профиль падает с сообщением об отсутствии общего шифра, что отправляет людей искать директиву, которую нужно удалить. Полезно понимать, что data-ciphers описывает переговоры, а не настройку. Одна сторона предлагает список, другая выбирает из него, и результатом является единственный алгоритм, который поддерживают обе. Чтение этого обмена объясняет большинство таких сбоев до того, как вы измените строку.

Два канала, две конфигурации

Одна OpenVPN сессия имеет канал управления и канал данных. Канал управления выполняет рукопожатие TLS, которое аутентифицирует партнёров и согласует ключи. Канал данных шифрует пакеты, которые несут ваш трафик.

data-ciphers настраивает второй. У канала управления свои параметры, а проверки подлинности профиля — третья, отдельная тема. Изменение одного не исправляет другое, поэтому профиль может выглядеть правильным и всё же сбоить на определённом этапе.

Держите эти три в отдельных ящиках, когда читаете файл конфигурации.

Прочитайте переговоры из журнала

Журнал клиента называет оба результата, когда соединение успешно. Одна строка сообщает о канале управления и его деталях TLS, а другая — о выбранном шифре канала данных.

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

Затем сравните предложенные списки с обеих сторон. Имя, которое версия одного партнёра или его криптографическая основа не предоставляет, нельзя выбрать, независимо от того, как рано оно появляется в списке другого партнёра.

Как на самом деле происходит выбор

Сервер проталкивает свой список data-ciphers клиенту во время рукопожатия, а клиент выбирает первую запись в этом списке, которую поддерживает и он. Поэтому порядок принадлежит конфигурации сервера, а не клиента.

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

Более новые выпуски изменили список по умолчанию и переименовали параметр, который его содержал, поэтому два партнёра на разных версиях могут не сойтись, хотя никто не редактирует профиль. Проверьте версию с каждой стороны, прежде чем предполагать опечатку.

Список не является рейтингом силы в абстрактном смысле. Это набор кандидатов, и выбранный — первая взаимно поддерживаемая запись в порядке сервера. Поэтому два списка, которые выглядят по-разному, могут согласовать один и тот же шифр. Поэтому же два списка, которые выглядят одинаково, могут дать сбой.

Старым партнёрам нужен намеренный запасной вариант

Партнёр, который вообще не может вести переговоры, потому что старше механизма или отключил его, нуждается в документированном соглашении о совместимости. Запасной параметр существует именно для такого случая и применяется к партнёрам, которые не участвуют в переговорах.

Это не то же самое, что включить каждый старый шифр, чтобы сообщение исчезло. Широкий список ослабляет сессию для каждого партнёра, включая тех, кто договорился бы о чём-то сильном.

Согласуйте обе стороны вместо того, чтобы редактировать несвязанные имена алгоритмов. Если обновление сервера удалило старый параметр, исправление относится к плану версий, а не к суете на клиенте.

Сохраните проверку нетронутой

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

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

После поддерживаемого исправления проверьте начальное соединение и повторные переговоры, потому что сессия, которая устанавливается один раз, всё ещё может сбоить при обновлении ключей.

Если туннель устанавливается, а сайты всё ещё не работают, шифр больше не подозреваемый. Продолжайте с маршрутизацией и DNS. Порядок работы: прочитайте обе строки журнала, сравните оба списка, проверьте версии, добавьте запасной вариант только партнёру, которому он нужен, и затем снова проверьте путь обновления.

Похожие статьи