dil: (Default)
2017-09-11 08:33 pm

Настраивал сегодня openvpn

Подключился с клиентской машинки к серверу, посмотрел в тамошний лог, а.. соединения на сервер приходят со 127.0.0.1:

Sep 11 12:19:31 srv ovpnsrv[16954]: 127.0.0.1:42277 [plex7] Peer Connection Initiated with [AF_INET]127.0.0.1:42277
Sep 11 12:19:31 srv ovpnsrv[16954]: plex7/127.0.0.1:42277 OPTIONS IMPORT: reading client specific options from: /etc/openvpn/ccd/plex7
Sep 11 12:19:31 srv ovpnsrv[16954]: plex7/127.0.0.1:42277 MULTI: Learn: 10.20.30.2 -> plex7/127.0.0.1:42277
Sep 11 12:19:31 srv ovpnsrv[16954]: plex7/127.0.0.1:42277 MULTI: primary virtual IP for plex7/127.0.0.1:42277: 10.20.30.2
Sep 11 12:19:32 srv ovpnsrv[16954]: plex7/127.0.0.1:42277 PUSH: Received control message: 'PUSH_REQUEST'
Sep 11 12:19:32 srv ovpnsrv[16954]: plex7/127.0.0.1:42277 send_push_reply(): safe_cap=960
и т.д...

Машинки физически разные, и хотя в данном случае они соединялись непосредственно через wifi, но никаких дополнительных туннелей между ними нету, прокси-серверов тоже нету, а в настройках клиента указан публичный адрес сервера. Кто тут грамотные системные администраторы – попробуйте догадаться, как такое может получиться ;)

Это не проблема, а просто загадка. Я-то ответ знаю.

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

dil: (Default)
2016-11-30 01:35 pm

Очередные грабли, на сей раз в openvpn’е

Юзеры стали жаловаться, что не могут подключиться к одному 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’ю что-то не нравится..

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

Read the rest of this entry » )

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

dil: (Default)
2016-04-09 09:43 pm

Грабли openvpn’ные

Как обычно, я на них умудрился наступить.

Попросили меня поставить openvpn-клиент на винду. Ну скачал, поставил, залил конфиг, подправил там маршруты к сертификатам и ключу, как положено, запускаю, а он не коннектится, а выдаёт идиотскую ошибку:
I'm trying to parse "C:\Program Files\OpenVPN\config\config.ovpn" as an --option parameter but I don't see a leading '--'

С какого бодуна он решил, что файл с конфигурацией – это параметр несуществующей опции –option, я так и не понял. Попробовал погуглить, но внятного ответа так и не нашёл. Посоветовался с начальством, а оно говорит: а ты его от администратора запускаешь? Задумался. Юзер, от которого я этот openvpn ставил, однозначно имел администраторские привилегии, потому что иначе б ему в Program Files ничего поставить не дали. И запускал от него же. Обычно когда openvpn запускается без админских привилегий, он ругается на невозможность конфигурирования интерфейса tun, изменения маршрутизации, и всё такое прочее, что вполне логично. А тут совершенно другая невнятная ошибка.
Ну поставил галочку “run as administrator”, и внезапно всё заработало. Никогда бы не подумал, что привилегии запускателя программы могут так существенно повлиять на разбор командной строки. Загадочные такие грабли..

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