У меня STunnel настроен на прокси-запросы POP3 без SSL к GMail на порт 111. Это нормально работает, когда STunnel работает как настольное приложение, но когда я запускаю службу STunnel, я не могу подключиться к порту 111 на машине. (например, с помощью Outlook Express).
Файл журнала Stunnel показывает, что привязка порта выполняется успешно, но соединение не обнаруживается. Что-то мешает подключению к этому порту, когда STunnel работает как служба?
Вот stunnel.conf
cert = stunnel.pem
; Some performance tunings
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
; Some debugging stuff useful for troubleshooting
debug = 7
output = stunnel.log
; Use it for client mode
client = yes
; Service-level configuration
[gmail]
accept = 127.0.0.1:111
connect = pop.gmail.com:995
stunnel.log из сервиса
2010.10.07 12:14:22 LOG5[80444:72984]: Reading configuration from file stunnel.conf
2010.10.07 12:14:22 LOG7[80444:72984]: Snagged 64 random bytes from C:/.rnd
2010.10.07 12:14:23 LOG7[80444:72984]: Wrote 1024 new random bytes to C:/.rnd
2010.10.07 12:14:23 LOG7[80444:72984]: PRNG seeded successfully
2010.10.07 12:14:23 LOG7[80444:72984]: Certificate: stunnel.pem
2010.10.07 12:14:23 LOG7[80444:72984]: Certificate loaded
2010.10.07 12:14:23 LOG7[80444:72984]: Key file: stunnel.pem
2010.10.07 12:14:23 LOG7[80444:72984]: Private key loaded
2010.10.07 12:14:23 LOG7[80444:72984]: SSL context initialized for service gmail
2010.10.07 12:14:23 LOG5[80444:72984]: Configuration successful
2010.10.07 12:14:23 LOG5[80444:72984]: No limit detected for the number of clients
2010.10.07 12:14:23 LOG7[80444:72984]: FD=156 in non-blocking mode
2010.10.07 12:14:23 LOG7[80444:72984]: Option SO_REUSEADDR set on accept socket
2010.10.07 12:14:23 LOG7[80444:72984]: Service gmail bound to 0.0.0.0:111
2010.10.07 12:14:23 LOG7[80444:72984]: Service gmail opened FD=156
2010.10.07 12:14:23 LOG5[80444:72984]: stunnel 4.34 on x86-pc-mingw32-gnu with OpenSSL 1.0.0a 1 Jun 2010
2010.10.07 12:14:23 LOG5[80444:72984]: Threading:WIN32 SSL:ENGINE Sockets:SELECT,IPv6
stunnel.log с рабочего стола (рабочий) процесс
2010.10.07 12:10:31 LOG5[80824:81200]: Reading configuration from file stunnel.conf
2010.10.07 12:10:31 LOG7[80824:81200]: Snagged 64 random bytes from C:/.rnd
2010.10.07 12:10:32 LOG7[80824:81200]: Wrote 1024 new random bytes to C:/.rnd
2010.10.07 12:10:32 LOG7[80824:81200]: PRNG seeded successfully
2010.10.07 12:10:32 LOG7[80824:81200]: Certificate: stunnel.pem
2010.10.07 12:10:32 LOG7[80824:81200]: Certificate loaded
2010.10.07 12:10:32 LOG7[80824:81200]: Key file: stunnel.pem
2010.10.07 12:10:32 LOG7[80824:81200]: Private key loaded
2010.10.07 12:10:32 LOG7[80824:81200]: SSL context initialized for service gmail
2010.10.07 12:10:32 LOG5[80824:81200]: Configuration successful
2010.10.07 12:10:32 LOG5[80824:81200]: No limit detected for the number of clients
2010.10.07 12:10:32 LOG7[80824:81200]: FD=156 in non-blocking mode
2010.10.07 12:10:32 LOG7[80824:81200]: Option SO_REUSEADDR set on accept socket
2010.10.07 12:10:32 LOG7[80824:81200]: Service gmail bound to 0.0.0.0:111
2010.10.07 12:10:32 LOG7[80824:81200]: Service gmail opened FD=156
2010.10.07 12:10:33 LOG5[80824:81200]: stunnel 4.34 on x86-pc-mingw32-gnu with OpenSSL 1.0.0a 1 Jun 2010
2010.10.07 12:10:33 LOG5[80824:81200]: Threading:WIN32 SSL:ENGINE Sockets:SELECT,IPv6
2010.10.07 12:10:33 LOG7[80824:81844]: Service gmail accepted FD=188 from 127.0.0.1:24813
2010.10.07 12:10:33 LOG7[80824:81844]: Creating a new thread
2010.10.07 12:10:33 LOG7[80824:81844]: New thread created
2010.10.07 12:10:33 LOG7[80824:25144]: Service gmail started
2010.10.07 12:10:33 LOG7[80824:25144]: FD=188 in non-blocking mode
2010.10.07 12:10:33 LOG7[80824:25144]: Option TCP_NODELAY set on local socket
2010.10.07 12:10:33 LOG5[80824:25144]: Service gmail accepted connection from 127.0.0.1:24813
2010.10.07 12:10:33 LOG7[80824:25144]: FD=212 in non-blocking mode
2010.10.07 12:10:33 LOG6[80824:25144]: connect_blocking: connecting 209.85.227.109:995
2010.10.07 12:10:33 LOG7[80824:25144]: connect_blocking: s_poll_wait 209.85.227.109:995: waiting 10 seconds
2010.10.07 12:10:33 LOG5[80824:25144]: connect_blocking: connected 209.85.227.109:995
2010.10.07 12:10:33 LOG5[80824:25144]: Service gmail connected remote server from 192.168.1.9:24814
2010.10.07 12:10:33 LOG7[80824:25144]: Remote FD=212 initialized
2010.10.07 12:10:33 LOG7[80824:25144]: Option TCP_NODELAY set on remote socket
2010.10.07 12:10:33 LOG7[80824:25144]: SSL state (connect): before/connect initialization
2010.10.07 12:10:33 LOG7[80824:25144]: SSL state (connect): SSLv3 write client hello A
2010.10.07 12:10:33 LOG7[80824:25144]: SSL state (connect): SSLv3 read server hello A
2010.10.07 12:10:33 LOG7[80824:25144]: SSL state (connect): SSLv3 read server certificate A
2010.10.07 12:10:33 LOG7[80824:25144]: SSL state (connect): SSLv3 read server done A
2010.10.07 12:10:33 LOG7[80824:25144]: SSL state (connect): SSLv3 write client key exchange A
2010.10.07 12:10:33 LOG7[80824:25144]: SSL state (connect): SSLv3 write change cipher spec A
2010.10.07 12:10:33 LOG7[80824:25144]: SSL state (connect): SSLv3 write finished A
2010.10.07 12:10:33 LOG7[80824:25144]: SSL state (connect): SSLv3 flush data
2010.10.07 12:10:33 LOG7[80824:25144]: SSL state (connect): SSLv3 read finished A
2010.10.07 12:10:33 LOG7[80824:25144]: 1 items in the session cache
2010.10.07 12:10:33 LOG7[80824:25144]: 1 client connects (SSL_connect())
2010.10.07 12:10:33 LOG7[80824:25144]: 1 client connects that finished
2010.10.07 12:10:33 LOG7[80824:25144]: 0 client renegotiations requested
2010.10.07 12:10:33 LOG7[80824:25144]: 0 server connects (SSL_accept())
2010.10.07 12:10:33 LOG7[80824:25144]: 0 server connects that finished
2010.10.07 12:10:33 LOG7[80824:25144]: 0 server renegotiations requested
2010.10.07 12:10:33 LOG7[80824:25144]: 0 session cache hits
2010.10.07 12:10:33 LOG7[80824:25144]: 0 external session cache hits
2010.10.07 12:10:33 LOG7[80824:25144]: 0 session cache misses
2010.10.07 12:10:33 LOG7[80824:25144]: 0 session cache timeouts
2010.10.07 12:10:33 LOG6[80824:25144]: SSL connected: new session negotiated
2010.10.07 12:10:33 LOG6[80824:25144]: Negotiated ciphers: RC4-MD5 SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5
2010.10.07 12:10:34 LOG7[80824:25144]: SSL socket closed on SSL_read
2010.10.07 12:10:34 LOG7[80824:25144]: Sending socket write shutdown
2010.10.07 12:10:34 LOG5[80824:25144]: Connection closed: 53 bytes sent to SSL, 118 bytes sent to socket
2010.10.07 12:10:34 LOG7[80824:25144]: Service gmail finished (0 left)
У меня была такая же проблема на сервере W2003 x64 Datacenter (виртуальный сервер). Отключение огня в окнах не решило проблему. Одна вещь заставила меня задуматься: служба не отображалась в списке services.msc.
После добавления service = stunnel в conf-файл все вроде заработало.
Затем я перезапустил сервер, и он снова не работал. Я вошел в систему, перезапустил службу через services.msc, и она снова заработала. Действительно странная вещь.
Попробуйте поставить:
foreground = yes
там.
Содержит ли "stunnel.log" что-нибудь, что вы можете опубликовать?