<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://aznot.com/index.php?action=history&amp;feed=atom&amp;title=Stunnel</id>
	<title>Stunnel - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://aznot.com/index.php?action=history&amp;feed=atom&amp;title=Stunnel"/>
	<link rel="alternate" type="text/html" href="https://aznot.com/index.php?title=Stunnel&amp;action=history"/>
	<updated>2026-05-07T02:49:51Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://aznot.com/index.php?title=Stunnel&amp;diff=1135&amp;oldid=prev</id>
		<title>Kenneth: /* Configuration */</title>
		<link rel="alternate" type="text/html" href="https://aznot.com/index.php?title=Stunnel&amp;diff=1135&amp;oldid=prev"/>
		<updated>2014-09-29T04:15:19Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Configuration&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Configuration ==&lt;br /&gt;
&lt;br /&gt;
Path:&lt;br /&gt;
 /etc/stunnel&lt;br /&gt;
&lt;br /&gt;
Configure /etc/stunnel/stunnel.conf example:&lt;br /&gt;
 cert = /etc/stunnel/oeey.com.pem&lt;br /&gt;
 [https]&lt;br /&gt;
   accept = 10.10.10.3:443&lt;br /&gt;
   connect = 127.0.0.1:80&lt;br /&gt;
&lt;br /&gt;
Set certificate permissions:&lt;br /&gt;
 chmod 600 oeey.com.pem&lt;br /&gt;
&lt;br /&gt;
See [[#Startup Script]]&lt;br /&gt;
&lt;br /&gt;
== Common Ports ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[https]&lt;br /&gt;
  accept = 10.10.10.3:443&lt;br /&gt;
  connect = 127.0.0.1:80&lt;br /&gt;
&lt;br /&gt;
[smtps]&lt;br /&gt;
  accept = 10.10.10.3:465&lt;br /&gt;
  connect = 127.0.0.1:25&lt;br /&gt;
&lt;br /&gt;
[pop3s]&lt;br /&gt;
  accept = 10.10.10.3:995&lt;br /&gt;
  connect = 127.0.0.1:110&lt;br /&gt;
&lt;br /&gt;
[imaps]&lt;br /&gt;
  accept = 10.10.10.3:993&lt;br /&gt;
  connect = 127.0.0.1:143&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== client mode ==&lt;br /&gt;
&lt;br /&gt;
client mode (remote service uses SSL)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[google]&lt;br /&gt;
  client = yes&lt;br /&gt;
  accept = 127.0.0.1:8000&lt;br /&gt;
  connect = google.com:443&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* The Goldfish » Stunnel in client mode - http://www.thegoldfish.org/2010/01/stunnel-in-client-mode/&lt;br /&gt;
&lt;br /&gt;
== Logs ==&lt;br /&gt;
&lt;br /&gt;
Logs get dumped to syslog under /var/log/secure.&lt;br /&gt;
&lt;br /&gt;
== SSL to SSH Tunnel ==&lt;br /&gt;
&lt;br /&gt;
SSL to SSH tunneling (stunnel) | JAKERI - http://www.jakeri.net/2009/01/ssl-to-ssh-tunneling-stunnel/&lt;br /&gt;
&lt;br /&gt;
Sometimes it can be handy to reach your home server even if you have all sorts of proxy servers and firewalls between you and your home server (e.g. from work). &lt;br /&gt;
&lt;br /&gt;
Stunnel to the rescue!.&lt;br /&gt;
&lt;br /&gt;
Server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cert=stunnel.pem&lt;br /&gt;
pid=/tmp/stunnel.pid&lt;br /&gt;
[stunnel443]&lt;br /&gt;
accept = 192.168.1.7:443&lt;br /&gt;
connect = 192.168.1.7:22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Client:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#cert = stunnel.pem&lt;br /&gt;
pid=/tmp/stunnelclient.pid&lt;br /&gt;
#foreground=yes&lt;br /&gt;
client=yes&lt;br /&gt;
[21222]&lt;br /&gt;
accept=21222&lt;br /&gt;
connect=192.168.1.7:443&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Client:&lt;br /&gt;
 ssh -p 21222 localhost&lt;br /&gt;
&lt;br /&gt;
== Startup Script ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# Script to run stunnel in daemon mode at boot time.&lt;br /&gt;
#&lt;br /&gt;
# Check http://www.gaztronics.net/ for the&lt;br /&gt;
# most up-to-date version of this script.&lt;br /&gt;
#&lt;br /&gt;
# This script is realeased under the terms of the GPL.&lt;br /&gt;
# You can source a copy at:&lt;br /&gt;
# http://www.fsf.org/copyleft/copyleft.html&lt;br /&gt;
#&lt;br /&gt;
# Please feel free to modify the script to suite your own needs.&lt;br /&gt;
# I always welcome email feedback with suggestions for improvements.&lt;br /&gt;
# Please do not email for general support. I do not have time to answer&lt;br /&gt;
# personal help requests.&lt;br /&gt;
&lt;br /&gt;
# Author: Gary Myers MIIE MBCS&lt;br /&gt;
# email: http://www.gaztronics.net/webform/&lt;br /&gt;
# Revision 1.0  -  4th March 2005&lt;br /&gt;
&lt;br /&gt;
#====================================================================&lt;br /&gt;
# Run level information:&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 99 99&lt;br /&gt;
# description: Secure Tunnel&lt;br /&gt;
# processname: stunnel&lt;br /&gt;
#&lt;br /&gt;
# Run &amp;quot;/sbin/chkconfig --add stunnel&amp;quot; to add the Run levels.&lt;br /&gt;
# This will setup the symlinks and set the process to run at boot.&lt;br /&gt;
#====================================================================&lt;br /&gt;
&lt;br /&gt;
#====================================================================&lt;br /&gt;
# Paths and variables and system checks.&lt;br /&gt;
&lt;br /&gt;
# Source function library (It&amp;#039;s a Red Hat thing!)&lt;br /&gt;
. /etc/rc.d/init.d/functions&lt;br /&gt;
&lt;br /&gt;
# Check that networking is up.&lt;br /&gt;
#&lt;br /&gt;
[ ${NETWORKING} =&amp;quot;yes&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Path to the executable.&lt;br /&gt;
#&lt;br /&gt;
SEXE=/usr/sbin/stunnel&lt;br /&gt;
&lt;br /&gt;
# Path to the configuration file.&lt;br /&gt;
#&lt;br /&gt;
CONF=/etc/stunnel/stunnel.conf&lt;br /&gt;
&lt;br /&gt;
# Check the configuration file exists.&lt;br /&gt;
#&lt;br /&gt;
if [ ! -f $CONF ] ; then&lt;br /&gt;
	echo &amp;quot;The configuration file cannot be found!&amp;quot;&lt;br /&gt;
exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Path to the lock file.&lt;br /&gt;
#&lt;br /&gt;
LOCK_FILE=/var/lock/subsys/stunnel&lt;br /&gt;
&lt;br /&gt;
#====================================================================&lt;br /&gt;
&lt;br /&gt;
#====================================================================&lt;br /&gt;
# Run controls:&lt;br /&gt;
&lt;br /&gt;
prog=$&amp;quot;stunnel&amp;quot;&lt;br /&gt;
&lt;br /&gt;
RETVAL=0&lt;br /&gt;
&lt;br /&gt;
# Start stunnel as daemon.&lt;br /&gt;
#&lt;br /&gt;
start() {&lt;br /&gt;
	if [ -f $LOCK_FILE ]; then&lt;br /&gt;
	  echo &amp;quot;stunnel is already running!&amp;quot;&lt;br /&gt;
	  exit 0&lt;br /&gt;
	else&lt;br /&gt;
	  echo -n $&amp;quot;Starting $prog: &amp;quot;&lt;br /&gt;
	  $SEXE $CONF&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	RETVAL=$?&lt;br /&gt;
	[ $RETVAL -eq 0 ] &amp;amp;&amp;amp; success &lt;br /&gt;
	echo&lt;br /&gt;
	[ $RETVAL -eq 0 ] &amp;amp;&amp;amp; touch $LOCK_FILE&lt;br /&gt;
	return $RETVAL&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Stop stunnel.&lt;br /&gt;
#&lt;br /&gt;
stop() {&lt;br /&gt;
	if [ ! -f $LOCK_FILE ]; then&lt;br /&gt;
	  echo &amp;quot;stunnel is not running!&amp;quot;&lt;br /&gt;
	  exit 0&lt;br /&gt;
&lt;br /&gt;
	else&lt;br /&gt;
&lt;br /&gt;
	  echo -n $&amp;quot;Shutting down $prog: &amp;quot;&lt;br /&gt;
	  killproc stunnel&lt;br /&gt;
	  RETVAL=$?&lt;br /&gt;
	  [ $RETVAL -eq 0 ]&lt;br /&gt;
	   rm -f $LOCK_FILE&lt;br /&gt;
	  echo&lt;br /&gt;
	  return $RETVAL&lt;br /&gt;
&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# See how we were called.&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
   start)&lt;br /&gt;
	start&lt;br /&gt;
	;;&lt;br /&gt;
   stop)&lt;br /&gt;
	stop&lt;br /&gt;
	;;&lt;br /&gt;
   restart)&lt;br /&gt;
	stop&lt;br /&gt;
	start&lt;br /&gt;
	;;&lt;br /&gt;
   condrestart)&lt;br /&gt;
	if [ -f $LOCK_FILE ]; then&lt;br /&gt;
	   stop&lt;br /&gt;
	   start&lt;br /&gt;
	   RETVAL=$?&lt;br /&gt;
	fi&lt;br /&gt;
	;;&lt;br /&gt;
   status)&lt;br /&gt;
	status stunnel&lt;br /&gt;
	RETVAL=$?&lt;br /&gt;
	;;&lt;br /&gt;
   *)&lt;br /&gt;
    echo $&amp;quot;Usage: $0 {start|stop|restart|condrestart|status}&amp;quot;&lt;br /&gt;
    RETVAL=1&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit $RETVAL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== keywords ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kenneth</name></author>
	</entry>
</feed>