ИТ-конференции Труконф в городах России!

Вернуться

Как настроить проброс портов (проксирование) на TrueConf Server в Linux

4 мин.

Проброс портов, также трансляция портов – это технология, позволяющая настроить перенаправление трафика в сети по определённым правилам между различными парами «адрес:порт». Чаще всего её применяют на маршрутизаторе, чтобы по его внешнему IP получить доступ к хостам локальной сети, например, для подключения пользователей TrueConf Server снаружи сети. Но есть множество других ситуаций, в которых данная технология будет полезна.

Рассмотрим одну из них: необходимо с машины, на которой работает веб-сервер NGINX, пробросить порты на машину с развёрнутым TrueConf Server. За счёт этого мы повысим безопасность работы сервера видеосвязи – его внутренний IP-адрес будет скрыт за прокси.

В нашем примере прокси-машина будет управляться ОС Debian 11, на которой установлены следующие версии ПО:

  • NGINX – 1.22.0;
  • TrueConf Server – 5.0.3;
  • firewalld – 0.9.3.

Настройка прокси-сервера

Сначала настроим NGINX в качестве прокси для веб-службы TrueConf Server. В нашей конфигурации он будет проксировать трафик, приходящий на стандартные HTTP и HTTPS порты: 80 и 443 соответственно. Если вы используете другие порты (как их поменять, смотрите в документации сервера), то укажите их в соответствующих строках в настройках ниже.

Настройка выполняется путём прописывания директив в конфигурационном файле. По умолчанию он называется nginx.conf и располагается в одном из следующих каталогов:

  • /etc/nginx;
  • /usr/local/nginx/conf;
  • /usr/local/etc/nginx.

Директивы должны быть расположены внутри блока server { … }. Состоит настройка из следующих шагов:

  • Задайте порты, которые будут прослушиваться – 80 и 443.
  • Укажите пути к файлу SSL-сертификата и его ключа, чтобы настроить HTTPS-соединение у NGINX (Если у вас нет сертификата, вы можете сгенерировать его самостоятельно при помощи библиотеки OpenSSL). После этого настраивать HTTPS на TrueConf Server уже не нужно — шифрование трафика будет обеспечено прокси-сервером.
    HTTPS нужен для работы TrueConf Server API. Без него вы не сможете получить токен OAuth2, необходимый для работы API.

  • Пропишите блок location с конфигурацией для проксирования.

    В директиве proxy_pass укажите внутренний адрес TrueConf Server в вашей локальной сети, доступный хосту с NGINX. Благодаря этой директиве трафик, приходящий на ранее заданные порты, будет перенаправляться на указанный адрес. Помимо проксирования в этом блоке настраивается передача HTTP-заголовков и отключение верификации SSL-сертификата.

  • Если предполагается использовать подключение по WebRTC (через браузер), то с новой строки после предыдущего блока пропишите ещё один блок location с конфигурацией для проксирования WebSocket-запросов на порт 4309. Этот порт используется для передачи сигнального (то есть управляющего) трафика между сервером видеосвязи и браузерным клиентским приложением. Это позволит не нагружать веб-сервер обработкой лишнего трафика.

    WebSocket-запросы должны проксироваться только через HTTP. В противном случае подключиться к конференции
    будет невозможно.

    Конфигурация прокси-сервера Nginx завершена. Чтобы внесённые изменения вступили в силу, необходимо его перезапустить. Для этого в терминале под суперпользователем выполните команду:

Настройка файервола

Помимо рассмотренных протоколов HTTP, HTTPS и WebSocket для всех возможностей видеосвязи Труконф могут использоваться протоколы, использующие другие порты, например:

  • 4307 – основной и единственный необходимый TCP-порт для передачи медиаданных между TrueConf Server и TrueConf-клиентом;
  • 554 – TCP-порт для работы по RTSP-протоколу;
  • 1720 – TCP-порт для установки соединения с H.323-устройствами;
  • 52000–52499 – TCP-порты для согласования параметров соединения по протоколу H.323;
  • 5060 – порт TCP или UDP для инициализации соединения по протоколу SIP;
  • 50000–51999 – UDP-порты для передачи медиапотоков по протоколам SIP/H.323.
В списке для примера приведены некоторые из необходимых портов. Подробнее про список используемых в TrueConf Server портов можно почитать в соответствующей инструкции.

В этом случае перенаправления HTTP/HTTPS-трафика через веб-сервер NGINX будет недостаточно. Настроить трансляцию остальных портов можно с помощью фаервола. Для примера воспользуемся пакетом firewalld:

Для выполнения перечисленных далее команд используйте программу sudo, или предварительно перейдите в режим суперпользователя, выполнив в терминале команду su - и введя root-пароль.
  • Сначала необходимо его установить:
  • Затем разрешите обращение к NGINX командами:

    Расшифровка используемых параметров:

    • --permanent – позволяет добавить настройку на постоянной основе, сохранив её после перезапуска ОС или файeрвола;
    • --zone="public" – устанавливает, к какой зоне будет применяться настройка;
    • --add-service – добавляет сервис к указанной зоне.
  • Выполните команды для проброса TCP и UDP портов. Они могут настраивать проброс как одного порта, так и целого диапазона. Мы для примера покажем по одной команде каждого типа: одна будет пробрасывать 554 порт (для RTSP), вторая будет пробрасывать диапазон портов 50000-51999 (для SIP/H.323):

    Аналогичными командами выполните проброс остальных необходимых портов.

    Расшифровка используемых параметров:

    • --add-forward-port – позволяет пробросить порт с одной машины на другую;
    • port – задаёт пробрасываемый порт/диапазон портов;
    • proto – задаёт протокол передачи данных через порт;
    • toport – задаёт целевой порт;
    • toaddr – задаёт адрес машины, на которую пробрасываем исходный порт.
  • Выполните команды, которые настроят подмену адреса проксируемой машины (с установленным TrueConf Server) на адрес прокси-сервера. Тем самым мы перенаправим входящий и исходящий трафик через прокси, скрыв реальный IP сервера видеосвязи. Список портов для протоколов TCP и UDP настраивается по отдельности, например:

    Расшифровка используемых параметров:

    • --direct – включает direct-синтаксис, позволяющий сделать более тонкую настройку (по сути это синтаксис пакета iptables);
    • --add-rule – позволяет добавить правило iptables;
    • ipv4указываем, что настройка производится для трафика IPv4;
    • nat – включаем таблицу NAT;
    • POSTROUTING – включаем цепочкуPOSTROUTING;
    • 0 – приоритет задаваемого правила (0 — наивысший);
    • POSTROUTING – задаёт адрес машины, на которую пробрасываем исходный порт.
    • -p tcpзадаём сетевой протокол TCP;
    • -p updзадаём сетевой протокол UDP;
    • -m multiport – включаем использование правилом нескольких портов;
    • --dportsсписок портов, на которых правило будет действовать;
    • -j SNAT – задаём действие, которое будет выполняться, если пакет подходит под описанное правило;
    • --to-source 192.168.10.2указываем IP-адрес, на который будем подменять исходный (в нашем случае это IP-адрес прокси).

Проверка настроек

После того как настройка произведена, перезапустите firewalld, чтобы сохранить изменения:

Затем проверьте, применились ли настройки. Для этого необходимо в терминале выполнить точно такую же команду, как для проброса порта, только заменив --add-forward-port на -–query-forward-port. Например, чтобы проверить, проброшен ли 554 порт, выполните следующую команду:

Если в консоль вывелось слово no – это значит, что порт не проброшен. Причиной этому может быть то, что вы не прописали ключ --permanent в соответствующей команде. Выполните команду в терминале снова, удостоверившись, что этот ключ присутствует.

Если же в консоль вывелось слово yes – значит настройка проброса порта на машину с TrueConf Server успешно выполнена.

Предыдущая статья Следующая статья
Содержание

Попробуйте безопасную ВКС-платформу Труконф!

ВКС-решение TrueConf Server работает внутри вашей закрытой сети без подключения к интернету
и позволяет собирать до 1500 человек в одной конференции!

Труконф

Крупнейшее ВКС-сообщество в России

Живой диалог с разработчиками, помощь с настройкой ВКС-систем, полезные материалы, ранние доступы и бета-версии — всё в специальном чате @trueconf_talks.

Подписаться
Видео+Конференция

Актуальные новости из мира ВКС

Подписывайтесь на канал нашего информационного партнёра «Видео+Конференция», чтобы быть в курсе последних новостей в сфере видеоконференцсвязи и AV-оборудования.

Подписаться Перейти на сайт

Содержание