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`

작동하지 않습니다. 그것은 말한다:

고양이: /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

다음 한 줄짜리 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`파일 이름을 기준으로 명령을 또는 이와 유사한 것으로 변경하십시오.

관련 정보