OpenVPN-клиент в линуксе работает, в виндовсе нет!

Автор dduh, 26 ноября 2013, 13:55:43

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

dduh

Помогите разобраться с вопросом.
Конфиг клиента:

client
dev tap
proto udp
remote xx.xx.xx.xx 1194
resolv-retry infinite
persist-key
persist-tun
ns-cert-type server
auth-user-pass login.txt
ca ca.crt
cert user.crt
key user.key
dh dh1024.pem
tls-auth ta.key 1
comp-lzo
verb 3

Этот конфиг работает в линуксе, но не хочет работать в виндовсе. Что ему не хватает?

И второй вопрос, как правильно писать строку параметра pkcs12 с секретным ключом? Нашёл что-то похожее на
pkcs12 keys/user.p12
но пишет, что не может открыть файл.

PolyMorph


sandaksatru

#2
Цитата: dduh от 26 ноября 2013, 13:55:43Этот конфиг работает в линуксе, но не хочет работать в виндовсе. Что ему не хватает?
А что именно не работает? Выложите лог коннекта клиента на маздае.

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

На всякий случай, вот мой дефолтный конфиг для виндовых клиентов, возможно он вам чем-то поможет:

# Сообщаем клиенту, что он клиент:
client
# На всякий случай,
# перестраховка от кривых клиентов
# т.к. есть "client", заставляем тянуть
# пуш команды сервера:
pull
# Создаем ethernet туннель:
dev tap
# Специально для маздая,
# сообщаем имя виртуального интерфейса:
dev-node TAP_OpenVPN
# Сообщаем клиенту, чтоб стучался по tcp:
proto tcp-client
# Сообщаем адрес и порт сервера:
remote xxx.xxx.xxx.xxx 1194
# Пробуем разрезолвить имя хоста до бесконечности:
resolv-retry infinite
# Используем динамический порт для подключения:
nobind
# В случае перезапуска не перечитываем ключи
# и не трогаем интерфейс (удобно, если ключи на флешке)
persist-key
persist-tun
# Указываем расположение ключей и сертификатов:
ca ca.crt
cert client_cert.crt
key client_key.key
# Не совсем помню что конкретно делает,
# кажется защита от mitm-атак:
ns-cert-type server
# Включаем сжатие трафика:
comp-lzo
# Уровень подробностей логгирования
# (для отладки нужно увеличить параметр):
verb 2


Сообщение объединено: 01 декабря 2013, 18:56:56

Цитата: dduh от 26 ноября 2013, 13:55:43И второй вопрос, как правильно писать строку параметра pkcs12 с секретным ключом? Нашёл что-то похожее на
pkcs12 keys/user.p12
Точно так же, как если бы вы открывали его через консоль, например:
pkcs12 /var/keys/user.p12

dduh

dev-node - этого нет! Эта фишка виндовса? Попробую потом.

Про pkcs12. Если сам файл *.p12 закодирован "транзитным" ключом. Как этот ключ записать в строке конфигурации?

pkcs12 file_user.p12

sandaksatru

Цитата: dduh от 02 декабря 2013, 22:38:45dev-node - этого нет! Эта фишка виндовса? Попробую потом.
Да, вишка маздая. А вот насчет куда записать ключ для контейнера - я вам не подскажу, т.к. не использую эту опцию. В официальном мане есть ответы на все вопросы, поищите там.

dduh

Не получается.

Последний конфиг:
client
dev tap
dev-node tap-bridge
resolv-retry infinite
nobind
proto udp
remote хх.хх.х.х 1194
tls-client
ns-cert-type server
ca C:\\OpenVPN\\config\\ca.crt
cert C:\\OpenVPN\\config\\user.crt
key C:\\OpenVPN\\config\\user.key
dh C:\\OpenVPN\\config\\dh1024.pem
tls-auth C:\\OpenVPN\\config\\ta.key 1
persist-key
persist-tun
comp-lzo
status C:\\OpenVPN\\config\\openvpn-status.log
log C:\\OpenVPN\\config\\openvpn.log
verb 3

На клиенте лог:
Tue Dec 03 20:49:24 2013 Note: option http-proxy-fallback ignored because no TCP-based connection profiles are defined
Tue Dec 03 20:49:24 2013 OpenVPNAS 2.1.1oOAS Win32-MSVC++ [SSL] [LZO2] built on Jul 29 2010
Tue Dec 03 20:49:24 2013 MANAGEMENT: Connected to management server at 127.0.0.1:51488
Tue Dec 03 20:49:24 2013 MANAGEMENT: CMD 'log on'
Tue Dec 03 20:49:24 2013 MANAGEMENT: CMD 'state on'
Tue Dec 03 20:49:24 2013 MANAGEMENT: CMD 'echo on'
Tue Dec 03 20:49:24 2013 MANAGEMENT: CMD 'bytecount 5'
Tue Dec 03 20:49:24 2013 MANAGEMENT: CMD 'hold off'
Tue Dec 03 20:49:24 2013 MANAGEMENT: CMD 'hold release'
Tue Dec 03 20:49:24 2013 NOTE: OpenVPNAS 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Tue Dec 03 20:49:24 2013 Control Channel Authentication: tls-auth using INLINE static key file
Tue Dec 03 20:49:24 2013 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Dec 03 20:49:24 2013 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Dec 03 20:49:24 2013 LZO compression initialized
Tue Dec 03 20:49:24 2013 Control Channel MTU parms [ L:1574 D:166 EF:66 EB:0 ET:0 EL:0 ]
Tue Dec 03 20:49:24 2013 Socket Buffers: R=[8192->8192] S=[8192->8192]
Tue Dec 03 20:49:24 2013 Data Channel MTU parms [ L:1574 D:1450 EF:42 EB:135 ET:32 EL:0 AF:3/1 ]
Tue Dec 03 20:49:24 2013 Local Options hash (VER=V4): '46a60371'
Tue Dec 03 20:49:24 2013 Expected Remote Options hash (VER=V4): 'f7b041bb'
Tue Dec 03 20:49:24 2013 UDPv4 link local: [undef]
Tue Dec 03 20:49:24 2013 UDPv4 link remote: хх.хх.хх.хх:1194
Tue Dec 03 20:49:24 2013 MANAGEMENT: >STATE:1386089364,WAIT,,,

На сервере:
TLS Error: incoming packet authentication failed from ....
Authenticate/Decrypt packet HMAC authentication failed



sandaksatru

Цитата: dduh от 03 декабря 2013, 21:05:35TLS Error: incoming packet authentication failed from ....
Authenticate/Decrypt packet HMAC authentication failed
Клиент не может пройти аутенфикацию. Если вы говорите, что с линуховых клиентов аутенфикация проходит... Даже не знаю, что тут может быть. Попробуйте увеличить verb до 11 (максимальный), может в подробном выводе мы что-нибудь увидим...