slipers

Centos. Установка и настройка Stunnel.

Sep 9th, 2018
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!

Centos. Установка и настройка Stunnel.

Stunnel это программная обертка, позволяющая спрятать в шифрованный ssl-туннель произвольный трафик. Stunnel создает и поддерживает туннель как TCP соединение и передавать может только tcp-трафик. Возможность туннелировать сетевой трафик изначально не предполагавший ни шифрования ни туннелирования реализована через localhost, а механизм туннелирования заключается в том, что Stunnel:

  • на клиенте: слушает порт на локальном хосте клиента и передает информацию (шифруя) на определенный порт удаленного сервера;
  • на сервере: слушает порт на внешнем адресе и передает информацию (расшифровывая) на определенный порт локального хоста сервера.

Установка необходимого программного обеспечения.

# yum -y install stunnel net-tools telnet

Создание необходимых каталогов и файлов.

# touch /etc/stunnel/stunnel.conf
# touch /etc/systemd/system/stunnel.service

Создание самоподписанного сертификата.

# cd /etc/stunnel
# openssl req -new -x509 -days 3650 -nodes -out stunnel.pem -keyout stunnel.pem

Создание файла конфигурации.
Отредактируем файл /etc/stunnel/stunnel.conf приведя его к следующему виду:

debug = 7
client = yes
output = /var/log/stunnel.log
cert = /etc/stunnel/stunnel.pem

[pop3_gmail]
accept = 127.0.0.1:11110
connect = pop.gmail.com:995

[smtp_gmail]
accept = 127.0.0.1:11025
connect = smtp.gmail.com:465

Откроем необходимые порты.

# firewall-cmd --list-all
# firewall-cmd --zone=public --add-masquerade --permanent
# firewall-cmd --zone=public --add-port=11110/tcp --permanent
# firewall-cmd --zone=public --add-port=11025/tcp --permanent
# firewall-cmd --zone=public --add-forward-port=port=11110:proto=tcp:toport=11110:toaddr=127.0.0.1 --permanent
# firewall-cmd --zone=public --add-forward-port=port=11025:proto=tcp:toport=11025:toaddr=127.0.0.1 --permanent
# firewall-cmd --reload

Настройка автозапуска.
Отредактируем файл /etc/systemd/system/stunnel.service приведя его к следующему виду:

[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/killall -9 stunnel

TimeoutSec=600
Restart=always
PrivateTmp=false

и выполним команды:

# systemctl start stunnel.service
# systemctl enable stunnel.service

Проверим работоспособность.

netstat -nalp|grep stunnel
telnet localhost 11110
telnet localhost 11025

Add Comment
Please, Sign In to add comment