SHA256
86 lines
2.1 KiB
Markdown
86 lines
2.1 KiB
Markdown
# Настройка TURN-сервера
|
|
|
|
TURN-хосты SHiNE должны использовать домены:
|
|
|
|
- `turn1.shineup.me`
|
|
- `turn2.shineup.me`
|
|
- `turn3.shineup.me`
|
|
|
|
IP не фиксировать в документах и скриптах как основной идентификатор.
|
|
|
|
## 1. DNS
|
|
|
|
Создать или обновить DNS `A/AAAA` для нужного `turnX.shineup.me`.
|
|
|
|
## 2. Пакеты
|
|
|
|
```bash
|
|
sudo apt update
|
|
sudo apt install -y coturn caddy
|
|
```
|
|
|
|
Можно использовать вспомогательный скрипт на самом TURN-хосте:
|
|
|
|
```bash
|
|
sudo bash deploy/scripts/setup_turn_coturn.sh --realm turn1.shineup.me --secret CHANGE_ME_LONG_RANDOM_SECRET
|
|
```
|
|
|
|
## 3. coturn
|
|
|
|
Секреты не хранить в git. Настраивать на сервере через `/etc/turnserver.conf` или отдельный secret/override.
|
|
|
|
Минимальная схема:
|
|
|
|
```conf
|
|
listening-port=3478
|
|
tls-listening-port=5349
|
|
fingerprint
|
|
lt-cred-mech
|
|
realm=turn1.shineup.me
|
|
server-name=turn1.shineup.me
|
|
use-auth-secret
|
|
static-auth-secret=<secret-on-server-only>
|
|
no-multicast-peers
|
|
no-cli
|
|
```
|
|
|
|
Включить сервис:
|
|
|
|
```bash
|
|
sudo systemctl enable coturn
|
|
sudo systemctl restart coturn
|
|
```
|
|
|
|
## 4. Caddy
|
|
|
|
Caddy можно использовать для HTTPS health/check endpoint и автоматического TLS на домене.
|
|
|
|
Пример:
|
|
|
|
```caddyfile
|
|
turn1.shineup.me {
|
|
respond /health "ok" 200
|
|
}
|
|
```
|
|
|
|
Проверка:
|
|
|
|
```bash
|
|
sudo caddy validate --config /etc/caddy/Caddyfile
|
|
sudo systemctl restart caddy
|
|
curl -I https://turn1.shineup.me/health
|
|
```
|
|
|
|
## 5. Проверка портов
|
|
|
|
```bash
|
|
sudo systemctl --no-pager --full status coturn caddy
|
|
sudo ss -lntup | grep -E ':(3478|5349)'
|
|
```
|
|
|
|
## 6. Важное
|
|
|
|
- TURN credentials и shared secret не коммитить.
|
|
- Если TURN домен переносится на другой VPS, менять DNS, а не код приложения.
|
|
- После изменения TURN-адресов обновить серверные/UI настройки, где они используются.
|