I know that STunnel can be set up as either server or client with the "client = no" or "client = yes" lines in the config file. Is there a way for a machine to be BOTH a server and client?
4 Answers
It is much easier you can simply You just have to set client=no under the [] (service) where stunnel works as a server and client=yes otherwise. You should also put service specific parameters like certificates where they belong.
Something like:
[server1]
..
client=no
[client1]
..
client=yes
- 9,391
 - 5
 - 41
 - 73
 
- 51
 - 1
 - 2
 
- 
                    but make sure your client and server should not accept on same port number. – Udit Kumawat Dec 18 '18 at 01:40
 
You can specify the configuration file path on the command line, see stunnel(8).
- 82,306
 - 11
 - 110
 - 171
 
- 
                    Does this mean I would need to start 2 STunnel services with 2 configuration files? – Eddie Feb 06 '11 at 22:01
 
As /etc/stunnel/README file says, 
"Files found under the /etc/stunnel directory that end with .conf are used by stunnel4 service as configuration files, and each will be used to start a daemon process setting up a tunnel with the given configuration..."
I assume you can keep 2 separate config files there: one for server and another one for client. Than you'll have 2 daemons started.
You can find config file examples in a file /usr/share/doc/stunnel4/examples/stunnel.conf-sample
- 344
 - 1
 - 6
 - 12
 
Stunnel Client Configurations
[client]
client = yes
accept = 7777
connect = 127.0.0.1:7777
"accept" will act as server
"connect" will act as client
Stunnel Server Configurations
[server]
accept = 7777
connect = 127.0.0.1:7777
"accept" will act as client
"connect" will act as server
- 121
 - 2
 - 8