Teleport Купить лицензию

Документация / Развёртывание / TURN и сеть

TURN и сеть

TURN-сервер (coturn) нужен, чтобы звонки и P2P-соединения работали даже при строгом NAT или файрволе. В стандартной установке его настраивает сам установщик сервера — отдельных действий не требуется.

Зачем нужен TURN

Большая часть соединений устанавливается напрямую между устройствами. Но если оба собеседника за строгим NAT, прямой канал невозможен — тогда трафик идёт через ретранслятор TURN, по-прежнему в зашифрованном виде. Без корректно настроенного TURN звонки и передача файлов за NAT работать не будут.

Настройка

Отдельных действий обычно не требуется: TURN настраивает сам установщик сервера. При запуске установки on-prem он ставит coturn, генерирует и синхронизирует секрет, прописывает realm/external-ip, открывает нужные порты в firewall и запускает coturn. Домен для realm установщик спросит интерактивно (как лицензионный ключ), либо его можно передать переменной TELEPORT_HOST.

Секрет static-auth-secret в конфиге coturn и TURN_SECRET в .env сервера обязаны совпадать — установщик делает это автоматически. Если настраиваете coturn вручную или держите его на отдельной машине, эти два значения нужно держать одинаковыми, иначе клиенты не получат relay-кандидатов.

Перенастройка / отдельная машина

Если TURN живёт на отдельном сервере или его нужно перенастроить, повторно запустите установщик с пропуском или используйте коробочный coturn:

# пропустить настройку TURN при установке сервера:
curl -fsSL https://teleport.enigma.page/updates/server/install-server.sh -o install-server.sh
sudo TELEPORT_SKIP_TURN=1 bash install-server.sh

Минимальный рабочий /etc/turnserver.conf: use-auth-secret, static-auth-secret=<ваш TURN_SECRET>, realm=<домен>, external-ip=<публичный IP>, min-port/max-port для relay-диапазона. После правок — systemctl restart coturn (именно restart: по reload coturn не перечитывает секрет).

Порты

В firewall должны быть открыты:

  • 3478/udp и 3478/tcp — STUN/TURN;
  • диапазон relay-портов (UDP) — должен совпадать с min-port/max-port в конфиге coturn;
  • 443 — TLS для API и сигналинга.

Проверка

После настройки выполните тестовый звонок между двумя устройствами. Если соединение устанавливается и собеседники слышат друг друга — TURN настроен корректно. При проблемах убедитесь, что секреты совпадают, публичный IP в конфиге верный, а диапазон relay-портов открыт в firewall.