software:openvpn:openvpn-stunnel

no way to compare when less than two revisions

Различия

Показаны различия между двумя версиями страницы.


software:openvpn:openvpn-stunnel [2024/09/15 14:15] (текущий) – создано fireball
Строка 1: Строка 1:
 +====== OpenVPN и stunnel ======
 +
 +В некоторых случаях необходимо обернуть OpenVPN во что-то для прохода через фаерволы. Отличным вариантом является stunnel.
 +
 +===== Устанавливаем stunnel =====
 +
 +Устанавливаем на сервер и на клиенте:
 +<code>
 +apt install stunnel4
 +</code>
 +
 +===== Настраиваем сервер =====
 +
 +Создаем ключи:
 +<code>
 +cd /etc/stunnel
 +openssl genrsa -out key.pem 2048
 +openssl req -new -x509 -key key.pem -out cert.pem -days 3650
 +cat key.pem cert.pem >> stunnel.pem
 +</code>
 +
 +Создаем файл конфигурации /etc/stunnel/stunnel.conf
 +<code>
 +chroot = /var/lib/stunnel4
 +pid = /stunnel.pid
 +output = /stunnel.log
 +setuid = stunnel4
 +setgid = stunnel4
 +socket = l:TCP_NODELAY=1
 +
 +[openvpn]
 +accept = XX.XX.XX.XX:YYYY
 +connect = 127.0.0.1:1194
 +cert=/etc/stunnel/cert.pem
 +key=/etc/stunnel/key.pem
 +</code>
 +
 +где XX.XX.XX.XX - адрес на котором stunnel будет слушать, а YYYY - порт
 +
 +Для того, чтобы сервис stunnel стартовал автоматически необходимо отредактировать файл /etc/default/stunnel4
 +<code>
 +ENABLED=1
 +</code>
 +
 +Открываем порт на фаерволе (в моем случае это ufw):
 +<code>
 +sudo ufw allow YYYY
 +</code>
 +
 +Теперь перезапустим службу stunnel, сервис должен полноценно заработать и начать принимать входящие соединения:
 +<code>
 +# sudo /etc/init.d/stunnel4 restart
 +</code>
 +
 +===== Настраиваем клиента =====
 +
 +Копируем stunnel.pem - сертификат с сервера в /etc/stunnel
 +
 +Создаем файл конфигурации /etc/stunnel/stunnel.conf
 +<code>
 +output = /stunnel.log
 +client = yes
 +
 +[openvpn]
 +cert = /etc/stunnel/stunnel.pem
 +accept = ZZ.ZZ.ZZ.ZZ:1194
 +connect = XX.XX.XX.XX:YYYY
 +</code>
 +
 +где
 +  * XX.XX.XX.XX - адрес сервера к которому stunnel будет подключаться, а YYYY - порт
 +  * ZZ.ZZ.ZZ.ZZ - адрес сервера OpenVPN
 +
 +Теперь перезапустим службу stunnel, клиент должен подключиться:
 +<code>
 +# sudo /etc/init.d/stunnel4 restart
 +</code>
 +
 +Далее в OpenVPN со стороны клиента настраиваем подключение к ZZ.ZZ.ZZ.ZZ:1194 и проверяем работу
 +
 +{{tag>openvpn stunnel vpn}}
  
  • software/openvpn/openvpn-stunnel.txt
  • Последнее изменение: 2024/09/15 14:15
  • fireball