From 7022c7c4e37c080b828fd92c56ae592779c09d6e Mon Sep 17 00:00:00 2001 From: ansible Date: Wed, 12 Jun 2024 02:53:47 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=D0=BB=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8E:=20=D0=92=D0=BD=D0=B5=D1=81=20=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B2=20?= =?UTF-8?q?=D1=82=D1=80=D0=B5=D0=B1=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BA=20Docker;=20=D0=92=D0=BD=D0=B5=D1=81=20=D0=B8=D0=B7?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B2=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B=20=D0=B2=D1=8B=D0=BF=D1=83?= =?UTF-8?q?=D1=81=D0=BA=D0=B0=20=D1=81=D0=B5=D1=80=D1=82=D0=B8=D1=84=D0=B8?= =?UTF-8?q?=D0=BA=D0=B0=D1=82=D0=BE=D0=B2;=20=D0=98=D1=81=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=B8=D0=BB=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8?= =?UTF-8?q?=20=D0=B2=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=D0=B4=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D1=82=D0=B5=D0=BB=D1=8C=D1=81=D1=82=D0=B8=20=D0=B4=D0=B5?= =?UTF-8?q?=D0=B9=D1=81=D1=82=D0=B2=D0=B8=D0=B9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 631c2f9..f31004a 100644 --- a/README.md +++ b/README.md @@ -15,24 +15,24 @@ ### Требования 1. Ubuntu Server 22.04 LTS -2. Установленный Docker Compose -3. Установленный Pritunl с бесплатной лицензией -4. Порт веб интерфейса Pritunl сменен со стандартного 443 на любой свободный, кроме 80 и 443 +2. Установленный Docker и Docker Compose в соотвествии с документацией https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository . Пакеты docker.io и docker-compose не поддерживаются. +3. Пользователь с доступом к Docker без sudo `sudo usermod -aG docker ${USER}` +4. Установленный Pritunl с бесплатной лицензией +5. Порт веб интерфейса Pritunl сменен со стандартного 443 на любой свободный, кроме 80 и 443 ### Установка 1. (Рекомендуется) зафиксировать версию Pritunl ``` sudo apt-mark hold pritunl* ``` -2. Клонировать репозиторий /opt/pritunl-fakeapi +2. Клонировать репозиторий /opt/pritunl-fakeapi . Можно использовать любой путь на сервере. /opt/pritunl-fakeapi используется в примерах команд ниже. ``` sudo mkdir /opt/pritunl-fakeapi -p && \ sudo chown ${USER}:${USER} /opt/pritunl-fakeapi && \ -git clone https://github.com/nd4y/Pritunl-Fake-API.git /opt/pritunl-fakeapi && \ -cd /opt/pritunl-fakeapi +git clone https://github.com/nd4y/Pritunl-Fake-API.git /opt/pritunl-fakeapi ``` -3. (Рекомендуется) сгенерировать сертификаты удостоверяющего центра и сервера. (команды для выпуска сертификатов протестированы на OpenSSL 1.1.1w) - 1. Перейти в каталог `cd /opt/pritunl-fakeapi/mounts/nginx/certs` и удалить имеющиеся сертификаты `rm -f *.pem` +3. (Рекомендуется) сгенерировать сертификаты удостоверяющего центра и сервера. (команды для выпуска сертификатов протестированы на OpenSSL 1.1.1w (Debian 10) и OpenSSL 1.1.1f (Ubuntu 22.04 LTS) + 1. Перейти в каталог и удалить имеющиеся сертификаты `cd /opt/pritunl-fakeapi/mounts/nginx/certs && rm -f *.pem` 2. Выпустить сертификат удостоверяющго центра ``` openssl req -x509 -newkey rsa:4096 -keyout ca.key.pem -out ca.crt.pem -sha256 -days 3650 -nodes -subj "/CN=Self-Signed Root Certification Authority" @@ -43,25 +43,25 @@ cd /opt/pritunl-fakeapi ``` 4. Подписать запрос на сертификат сервера сертификатом удоствоверяющего центра ``` - openssl x509 -req -in tls.req.pem -CA ca.crt.pem -CAkey ca.key.pem -out tls.crt.pem -days 3650 -extensions SAN -extfile <(cat /etc/ssl/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:pritunl-fakeapi.local")) + openssl x509 -req -in tls.req.pem -CA ca.crt.pem -CAkey ca.key.pem -out tls.crt.pem -CAcreateserial -days 3650 -extensions SAN -extfile <(cat /etc/ssl/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:pritunl-fakeapi.local")) ``` - 5. Удалить файл приватного ключа удостоверяющего центра и файл запроса сертификата сервера + 5. Удалить файл приватного ключа удостоверяющего центра, файл запроса сертификата сервера и srl файл. ``` - rm -f ca.key.pem tls.req.pem + rm -f ca.key.pem tls.req.pem ca.crt.srl ``` -4. Запустить контейнеры -``` -cd /opt/pritunl && docker compose up -d -``` -5. Установить сертификат удостоверяющего центра в доверенные для Pritunl -``` -cat ca.crt.pem >> /usr/lib/pritunl/usr/lib/python3.9/site-packages/certifi/cacert.pem -``` -6. Отключить использование VPN сервером Pritunl порта 80/TCP +4. Отключить использование VPN сервером Pritunl порта 80/TCP ``` sudo pritunl set app.redirect_server false ``` +5. Запустить контейнеры +``` +cd /opt/pritunl-fakeapi && docker compose up -d +``` +6. Установить сертификат удостоверяющего центра в доверенные для Pritunl +``` +cat /opt/pritunl-fakeapi/mounts/nginx/certs/ca.crt.pem | sudo tee -a /usr/lib/pritunl/usr/lib/python3.9/site-packages/certifi/cacert.pem +``` 7. Добавить запись в /etc/hosts ``` echo "127.0.0.1 pritunl-fakeapi.local" | sudo tee -a /etc/hosts @@ -76,4 +76,4 @@ chmod +x /opt/pritunl-fakeapi/setup.py && sudo /opt/pritunl-fakeapi/setup.py ``` sudo systemctl restart pritunl ``` -10. В веб интерфейсе Pritunl активировать подписку, введя ключ активации `active ultimate` \ No newline at end of file +10. В веб интерфейсе Pritunl активировать подписку, введя ключ активации `active ultimate` \ No newline at end of file