Изменения в структуре хранения заметок
This commit is contained in:
30
docker/docker-adjasting.md
Normal file
30
docker/docker-adjasting.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# Тюнинг расположения образов Docker
|
||||
|
||||
Указать в какой папке (на каком томе/диске) размещать образы (images) контейнеров можно:
|
||||
* для Linix: отредактировав `/etc/docker/daemon.json`.
|
||||
* для Windows: отредактировав файл настроек (Запускаем Docker, кликаем на него в трее правой кнопкой `Settings → Daemon`).
|
||||
|
||||
В конфигурационный json надо добавить настроку `"graph": "путь-к-папке-с-контейнерами"`. Например, может получиться вот так:
|
||||
```json
|
||||
{
|
||||
"registry-mirrors": [],
|
||||
"insecure-registries": [],
|
||||
"debug": true,
|
||||
"experimental": true,
|
||||
"graph": "d:/dockers-file/"
|
||||
}
|
||||
```
|
||||
|
||||
После следует перезагрузить docker.
|
||||
|
||||
Проверить расположение файлов контейнеров можно командой:
|
||||
```bash
|
||||
docker info
|
||||
```
|
||||
|
||||
Будут отображены текущие настройки Docker, в том числе:
|
||||
```txt
|
||||
Docker Root Dir: D:\dockers-file
|
||||
```
|
||||
|
||||
|
76
docker/docker-mariadb.md
Normal file
76
docker/docker-mariadb.md
Normal file
@@ -0,0 +1,76 @@
|
||||
# Развертывание MariaDB (MySQL) в контейнере Docker
|
||||
|
||||
Создаем и запускаем контейнер с MariaDB. Т.к. при перезапуске контейнера данные из базы уничтожаются, то
|
||||
пробросим из нее том с данными наружу во внешний каталог (том), в данном случае `/home/[user]/docker-data/maria-db/` :
|
||||
```shell
|
||||
sudo docker run --name MariaDB_11.1.2 --restart=always \
|
||||
-e MYSQL_ROOT_PASSWORD=qwaseR12 \
|
||||
-e TZ=Europe/Moscow \
|
||||
-p 127.0.0.1:3306:3306 \
|
||||
-v /home/[user]/docker-data/maria-db/:/var/lib/mysql \
|
||||
-v /etc/timezone:/etc/timezone:ro \
|
||||
-v /etc/localtime:/etc/localtime:ro \
|
||||
-d mariadb:11.1.2
|
||||
```
|
||||
|
||||
Для docker-compose это будет вот такой `docker-compose.ym`:
|
||||
```yaml
|
||||
version: "3.1"
|
||||
services:
|
||||
mariadb:
|
||||
container_name: MariaDB_11.1.2
|
||||
image: mariadb:11.1.2
|
||||
volumes:
|
||||
- /home/[user]/docker-data/maria-db:/var/lib/mysql
|
||||
# ↓↓↓ это устанавливает часовой пояс как в системе, но сработает только под Linux:
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
environment:
|
||||
- MARIADB_ROOT_PASSWORD=***
|
||||
# - MARIADB_AUTO_UPGRADE=yes
|
||||
# ↓↓↓ это устанавливает часовой пояс принудительно, и сработает и под MacOS, и под Windows
|
||||
- TZ=Europe/Moscow
|
||||
# ↓↓↓ всякие оптимизационные параметры устанавливаем вот так:
|
||||
- sql-mode=""
|
||||
- ft_min_word_len=1
|
||||
- wait_timeout=600
|
||||
- max_allowed_packet=1G
|
||||
- innodb_buffer_pool_size=100M
|
||||
- net_read_timeout=3600
|
||||
- net_write_timeout=3600
|
||||
ports:
|
||||
- 127.0.0.1:3306:3306
|
||||
command:
|
||||
--bind-address=0.0.0.0
|
||||
--skip_ssl=true
|
||||
--character-set-server=utf8mb4
|
||||
--collation-server=utf8mb4_unicode_ci
|
||||
restart: always
|
||||
```
|
||||
|
||||
Далее надо создать суперпользователя в базе данных. Для этого надо зайти в CLI (командную строку)
|
||||
нашего контейнера, выполнив команду (в Docker Desktop под Windows или MacOS -- просто выбираем
|
||||
контейнер в списке и нажимаем кнопку `CLI` или в новых версиях вкладка `exec`):
|
||||
```shell
|
||||
docker exec -it MariaDB_11.1.2 bash
|
||||
```
|
||||
|
||||
После этого внутри контейнера войти в MariaDB:
|
||||
```shell
|
||||
mariadb -u root -p
|
||||
```
|
||||
|
||||
Спросит пароль -- просто жмем `Enter`. Создаём супер-пользователя (например: `superdb_user`) командами:
|
||||
```sql
|
||||
CREATE USER 'superdb_user'@'%' IDENTIFIED BY 'secret-password';
|
||||
GRANT ALL PRIVILEGES ON *.* TO 'superdb_user'@'%';
|
||||
FLUSH PRIVILEGES;
|
||||
exit;
|
||||
```
|
||||
|
||||
После этого можно выйти из контейнера:
|
||||
```shell
|
||||
exit
|
||||
```
|
||||
|
||||
Теперь можно коннектится к базе внутри контейнера точно так же как к базе установленным обычным образом.
|
114
docker/docker-mysql-in-windows10.md
Normal file
114
docker/docker-mysql-in-windows10.md
Normal file
@@ -0,0 +1,114 @@
|
||||
|
||||
# Контейнер MySQL под Windows 10
|
||||
|
||||
Сначала надо перенастроить Dockers в _advansed_ режим и разрешить использовать experimental-контенеры. Для этого
|
||||
* Щелкнуть в трее на значок **Docker** правой кнопокй мыши.
|
||||
* Выбрать пункт _Settings_
|
||||
* В блоке _Docker Engine_ в конфигурационный файл добавить `"experimental": true` (в старых версиях вкладка называется _Deamon_). Например получится вот так:
|
||||
```json
|
||||
{
|
||||
"registry-mirrors": [],
|
||||
"insecure-registries": [],
|
||||
"debug": true,
|
||||
"experimental": true
|
||||
}
|
||||
```
|
||||
* Во вкладке _Command line_ включить _Enable experimental features_ (в старых версиях, ту же настроку включаем во вкладке _Deamon_, надо включить _Advanced_)
|
||||
|
||||
|
||||
## MySQL внутри docker-контейнера
|
||||
|
||||
```bash
|
||||
docker run --name mysql -d \
|
||||
-e MYSQL_ROOT_PASSWORD=this_is_password \
|
||||
-e MYSQL_ROOT_HOST=1.1.1.1 \
|
||||
-p 3306:3306 \
|
||||
mysql:latest
|
||||
```
|
||||
|
||||
Вместо `1.1.1.1` надо указать действительный **ip** хоста на котором работает dockers, иначе невозможно
|
||||
будет коннектиться в MySQL снаружи контейнера.
|
||||
|
||||
```bash
|
||||
docker inspect mysql
|
||||
```
|
||||
|
||||
Останавливать, удалить контейнер и удалить образ контейнера:
|
||||
```bash
|
||||
docker stop mysql
|
||||
docker rm mysql
|
||||
docker rmi mysql
|
||||
```
|
||||
|
||||
### Сохраняем данные базы при перезапуске контейнера
|
||||
|
||||
Чтобы при перезапуске контейнера данные из базы сохранялись, а не уничтожались вместе
|
||||
с контейнером, их нужно хранить во внешнем для контенера каталоге хост-машины, и заставить
|
||||
контейнер монтировать эту внешнюю для него папку внутрь себя. Каталог можно
|
||||
создать эту папку вручную:
|
||||
```bash
|
||||
mkdir mysql_data
|
||||
```
|
||||
|
||||
или командой doсker:
|
||||
```bash
|
||||
docker volume create --name mysql_data
|
||||
```
|
||||
|
||||
Запуск контейнера с монтированием этой папки выглядит так:
|
||||
```bash
|
||||
docker run --name mysql -d \
|
||||
-e MYSQL_ROOT_PASSWORD=this_is_password \
|
||||
-e MYSQL_ROOT_HOST=1.1.1.1 \
|
||||
-p 3306:3306 \
|
||||
-v mysql_data:/var/lib/mysql \
|
||||
mysql:latest
|
||||
```
|
||||
|
||||
|
||||
## MySQL внутри сборки docker-compose
|
||||
|
||||
В последних сборках MySQL Server (8.0.20) изменена процедура авторизации и подключение клиентов
|
||||
осуществятся через SSL-шифрование (SHA2 или SHA256). Это может затруднить работу старых приложений
|
||||
(или просто лень создавать и обмениваться ключами шифрования). Для того чтобы переключить механизм
|
||||
авторизации в режим предыдущих версий (_native_mysql_password_) в конфигурационный файл MySQL
|
||||
`/etc/mysql/my.cnf`, в блок `[mysqld]` нужно добавить строчки:
|
||||
```buildoutcfg
|
||||
bind-address = 0.0.0.0
|
||||
skip_ssl = true
|
||||
```
|
||||
|
||||
Внутри контейнера эти настройки можно менять через yml-файлы для **docker-compose**. Например:
|
||||
```yaml
|
||||
version: "2.1"
|
||||
services:
|
||||
database:
|
||||
container_name: mysql8_v1
|
||||
image: mysql:latest
|
||||
volumes:
|
||||
# - "d:/docker-compose/mysql/cfg:/etc/mysql"
|
||||
- "d:/docker-compose/mysql/data:/var/lib/mysql"
|
||||
environment:
|
||||
- "MYSQL_ROOT_PASSWORD=this_is_password"
|
||||
- "MYSQL_ROOT_HOST=1.1.1.1"
|
||||
ports:
|
||||
- "3306:3306"
|
||||
command: --bind-address="0.0.0.0" --skip_ssl="true"
|
||||
```
|
||||
|
||||
Обратите внимание, данные базы внутри контейнера будут хранится в примонтированном
|
||||
каталоге `d:/docker-compose/mysql/data` (каталог надо создать заранее)
|
||||
|
||||
Запуск docker-compose (контейнерной сборки):
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
ключ `-d` -- detached mode, т.е. запуск в фоновом режиме (терминал хост-машины не получает
|
||||
информацию на вход и не отображает вывод).
|
||||
|
||||
Остановка docker-compose:
|
||||
```bash
|
||||
docker-compose down
|
||||
```
|
||||
|
157
docker/docker-shadowsocks.md
Normal file
157
docker/docker-shadowsocks.md
Normal file
@@ -0,0 +1,157 @@
|
||||
# Развертывание прокси базе Shadowsocks (сервер и клиент)
|
||||
|
||||
Shadowsocks -- это не VPN, это -- защищенный прокси-сервер Socks5, он перенаправляет трафик через сервер, но
|
||||
не предоставляют полную анонимность, не защищает весь интернет-трафик, а только трафик приложений настроенных
|
||||
на этот прокси.
|
||||
|
||||
Несмотря на то, что Shadowsocks это приложение с открытым кодом и его просмотрело много людей, он не проходил
|
||||
официального аудита безопасности, а значит гарантий полной безопасности при его использовании нет.
|
||||
|
||||
Документация по Shadowsocks [в репозитории GitHub](https://github.com/shadowsocks/shadowsocks-libev/).
|
||||
|
||||
## Сервер
|
||||
|
||||
Загружаем образ shadowsocks с DockerHub:
|
||||
```bash
|
||||
docker pull shadowsocks/shadowsocks-libev
|
||||
```
|
||||
|
||||
Запускаем контейнер:
|
||||
```bash
|
||||
sudo docker run \
|
||||
-e PASSWORD=very#knotty^password! \
|
||||
-e TZ=Europe/Istanbul
|
||||
-e METHOD=aes-256-cfb \
|
||||
-p 8391:8388/tcp \
|
||||
-p 8391:8388/udp \
|
||||
-d --restart=always --name=ss01-server shadowsocks/shadowsocks-libev:latest
|
||||
```
|
||||
Проверим, что контейнер запустился:
|
||||
```bash
|
||||
sudo docker ps
|
||||
```
|
||||
|
||||
Вывод должен быть примерно таким:
|
||||
```bash
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||
61edf1fca166 shadowsocks/shadowsocks-libev:latest "/bin/sh -c 'exec ss…" 8 hours ago Up 8 hours 0.0.0.0:8391->8388/tcp, 0.0.0.0:8391->8388/udp, :::8391->8388/tcp, :::8391->8388/udp ss01-server
|
||||
```
|
||||
|
||||
Для docker-compose это будет примерно вот такой `docker-compose.yml`:
|
||||
```yaml
|
||||
version: "3.7"
|
||||
services:
|
||||
ss-server:
|
||||
image: shadowsocks/shadowsocks-libev:latest
|
||||
container_name: 'ss02-server'
|
||||
environment:
|
||||
- TZ=Europe/Moscow
|
||||
- PASSWORD=another~yet#knotty^password!
|
||||
- METHOD=aes-256-cfb
|
||||
- ARGS=--fast-open
|
||||
ports:
|
||||
- "8390:8388/tcp"
|
||||
- "8390:8388/udp"
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
Запускаем docker-compose:
|
||||
```bash
|
||||
sudo docker-compose up -d
|
||||
```
|
||||
|
||||
Важными при развёртывании является, пожалуй, только параметр `PASSWORD` и порты (в нашем случае сервер shadowsocks будет
|
||||
виден в интернет по порту `8391`) . Также можно определить следующие параметры:
|
||||
* `SERVER_ADDR` -- IP или домен для привязки, по умолчанию `0.0.0.0`.
|
||||
* `SERVER_ADDR_IPV6` -- адрес IPv6 для привязки, по умолчанию `::0`.
|
||||
* `METHOD` -- метод шифрования, по умолчанию `aes-256-gcm`. Так же поддерживаются `c4-md5`, `aes-128-gcm`,
|
||||
`aes-192-gcm`, `aes-128-cfb`, `aes-192-cfb`, `aes-256-cfb`, `aes-128-ctr`, `aes-192-ctr`, `aes-256-ctr`,
|
||||
`camellia-128-cfb`, `camellia-192-cfb`, `camellia-256-cfb`, `bf-cfb`, `chacha20-ietf-poly1305`,
|
||||
`xchacha20-ietf-poly1305`, `salsa20`, `chacha20` и `chacha20-ietf`. Из этого списка особого внимание
|
||||
заслуживает **chacha20-ietf-poly1305**, так как это шифрование поддерживает
|
||||
[Outline VPN](https://getoutline.org/).
|
||||
* `TIMEOUT` -- по умолчанию `300`.
|
||||
* `DNS_ADDRS` -- DNS-серверы для перенаправления запросов поиска NS, по умолчанию: `8.8.8.8,8.8.4.4`.
|
||||
* `TZ` -- часовой пояс, по умолчанию `UTC`.
|
||||
* `ARGS` -- дополнительные аргументы, поддерживаемые, `ss-server`, например, для запуска в режиме `--fast-open` или
|
||||
с подключёнными плагинами, типа relay-сервера `2ray`.
|
||||
|
||||
## Клиент
|
||||
|
||||
Ссылки на загрузку различных клиентов Shadowsocks с графическим интерфейсом можно [на сайте Shadowsocks](https://shadowsocks.org/doc/getting-started.html#gui-clients).
|
||||
Ему нужно будет указать IP-адрес сервера, порт, пароль и метод шифрования. Например, вот такой конфиг для клиента:
|
||||
```json
|
||||
{
|
||||
"server": "11.22.33.44",
|
||||
"server_port": 8391,
|
||||
"local_address": "0.0.0.0",
|
||||
"local_port": 1080,
|
||||
"password": "very#knotty^password!",
|
||||
"timeout": 600,
|
||||
"method": "aes-256-gcm"
|
||||
}
|
||||
```
|
||||
|
||||
Но можно и воспользоваться Docker, развернуть клиент в контейнере и работать с ним как локальным Socks5-прокси (другие
|
||||
пользователи локальной сети тоже могут работать через этот Socks5).
|
||||
|
||||
Загружаем образ shadowsocks-клиента:
|
||||
```bash
|
||||
docker pull littleqz/shadowsocks-client
|
||||
```
|
||||
|
||||
Запускаем контейнер:
|
||||
```bash
|
||||
sudo docker run \
|
||||
-e SERVER=11.22.33.44 \
|
||||
-e SERVER_PORT=8391 \
|
||||
-e LOCAL_PORT=1080 \
|
||||
-e PASSWORD=very#knotty^password! \
|
||||
-e METHOD=aes-256-cfb \
|
||||
-p 1080:1080 \
|
||||
-d --restart=always --name=ss_proxy_izmir littleqz/shadowsocks-client
|
||||
```
|
||||
|
||||
Теперь если в настройках браузера или другого приложения указать в качестве прокси-сервера `localhost` и порт `1080`,
|
||||
то весь трафик будет перенаправляться через прокси-сервер. Так же можно указать в качестве прокси-сервера IP-адрес
|
||||
компьютера, где запущен контейнер с прокси-сервером, и тогда другие пользователи локальной сети тоже смогут
|
||||
использовать этот прокси-сервер.
|
||||
|
||||
Подобным образом можно запустить несколько контейнеров с shadowsocks-клиентами, например, для разных стран, настроив
|
||||
их на разные порты и переключаться между ними.
|
||||
|
||||
Для docker-compose это будет примерно вот такой `docker-compose.yml` (настроено сразу на два клиента):
|
||||
```yaml
|
||||
version: "3.7"
|
||||
services:
|
||||
ss_proxy_izmir:
|
||||
image: littleqz/shadowsocks-client
|
||||
container_name: ss_proxy_izmir
|
||||
environment:
|
||||
- SERVER=11.22.33.44
|
||||
- SERVER_PORT=8391
|
||||
- LOCAL_PORT=1080
|
||||
- PASSWORD=another~yet#knotty^password!
|
||||
- TIMEOUT=60
|
||||
- METHOD=aes-256-cfb
|
||||
# expose:
|
||||
# - 1080
|
||||
ports:
|
||||
- 1080:1080
|
||||
restart: always
|
||||
|
||||
ss_proxy_msk:
|
||||
image: littleqz/shadowsocks-client
|
||||
container_name: ss_proxy_msk
|
||||
environment:
|
||||
- SERVER=55.66.77.88
|
||||
- SERVER_PORT=8391
|
||||
- LOCAL_PORT=1081
|
||||
- PASSWORD=very#knotty^password!
|
||||
- TIMEOUT=60
|
||||
- METHOD=aes-256-cfb
|
||||
ports:
|
||||
- 1081:1081
|
||||
restart: always
|
||||
```
|
||||
|
128
docker/docker-sstp-vpn.md
Normal file
128
docker/docker-sstp-vpn.md
Normal file
@@ -0,0 +1,128 @@
|
||||
# Развертывание сервера VPN на базе MS SSTP в контейнере Docker
|
||||
|
||||
SSTP (Secure Socket Tunneling Protocol) - это VPN-туннель, обеспечивающий механизм передачи трафика PPP через SSL/TLS.
|
||||
Это довольно простой VPN (а значит прост в обнаружении), но его преимуществом является то, что он разработан Microsoft,
|
||||
и его клиент встроен в Windows поддерживается прямо из коробки в AltLinux. SSTP использует TCP-порт 443 (можно
|
||||
переназначить если на сервере уже работают сайты, использующие SSL по порту 443) и обеспечивает безопасность на
|
||||
транспортном уровне с согласованием ключей, шифрованием и проверкой целостности трафика.
|
||||
|
||||
## Выпуск ключей (сертификата)
|
||||
|
||||
Для начала нужно выдать сертификат, который будет использован для шифрования соединения. Нам также понадобится
|
||||
**домен**, через который мы будем подключаться к серверу. Домен должен быть обязательно направлен на ip адрес сервера
|
||||
в DNS,
|
||||
|
||||
Создадим на сервере пару ключей `server_key.pem` и `server_cert.pem` (необходимо заменить слово **[MYDOMAIN]** в команде
|
||||
на наш домен, а **[EMAIL]** на наш, или вообще произвольный, email):
|
||||
|
||||
```bash
|
||||
openssl req -x509 -nodes \
|
||||
-newkey rsa:4096 \
|
||||
-keyout server_key.pem \
|
||||
-out server_cert.pem \
|
||||
-days 1825 \
|
||||
-subj "/C=XX/ST=XX/L=XX/O=XX/OU=XX/CN=[MYDOMAIN]/emailAddress=[EMAIL]"
|
||||
```
|
||||
|
||||
В текущем каталоге появятся два файла: `server_key.pem` и `server_cert.pem`. Первый из них -- это закрытый ключ,
|
||||
второй -- сертификат, который мы будем использовать для шифрования трафика.
|
||||
|
||||
## Запуск сервера
|
||||
|
||||
Загружаем образ softethervpn с DockerHub:
|
||||
```bash
|
||||
docker pull fernandezcuesta/softethervpn
|
||||
```
|
||||
|
||||
Это контейнер сделанный из [официального мастер-репозитория SoftEtherVPN](https://github.com/SoftEtherVPN/SoftEtherVPN)
|
||||
-- универсального VPN поддерживающего помимо `MS-SSTP` протоколы `SSL-VPN (HTTPS)`, `WireGuard`, `OpenVPN`,
|
||||
`IPsec`, `L2TP`, `L2TPv3` и `EtherIP`.
|
||||
|
||||
Запускаем контейнер сконфигурировав его под **SSTP** и передавая ранее созданные сертификаты.:
|
||||
```bash
|
||||
sudo docker run \
|
||||
--cap-add NET_ADMIN \
|
||||
-p 22:443/tcp \
|
||||
-e SSTP_ENABLED=1 \
|
||||
-e USERNAME=[USER] \
|
||||
-e PASSWORD=[USER_PASS] \
|
||||
-e SERVER_PWD=[SERVER_PASS] \
|
||||
-e CERT="$(cat server_cert.pem)" \
|
||||
-e KEY="$(cat server_key.pem)" \
|
||||
-d --name=sstp-vpn --restart=always fernandezcuesta/softethervpn
|
||||
```
|
||||
|
||||
Обратите внимание, что так как в нашем случае на сервере работают сайты использующие SSL, то порт `443` занят
|
||||
и мы переназначаем его на `22`. Наш VPN-тоннель будет мимикрировать не под SSL а под SSH. И, конечно, SSH не должен
|
||||
использовать 22 порт, а тоже должен быть переназначен (впрочем перевести SSH по порт со значением больше 1024 полезно
|
||||
и с точки зрения безопасности).
|
||||
|
||||
Так же замените:
|
||||
* `[SERVER_PASS]` -- пароль сервера, должен быть минимум 12 символов, включающий цифры, большие и маленькие буквы.
|
||||
* `[USER]` -- имя пользователя, которое будет использоваться для подключения к VPN-серверу.
|
||||
* `[USER_PASS]` -- пароль пользователя, должен быть минимум 12 символов, включающий цифры, большие и маленькие буквы.
|
||||
|
||||
Проверим, что наш контейнер запущен и работает:
|
||||
```bash
|
||||
docker ps
|
||||
```
|
||||
|
||||
Вывод должен быть примерно таким:
|
||||
```bash
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||
...
|
||||
...
|
||||
d00d6f42694e fernandezcuesta/softethervpn "/entrypoint.sh /usr…" 8 hours ago Up 8 hours 500/udp, 1194/udp, 4500/udp, 1701/tcp, 0.0.0.0:22->443/tcp, :::22->443/tcp sstp-server
|
||||
...
|
||||
```
|
||||
|
||||
Для docker-compose это будет примерно вот такой `docker-compose.yml`:
|
||||
```yaml
|
||||
ersion: "3.7"
|
||||
services:
|
||||
sstp-vpn:
|
||||
image: fernandezcuesta/softethervpn
|
||||
container_name: 'sstp-server'
|
||||
restart: 'always'
|
||||
ports:
|
||||
- 22:443/tcp
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
environment:
|
||||
- SSTP_ENABLED=1
|
||||
- USERNAME=[USER]
|
||||
- PASSWORD=[USER_PASS]
|
||||
- SERVER_PWD=[SERVER_PASS]
|
||||
- CERT=-----BEGIN CERTIFICATE-----MIIF2zCCA8OgAwIBAgIU.....ZnOLc-----END CERTIFICATE-----
|
||||
- KEY=-----BEGIN PRIVATE KEY-----MIIJQgIBADANBg...6i4xupFQ==-----END PRIVATE KEY-----
|
||||
```
|
||||
|
||||
Обратите внимание, что придется вставить сертификат и ключ из файла... и вставить в одну строку, иначе docker-compose будет ругаться.
|
||||
|
||||
Запускаем docker-compose:
|
||||
```bash
|
||||
sudo docker-compose up -d
|
||||
```
|
||||
|
||||
### Создание дополнительного пользователя (не обязательно)
|
||||
|
||||
Если понадобится создать несколько подключений к серверу, то нужно выполнить следующие две команды для каждого пользователя (подключения):
|
||||
```bash
|
||||
docker exec -it sstp-vpn ./vpncmd [MYDOMAIN] /SERVER /PASSWORD:"$SERVER_PASS" /ADMINHUB:DEFAULT /CSV /CMD UserCreate [USER2] /GROUP:none /REALNAME:none /NOTE:none
|
||||
docker exec -it sstp-vpn ./vpncmd [MYDOMAIN] /SERVER /PASSWORD:"$SERVER_PASS" /ADMINHUB:DEFAULT /CSV /CMD UserPasswordSet [USER2] /PASSWORD:[USER2_PASS]
|
||||
```
|
||||
|
||||
Где:
|
||||
* `[MYDOMAIN]` -- заменить на доменное имя, которе указывали ранее при выдаче сертификата.
|
||||
* `[USER2]` -- имя нового соединения (пользователя)
|
||||
* `[USER2_PASS]` -- пароль нового соединения (пользователя)
|
||||
|
||||
### Дополнительные настройки (не обязательно)
|
||||
|
||||
Рекомендуется увеличить максимальный размер буфера. Эта команда увеличит максимальный размер буфера приема примерно до 2.5МБ:
|
||||
```bash
|
||||
sudo sysctl -w net.core.rmem_max=2500000
|
||||
```
|
||||
|
||||
## Подключение клиента
|
||||
|
Reference in New Issue
Block a user