CentOS 7.6でstop-start-restart-status stunnelをサービスとして使用する方法

CentOS 7.6でstop-start-restart-status stunnelをサービスとして使用する方法

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.serviceCentos 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

トンネルを設定します。

一部の AWS Redis への接続を確立するために、カスタム stunnel cfg を作成します (たとえば)。

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

次の1行の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`ファイル名に基づいてコマンドを、または同様のものに変更します。

関連情報