Установка и настройка TURN-сервера

19 августа 2026

ID 314679

Обзор удаленного подключения

Удаленный доступ к Android-устройству предполагает установление соединения с помощью WebRTC (Web Real-Time Communication) - технологии потоковой передачи данных, которая обеспечивает одноранговые соединения между двумя браузерами или мобильными приложениями. Передача данных с использованием WebRTC осуществляется через сервер TURN (Traversal Using Relays around NAT), который выступает в качестве посредника и ретранслирует трафик между участниками соединения.

Процесс удаленного подключения представлен на рисунке ниже.

Схема_удаленного_подключения

TURN-сервер должен быть доступен как для браузера, с которого вы подключаетесь к устройству, так и для самого устройства. Если браузер находится в локальной сети, а мобильное устройство - в интернете, TURN-сервер можно разместить в демилитаризованной зоне. Информация для установления соединения передается на устройство по мобильному протоколу. Для установления соединения необходимо настроить диапазон портов на TURN-сервере. Для одного соединения используются два порта.

TURN-сервер выполняет следующие функции:

  • Установление соединения

    TURN-сервер обеспечивает процесс обмена кандидатами ICE (Interactive Connectivity Establishment) для выбора оптимального пути соединения между Kaspersky Security Center Web Console и мобильным устройством. По запросу от устройства TURN-сервер возвращает ICE-кандидат - потенциальный сетевой маршрут (порт 5349 на рисунке выше), который можно использовать для установления соединения.

  • Передача видеоданных

    TURN-сервер действует как туннель, который принимает подключения от Kaspersky Security Center и мобильного устройства. Оба участника соединения отправляют свои медиапотоки на TURN-сервер, который затем передает их другому участнику и тем самым обеспечивает передачу данных.

Установка и настройка TURN-сервера

  1. Установите TURN-сервер

    Системные требования для TURN-сервера:

    • 2 CPU или vCPU;
    • 4 ГБ ОЗУ;
    • 15 ГБ HDD;
    • 512 КБ/с на одно активное соединение.

    Мы рекомендуем использовать одну из реализаций TURN-сервера - coturn. Coturn можно установить из репозитория GitHub или пакетного менеджера вашей операционной системы. Приведенный ниже пример относится к версии coturn 4.5.2.

    Ниже приведена инструкция по установке coturn на примере операционной системы Ubuntu:

    1. Установите пакет coturn на сервере в демилитаризованной зоне, используя команды:

      sudo apt-get update

      sudo apt install coturn

    2. После успешного завершения установки проверьте статус запущенного сервиса coturn:

      systemctl status coturn.service

    3. Добавьте службу coturn в автозапуск:

      sudo systemctl enable coturn

  2. Настройте TURN-сервер
    1. Укажите необходимые параметры в конфигурационном файле TURN-сервера, используя текстовый редактор, например, Vim или nano. Путь к файлу: /etc/turnserver.conf.

      Используйте параметры TURN-сервера, приведенные в примере. Неиспользуемые параметры необходимо закомментировать.

    2. Настройте Firewall на сервере, открыв порты, указанные в конфигурационном файле TURN-сервера:

      sudo ufw allow 5349/tcp

      sudo ufw allow 50010:50120/udp

  3. Получите и настройте сертификат TURN-сервера

    Вы можете получить сертификат от центра сертификации (CA) или сгенерировать самоподписанный сертификат.

    • Сертификат от CA должен быть выдан в формате PEM для полного доменного имени сервера, указанного в конфигурационном файле TURN-сервера.
    • Чтобы сгенерировать самоподписанный сертификат (например, с использованием утилиты OpenSSL):
      1. Сгенерируйте ключ CA:

        openssl genrsa -out ca_key.key 2048

      2. Сгенерируйте самоподписанный сертификат CA, используя данные для вашей организации или произвольные данные:

        openssl req -x509 -new -nodes -key ca_key.key -sha256 -days 365 -subj "/C=<Country>/ST=<State or Province>/L=<Locality>/O=<Organization>/CN=<Common Name>" -out root_cert.pem

      3. Сгенерируйте закрытый ключ сервера:

        openssl genrsa -out cert_key.key 2048

      4. Создайте Certificate Signing Request (CSR) для сервера, используя данные для вашей организации или произвольные данные:

        openssl req -new -key cert_key.key -subj "/C=<Country>/ST=<State or Province>/L=<Locality>/O=<Organization>" -out server_cert.csr

      5. Создайте конфигурацию для расширений SAN, EKU и KeyUsage - файл ext.cnf с содержимым:

        [ v3_req ]

        subjectAltName = @alt_names

        extendedKeyUsage = serverAuth

        keyUsage = digitalSignature, keyCertSign, cRLSign

        [ alt_names ]

        DNS.1 = <TURN server FQDN>

      6. Подпишите серверный сертификат CA:

        openssl x509 -req -in server_cert.csr -CA root_cert.pem -CAkey ca_key.key -CAcreateserial -out server_cert.crt -days 365 -sha256 -extfile ext.cnf -extensions v3_req

      7. Преобразуйте закрытый ключ сервера в формат PEM для использования в конфигурационном файле TURN-сервера:

        openssl rsa -in cert_key.key -out cert_key.pem -outform PEM

      8. Преобразуйте серверный сертификат, подписанный CA, в формат PEM для использования в конфигурационном файле TURN-сервера:

        openssl x509 -in server_cert.crt -out server_cert.pem

      9. Преобразуйте самоподписанный корневой сертификат в формат CRT для установки в хранилище сертификатов доверенного центра сертификации на компьютере администратора:

        openssl x509 -in root_cert.pem -out root_cert.crt

      10. Укажите путь к ранее полученным файлам server_cert.pem и cert_key.pem в конфигурационном файле TURN-сервера. Этот путь должен быть доступен TURN-серверу, например, /var/opt/turn.

        Убедитесь, что пользователю turnserver выданы права на чтение.

      11. Установите файл root_cert.crt в хранилище сертификатов доверенного центра сертификации на компьютере администратора, а затем перезапустите браузер.
  4. Завершение настройки
    1. Перезапустите coturn:

      systemctl restart coturn.service

    2. Перезапустите UFW:

      systemctl restart ufw

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!