Доработал документацию: Внес изменения в требования к Docker; Внес изменения в команды выпуска сертификатов; Исправил ошибки в последовательсти действий.

This commit is contained in:
ansible 2024-06-12 02:53:47 +03:00
parent d41189c080
commit 7022c7c4e3

View File

@ -15,24 +15,24 @@
### Требования ### Требования
1. Ubuntu Server 22.04 LTS 1. Ubuntu Server 22.04 LTS
2. Установленный Docker Compose 2. Установленный Docker и Docker Compose в соотвествии с документацией https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository . Пакеты docker.io и docker-compose не поддерживаются.
3. Установленный Pritunl с бесплатной лицензией 3. Пользователь с доступом к Docker без sudo `sudo usermod -aG docker ${USER}`
4. Порт веб интерфейса Pritunl сменен со стандартного 443 на любой свободный, кроме 80 и 443 4. Установленный Pritunl с бесплатной лицензией
5. Порт веб интерфейса Pritunl сменен со стандартного 443 на любой свободный, кроме 80 и 443
### Установка ### Установка
1. (Рекомендуется) зафиксировать версию Pritunl 1. (Рекомендуется) зафиксировать версию Pritunl
``` ```
sudo apt-mark hold pritunl* sudo apt-mark hold pritunl*
``` ```
2. Клонировать репозиторий /opt/pritunl-fakeapi 2. Клонировать репозиторий /opt/pritunl-fakeapi . Можно использовать любой путь на сервере. /opt/pritunl-fakeapi используется в примерах команд ниже.
``` ```
sudo mkdir /opt/pritunl-fakeapi -p && \ sudo mkdir /opt/pritunl-fakeapi -p && \
sudo chown ${USER}:${USER} /opt/pritunl-fakeapi && \ sudo chown ${USER}:${USER} /opt/pritunl-fakeapi && \
git clone https://github.com/nd4y/Pritunl-Fake-API.git /opt/pritunl-fakeapi && \ git clone https://github.com/nd4y/Pritunl-Fake-API.git /opt/pritunl-fakeapi
cd /opt/pritunl-fakeapi
``` ```
3. (Рекомендуется) сгенерировать сертификаты удостоверяющего центра и сервера. (команды для выпуска сертификатов протестированы на OpenSSL 1.1.1w) 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` 1. Перейти в каталог и удалить имеющиеся сертификаты `cd /opt/pritunl-fakeapi/mounts/nginx/certs && rm -f *.pem`
2. Выпустить сертификат удостоверяющго центра 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" 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. Подписать запрос на сертификат сервера сертификатом удоствоверяющего центра 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. Запустить контейнеры 4. Отключить использование VPN сервером Pritunl порта 80/TCP
```
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
``` ```
sudo pritunl set app.redirect_server false 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 7. Добавить запись в /etc/hosts
``` ```
echo "127.0.0.1 pritunl-fakeapi.local" | sudo tee -a /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 sudo systemctl restart pritunl
``` ```
10. В веб интерфейсе Pritunl активировать подписку, введя ключ активации `active ultimate` 10. В веб интерфейсе Pritunl активировать подписку, введя ключ активации `active ultimate`