5.8 KiB
title | date | author | tags | description | cover | ||||
---|---|---|---|---|---|---|---|---|---|
Настройка TLS (turns:) в Eturnal для Nextcloud Talk (Spreed) | 2024-12-22 | Линк |
|
Мануал для систем с пакетным менеджером **`apt`** |
*Мануал подразумевает, что у вас уже есть сервер с apt-based
системой с установленным и настроенным Nextcloud
Поскольку у меня сервер на Debian 13
, соответственно мануал будет для систем с apt
.
Чтобы установить пакет eturnal
, необходимо прописать следующие команды:
sudo apt install extrepo
sudo extrepo enable eturnal
sudo apt update
sudo apt install eturnal
(Взято с Github-репозитория eturnal)
После установки необходимо редактировать файл конфигурации
(Вместо micro
подставьте ваш любимый терминальный текстовый редактор)
sudo micro /etc/eturnal.yml
Сам файл конфигурации:
# eturnal STUN/TURN server configuration file.
#
# This file is written in YAML. The YAML format is indentation-sensitive, please
# MAKE SURE YOU INDENT CORRECTLY.
#
# See: https://eturnal.net/doc/#Global_Configuration
eturnal:
## Shared secret for deriving temporary TURN credentials (default: $RANDOM):
secret: "ваш-секрет"
## The server's public IPv4 address (default: autodetected):
relay_ipv4_addr: "ваш_белый_(или_статичный)_IP"
## The server's public IPv6 address (optional):
#relay_ipv6_addr: "2001:db8::4"
listen:
-
ip: "::"
port: 3478
# port: 80
transport: udp
-
ip: "::"
port: 3478
# port: 80
transport: tcp
-
ip: "::"
port: 5349
# port: 443
transport: tls
## TLS certificate/key files (must be readable by 'eturnal' user!):
tls_crt_file: ваш_путь_до_fullchain.pem
tls_key_file: ваш_путь_до_privkey.pem
## UDP relay port range (usually, several ports per A/V call are required):
relay_min_port: 49152 # This is the default.
relay_max_port: 65535 # This is the default.
## Reject TURN relaying to the following addresses/networks:
blacklist_peers:
- recommended # Expands to various addresses/networks recommended
# to be blocked. This is the default.
## If 'true', close established calls on expiry of temporary TURN credentials:
strict_expiry: false # This is the default.
## Logging configuration:
log_level: info # critical | error | warning | notice | info | debug
log_rotate_size: 10485760 # 10 MiB (default: unlimited, i.e., no rotation).
log_rotate_count: 10 # Keep 10 rotated log files.
#log_dir: stdout # Enable for logging to the terminal/journal.
## See: https://eturnal.net/doc/#Module_Configuration
modules:
mod_log_stun: {} # Log STUN queries (in addition to TURN sessions).
#mod_stats_influx: {} # Log STUN/TURN events into InfluxDB.
#mod_stats_prometheus: # Expose STUN/TURN and VM metrics to Prometheus.
# ip: any # This is the default: Listen on all interfaces.
# port: 8081 # This is the default.
# tls: false # This is the default.
# vm_metrics: true # This is the default.
1.
На месте secret: "ваш-секрет"
замените значение ваш-секрет
на вывод с команды
openssl rand -hex 32
и сохраните это значение, ибо потом нам оно понадобится.
2.
На месте relay_ipv4_addr: "ваш_белый_(или_статичный)_IP"
вставите свой IP
3.
На месте tls_crt_file: ваш_путь_до_fullchain.pem
и tls_key_file: ваш_путь_до_privkey.pem
вставьте пути для соответствующих сертификатов
Также необходимо ввести следующую команду
sudo setfacl -R -m u:eturnal:rX /etc/letsencrypt/{live,archive}
для того, чтобы пользователю eturnal
были доступны сертификаты.
После проведённых модификаций конфигурационного файла, необходимо перезапустить сервис eturnal
:
sudo systemctl restart eturnal
После чего в браузере идём в настройки сервера Nextcloud
(/settings/admin/talk) -> Конференции
-> пункт TURN-серверы
Нажимаем + Добавить сервер TURN
- В первом выпадающем списке ставим
Только turns:
- В
URL сервера TURN
ваш домен, к которому был привязан белый (статичный) IP - В
Секретный ключ TURN-сервера
вставляем секрет, который я просил сохранить ранее в пункте 1 выше
После вводим пароль (если попросят), затем нажимаем на значок линии сердцебиения (слева от значка корзинки), и, если всё настроено правильно, получаем зелёную галочку и радуемся жизни.
Возможно, вам нужно будет открыть порты 3478 и 5349, но это уже сами разберётесь как сделать.