LINUX.ORG.RU
ФорумTalks

OpenVPN сломался

 , , ,


0

1

Пакеты нигде не обновлялись. Есть сервер на CentOS 7, десктоп с десяткой и сяоми на андроиде. На манжаре не проверял. Для жутко оскорбившихся: у десятки значение имеет только клиент, а не сама десятка.

И вот решил я добавить еще и авторизацию по логину и паролю (что чутка удобнее, я вообще делаю подобие локалки, а то чувак знакомый делает мультиплеерную игру на юнити, и надо вот как-то тестить). Для этого был найден скрипт, который берет из файла список логинов и паролей. Сразу скажу, что скрипт был исследован и ничего опасного в нем нет. Ну и еще я решил почистить конфиг от комментариев. Что ж, авторизация по логину и паролю работает (вот бы еще от CA избавиться, вообще здорово будет), да только ничего не грузится. Полез в логи сервера - алгоритм шифрования не тот, что в конфигах. Он был AES-256-CBC, хотя был указан другой. Это клиент десятки. И что интересно, клиент на разные алгоритмы не жаловался. Менял cipher на разные - никаких изменений. Окей, может глюк какой. Подключился с сяоми - опа, а там вообще клиент пишет, что у сервера алгоритм BF-CBC. Погуглил, cipher вроде как deprecated, теперь надо ncp-ciphers. Но без ncp-disable опять разные алгоритмы. Окей, вроде всё работает, но клиент теперь пишет, что ключ меньше, чем 128 бит. Похоже, что они оба согласовались как BF-CBC (wat? я другое указал), и клиент требует cipher. Вернул его с ncp-disable, более-менее работает. С сяоми я всё еще не могу нормально подключиться.

На сервере OpenVPN 2.4.6. Ничего не обновлялось вообще, конфиг был только почищен от комментариев.

Кто-нибудь с таким сталкивался? Кто-нибудь знает, что вообще произошло?

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

Утверждение сомнительно только потому, что утверждает пользователь венды.

почистить скрипт от комментариев

#include
#define
#ifdef
#ifndef

? xD

от CA избавиться, вообще здорово будет

Ну и дурак.

r3lgar ★★★★★ ()
Ответ на: комментарий от r3lgar

почистить скрипт от комментариев

Поправил

Утверждение сомнительно только потому, что утверждает пользователь венды.

О да, cat file.txt такой опасный!

ozz_is_here ()
Последнее исправление: ozz_is_here (всего исправлений: 1)
Ответ на: комментарий от r3lgar

Утверждение сомнительно только потому, что утверждает пользователь венды.

Петухи до сих пор считают, что абсолютно все пользователи винды — гидроцефалы?

Valman_old ()
Ответ на: комментарий от Valman_old

Откуда пользователю венды знать про линупсоспецифичную фигню?

А вбросил ты плохо, в следующий раз самого забрызжет.

r3lgar ★★★★★ ()
Ответ на: комментарий от ozz_is_here

Я вбросил на другую тему, а Валман решил зацепиться за то, что на ЛОРе — оффтопик.

r3lgar ★★★★★ ()

Кто-нибудь знает, что вообще произошло?

Пользователь винды что-то нажал и все сломалось.

З.Ы. Конфиг openvpn'а и скрипт ты показывать конечно не будешь, пусть телепаты поработают.

Deleted ()
Ответ на: комментарий от Deleted

Пользователь винды что-то нажал и все сломалось.

Классика же

Конфиг openvpn'а и скрипт ты показывать конечно не будешь, пусть телепаты поработают.

Вряд ли тебе это поможет, обычный скрипт «из гугла»
https://pastebin.com/7ZYTPA4n
https://pastebin.com/ZFH8Eg9J

UPD: конфиг сервера криво скопировалось, в самом начале там еще
port 443
proto udp
dev tun

ozz_is_here ()
Последнее исправление: ozz_is_here (всего исправлений: 2)
Ответ на: комментарий от Deleted
#!/bin/sh
## format: username:password username:password ...
## you can even have same usernames with different passwords
# USERS='user1:pass1 user2:pass2 user3:pass3'
## you could put username:password in
## a separate file and read it like this
USERS=`cat /etc/openvpn/user.pass`
vpn_verify() {
if [ ! $1 ] || [ ! $2 ]; then
#echo "No username or password: $*"
exit 1
fi
## it can also be done with grep or sed
for i in $USERS; do
if [ "$i" = "$1:$2" ]; then
## you can add here logging of users
## if you have enough space for log file
#echo `date` $1:$2 >> your_log_file
exit 0
fi
done
}
if [ ! $1 ] || [ ! -e $1 ]; then
#echo "No file"
exit 1
fi
## $1 is file name which contains
## passed username and password
vpn_verify `cat $1`
#echo "No user with this password found"
exit 1
ozz_is_here ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.