我在centos 7.6上安装了stunnel 4.5。
sudo yum -y install stunnel
现在我想在 centos 7.6 上将 stop-start-restart-status stunnel 作为一项服务。
下面的命令不起作用:
systemctl start stunnel
我怎样才能做到这一点?
看看这个链接=starting_stopping_restarting_stunnel:
命令
stunnel /etc/stunnel/stunnel.conf
作品。
但命令
kill `cat /var/run/stunnel/stunnel.pid`
不起作用。它告诉:
cat: /var/run/stunnel/stunnel.pid: 没有这样的文件或目录
编辑 :
这是stunnel.conf
我在此路径 ( ) 中创建的文件/etc/stunnel/stunnel.conf
。
client = no
[squid]
accept = 1800
connect = 127.0.0.1:8080
cert = /etc/stunnel/stunnel.pem
效果很好。
答案1
我在这里找到了解决方案:
centos-with-selinux-systemd-and-stunnel
和这里 :
centos-stunnel-systemd
以下是
stunnel.service
centos 7.6 的变化:
[Unit]
Description=SSL tunnel for network daemons
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
Alias=stunnel.target
[Service]
Type=forking
ExecStart=/usr/bin/stunnel /etc/stunnel/stunnel.conf
ExecStop=/usr/bin/pkill stunnel
# Give up if ping don't get an answer
TimeoutSec=600
Restart=always
PrivateTmp=false
现在您可以将 stunnel 作为服务启动-启用-停止:
sudo systemctl start stunnel.service
sudo systemctl enable stunnel.service
sudo systemctl stop stunnel.service
答案2
安装隧道:
sudo yum install stunnel -y
配置隧道:
创建自定义 stunnel cfg 以建立与某些 AWS Redis 的连接(仅作为示例):
sudo touch /etc/stunnel/redis-cli.conf && echo "fips = no
setuid = root
setgid = root
pid = /var/run/stunnel.pid
debug = 7
delay = yes
options = NO_SSLv2
options = NO_SSLv3
[redis-cli]
client = yes
accept = 127.0.0.1:6379
connect = clustercfg.someredis.example.cache.amazonaws.com:6379" > /etc/stunnel/redis-cli.conf
启动隧道:
sudo stunnel /etc/stunnel/redis-cli.conf
检查隧道工作:
sudo netstat -tulnp | grep -i stunnel
停止隧道:
可能有几个隧道过程:
[root@someserver ~]# ps aux | grep stunnel | grep -v grep | awk '{print $2}'
13527
13528
13529
13530
13531
13532
下面的 bash 一行循环可以杀死它们:
if kill $(ps aux | grep stunnel | grep -v grep | awk '{print $2}'); then echo "Done"; else echo "No ps left"; fi
删除隧道:
sudo yum remove stunnel
*提供的说明也适用于 Amazon Linux 2。
答案3
检查/var/run/stunnel
目录。可能有一个/var/run/stunnel/pid
文件(与 相对/var/run/stunnel/stunnel.pid
)。或者其他一些类似的文件。如果有 - 只需kill `cat /var/run/stunnel/pid`
根据文件名将命令更改为或类似的命令即可。