November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Wednesday, November 30th, 2016 01:35 pm

Юзеры стали жаловаться, что не могут подключиться к одному OpenVPN-серверу. Ко всем остальным нормально, а к этому никак не получается. Проверял их конфиги, вроде всё правильно, посмотрел на сервер (он под pfSense работает), вроде тоже всё нормально. В логи посмотрел — никаких ошибок нету.

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

Пошёл сравнивать настройки с другими серверами, где работает. Вроде как всё примерно одинаково, но там работает, а тут нет. Потом случайно нашёл на том же pfSense ещё один OpenVPN, на другом порту, типа, для служебного пользования, а не для юзеров. Попробовал подключиться к нему — работает! Начал внимательно сравнивать конфигурации, разница оказалась в том, что у неработающего сервера в конфиге был указан Certificate Revocation List, а у работающего — нет. Ясное дело, надо проверить, нет ли там лишних сертификатов. Хотя непонятно, кто и зачем мог бы их туда добавить. Скопировал CRL к себе в файлик, запустил openssl crl -in a.crl -text, а он, блин, ругнулся:
unable to load CRL
140046118483600:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: X509 CRL

Погуглил, как должен выглядеть этот файл в PEM-формате, посмотрел в файл, там в первой строчке ------BEGIN X509 CRL-----, в последней -----END X509 CRL-----, посредине что-то закодированное в base64, вроде всё как надо, а openssl’ю что-то не нравится..

Ну, высококвалифицированные сисадмины, кто понял, что тут не так??
Отгадка, как обычно, под катом.

Очень, ОЧЕНЬ неочевидная ошибка: лишний минус в начале первой строчки! Видать, тот, кто этот файлик вписывал в pfSense через веб-интерфейс, чуточку ошибся, и в результате аутентификация проходит, а потом сервер пытается проверить, не отозван ли клиентский сертификат, но получив ошибку вместо подтверждения валидности, рвёт соединение. Непонятно только, почему он про это в лог ничего не писал. Ну, убрал я этот минус, и всё заработало..

Оригинал этой записи в личном блоге.

Wednesday, November 30th, 2016 04:26 pm (UTC)
офигеть...