Делаю туннель для MySQL, между двумя серверами с разными версиями FreeBSD, OpenSSL и Stunnel:
stunnel 4.27 on amd64-portbld-freebsd7.2 with OpenSSL 0.9.8e 23 Feb 2007
stunnel 4.33 on i386-portbld-freebsd6.4 with OpenSSL 0.9.8l 5 Nov 2009
Плюс тот, который freebsd6.4, находится за роутером (freebsd7.2 видит его по IP роутера).
Использовал ранее отработанную схему разруливания IP и портов для коннекта между базами, но нарвался на ошибки коннекта клиента Stunnel с сервером. Первая ошибка была типа "SSL_connect: 1408F10B: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number". После перехода с обеих сторон на SSL2 она пропала, но в логах клиента получаю:
Код: Выделить всё
2010.05.27 08:48:15 LOG5[59880:134680576]: Service stunnel connected remote server from x.x.x.x:60255
2010.05.27 08:48:15 LOG7[59880:134680576]: Remote FD=7 initialized
2010.05.27 08:48:15 LOG7[59880:134680576]: Option TCP_NODELAY set on remote socket
2010.05.27 08:48:15 LOG7[59880:134680576]: SSL state (connect): before/connect initialization
2010.05.27 08:48:15 LOG7[59880:134680576]: SSL state (connect): SSLv2 write client hello A
2010.05.27 08:48:15 LOG3[59880:134680576]: SSL_connect: Peer suddenly disconnected
2010.05.27 08:48:15 LOG5[59880:134680576]: Connection reset: 0 bytes sent to SSL, 0 bytes sent to socket
2010.05.27 08:48:15 LOG7[59880:134680576]: Service stunnel finished (0 left)
В то время, как в норме как должно быть:
Код: Выделить всё
2010.01.27 11:00:53 LOG5[88365:34377572528]: stunnel connected remote server from y.y.y.y:19443
2010.01.27 11:00:53 LOG7[88365:34377572528]: Remote FD=5 initialized
2010.01.27 11:00:53 LOG7[88365:34377572528]: TCP_NODELAY option set on remote socket
2010.01.27 11:00:53 LOG7[88365:34377572528]: SSL state (connect): before/connect initialization
2010.01.27 11:00:53 LOG7[88365:34377572528]: SSL state (connect): SSLv3 write client hello A
2010.01.27 11:00:53 LOG7[88365:34377572528]: SSL state (connect): SSLv3 read server hello A
2010.01.27 11:00:53 LOG7[88365:34377572528]: SSL state (connect): SSLv3 read server certificate A
2010.01.27 11:00:53 LOG7[88365:34377572528]: SSL state (connect): SSLv3 read server done A
2010.01.27 11:00:53 LOG7[88365:34377572528]: SSL state (connect): SSLv3 write client key exchange A
2010.01.27 11:00:53 LOG7[88365:34377572528]: SSL state (connect): SSLv3 write change cipher spec A
2010.01.27 11:00:53 LOG7[88365:34377572528]: SSL state (connect): SSLv3 write finished A
2010.01.27 11:00:53 LOG7[88365:34377572528]: SSL state (connect): SSLv3 flush data
2010.01.27 11:00:53 LOG7[88365:34377572528]: SSL state (connect): SSLv3 read finished A
2010.01.27 11:00:53 LOG7[88365:34377572528]: 1 items in the session cache
2010.01.27 11:00:53 LOG7[88365:34377572528]: 1 client connects (SSL_connect())
Причём, не формируется никаких логов сервера Stunnel об ошибке, SSL-коннект отрубается молча.
Может кто подскажет полезную идею?