Deploy: расширить relay-range coturn

This commit is contained in:
AidarKC
2026-07-24 19:43:52 +04:00
parent 20677a9090
commit f9dd245481
4 changed files with 24 additions and 4 deletions
+12
View File
@@ -25,6 +25,9 @@ sudo apt install -y coturn caddy
sudo bash deploy/scripts/setup_turn_coturn.sh --realm turn1.shineup.me --secret CHANGE_ME_LONG_RANDOM_SECRET
```
По умолчанию этот скрипт настраивает relay-диапазон `49000-53999`.
Это стандарт SHiNE: 5000 UDP-портов под TURN relay.
## 3. coturn
Секреты не хранить в git. Настраивать на сервере через `/etc/turnserver.conf` или отдельный secret/override.
@@ -44,6 +47,14 @@ no-multicast-peers
no-cli
```
Для SHiNE держать relay-range большим сразу, чтобы не упираться в `create_relay_ioa_sockets: no available ports`.
Стандартный диапазон:
```conf
min-port=49000
max-port=53999
```
Включить сервис:
```bash
@@ -83,3 +94,4 @@ sudo ss -lntup | grep -E ':(3478|5349)'
- TURN credentials и shared secret не коммитить.
- Если TURN домен переносится на другой VPS, менять DNS, а не код приложения.
- После изменения TURN-адресов обновить серверные/UI настройки, где они используются.
- Не сужать relay-range ниже 5000 UDP-портов без явной причины: для SHiNE это уже приводило к отказам звонков на проде `24 июля 2026`.
+1
View File
@@ -17,6 +17,7 @@ TURN нужен для WebRTC-звонков, когда прямое peer-to-pe
- DNS каждого `turnX.shineup.me` указывает на актуальный физический сервер TURN.
- TLS/HTTPS и вспомогательная маршрутизация обслуживаются через Caddy, если на сервере есть web endpoint для проверки.
- `coturn` слушает TURN/STUN порты согласно локальному `turnserver.conf`.
- Стандартный relay-range SHiNE: `49000-53999` (`5000` UDP-портов).
- Секреты TURN не хранить в git.
## Что проверять
+6 -4
View File
@@ -9,8 +9,8 @@ set -euo pipefail
SECRET=""
REALM="turn1.shineup.me"
MIN_PORT="49160"
MAX_PORT="49200"
MIN_PORT="49000"
MAX_PORT="53999"
while [[ $# -gt 0 ]]; do
case "$1" in
@@ -23,11 +23,11 @@ while [[ $# -gt 0 ]]; do
shift 2
;;
--min-port)
MIN_PORT="${2:-49160}"
MIN_PORT="${2:-49000}"
shift 2
;;
--max-port)
MAX_PORT="${2:-49200}"
MAX_PORT="${2:-53999}"
shift 2
;;
*)
@@ -87,6 +87,8 @@ systemctl --no-pager --full status coturn
echo
echo "coturn настроен."
echo "Стандартный relay-range SHiNE: ${MIN_PORT}-${MAX_PORT}."
echo "Рекомендуемый размер диапазона: не меньше 5000 UDP-портов."
echo "Откройте firewall: 3478/tcp, 3478/udp, ${MIN_PORT}-${MAX_PORT}/udp"
echo "Для SHiNE-сервера задайте такой же shared-secret в параметре:"
echo " -Dcall.ice.turn.sharedSecret=${SECRET}"