Телефон без нареканий подключается к VPN роутера, а ноутбук с профилем с той же страницы загрузки получает тайм-аут. С сертификатами между этими двумя попытками ничего не изменилось, потому что ноутбук так и не дошёл до момента, где сертификаты имеют значение. Роутер публикует отдельные слушатели для TUN и TAP, и работающий профиль должен выбрать тот, который относится к его собственному типу устройства.

Решить, за какой из трёх возможных неисправностей гнаться, — вся работа здесь: порт, тип устройства или согласование шифра канала данных.

Три вещи, которые должны совпадать

Тип устройства, строка интерфейса профиля и порт слушателя образуют один выбор, а не три. Профиль, который объявляет dev tun и нацелен на слушатель TAP, не может завершить сеанс, и обратное точно так же терпит неудачу. Для своей модели и прошивки читайте порт на собственной странице VPN роутера, а не в руководстве, потому что номера меняются между сборками. Запишите модель и версию прошивки рядом с этим номером, чтобы следующий человек мог проверить.

Отчёты с мест упоминают пару вроде 12973 для TUN и 12974 для TAP на одной прошивке и другой номер на другой. Читайте это как доказательство того, что сборки различаются, а не как константы для копирования. Затем профилю нужно подходящее по расстоянию имя хоста: динамическое DNS-имя роутера, а не адрес WAN, который изменится.

После исправления порта и строки интерфейса профиль выглядит как обычная конфигурация клиента с одной строкой remote и одной строкой dev. Если они не совпадают, никакое количество повторов не даёт сеанса.

Читайте журнал в том порядке, в котором он печатается

Клиент OpenVPN сообщает о событиях в том порядке, в котором они происходят, поэтому последняя строка перед тишиной указывает слой для проверки. Когда запуск заканчивается на TLS Error: TLS key negotiation failed или просто ждёт первого ответа и сдаётся, сравнение сертификатов так и не происходило. Это указывает на доступность, на слушатель или на порт, за которым ничего нет. Ничто из этого не исправляется заменой файла CA.

Запуск, который доходит до VERIFY OK и затем терпит неудачу, находится совсем в другом месте, со своими причинами. Разделение этих двух исходов до касания файлов предотвращает классический обходной путь через пакеты сертификатов, о которых никогда не спрашивали. Когда рукопожатие завершено, но туннель не поднимается, смотрите на согласование шифра, а не на доступность.

Добавьте список шифров, которого ждёт современный клиент

Недавние клиенты OpenVPN отказываются от старых значений по умолчанию, которые прошивка потребительских устройств всё ещё предлагает, и симптом — сбой согласования сразу после успешного рукопожатия. Исправление — одна строка профиля, называющая то, что клиент примет: задайте data-ciphers в порядке AES-256-GCM, AES-128-GCM, CHACHA20-POLY1305 и AES-128-CBC. Любой алгоритм, который роутер не реализует, просто никогда не выбирается, поэтому более длинный список стоит лишь чуть более долгого согласования.

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

Импортируйте один раз вместо ручного редактирования копий

Импорт исправленного файла в NetworkManager избавляет от папки, полной слегка различающихся профилей: nmcli connection import type openvpn file client.ovpn, затем поднимите его по имени. Держите импортированный профиль единственной копией, которую вы редактируете, и удаляйте дубликаты, накапливающиеся от повторных загрузок.

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

Решите, что делать с предупреждениями

Прошивка потребительских устройств обычно создаёт собственный центр сертификации, и клиенты жалуются на проверку так, что прошивка не может это подавить. Оцените, важно ли это недовольство для того, что вы защищаете, вместо того чтобы считать каждое предупреждение фатальным, и не отключайте проверку глобально, чтобы заглушить одно сообщение. Предупреждение, которое вы оценили, — задокументированный риск; отключённая настройка проверки — нет.

Когда прошивка не даёт поддерживаемого способа исправить действительно важное предупреждение, этот пробел говорит в пользу размещения VPN в другом месте. Выбор между починкой профиля, принятием предупреждения и переносом конечной точки — решение о том, насколько вы доверяете этому сертификату. Примите его осознанно и запишите, какой вариант выбрали, вместо того чтобы щёлкать диалоги, пока значок не станет зелёным.

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