Удаленный мониторинг через однонаправленный канал

Аннотация

Распространенной задачей при использовании однонаправленных шлюзов является ввод в защищенную информационную сеть информации удаленного мониторинга из небезопасной сети, либо вывод из защищенной сети (индустриальные сети) такой информации. В обоих случаях уровень безопасности защищенной сети не должен быть уменьшен вследствие данного обмена, для чего и используется однонаправленной шлюзы.

Под информацией удаленного мониторинга подразумевается: видео информация экранов, информационных пультов, отдельных окон и.т.п на которых выводятся изображения приборов, индикаторов, графиков и др. Другими словами стоит задача однонаправленного стриминга. 

Технически видео информация передается в виде IP multicast трафика (UDP поток) с видео источников (камер, серверов IPTV итд). Поток должен инициироваться настройками оборудования или соответствующими протоколами управления в сегменте передающей сети и направляться во входящий интерфейс однонаправленного шлюза.

В данной статье мы покажем простейший пример трансляции(стриминга) изображения экрана передающего сервера через однонаправленный шлюз Стром-1000 (МО) и воспроизведение его на приемном сервере. Аналогично вместо передающего сервера можно легко использовать IP камеру. 

Для трансляции экрана передающего сервера было использовано кросс-платформенное open source ПО OBS Studio:  https://obsproject.com/https://obsproject.ru/ .

Для вопроизведения передаваемого изображения на приемном сервере использовано кросс-платформенное open source ПО VLC media player: https://www.videolan.org/index.ru.html

Для однонаправленного экранирования сегментов ЛВС был использован однонаправленный шлюз СТРОМ-1000: https://www.cryptoex.ru/product/стром-1000/

Примечание: в качестве однонаправленного шлюза также может использоваться СТРОМ-1000 МО.

Однонаправленный стриминг. Пример.

Стенд для экспериментальной демонстрации показан на Рис. 1

Рис. 1

Сервер 1 — сервер передачи, ОС Ubuntu LTS 22.04, ПО OBS Studio;

Сервер 2 — сервер приема и воспроизведения ОС Ubuntu LTS 22.04, ПО VLC media player;

Настройки OBS studio:

  1. Открываем вкладку “Настройки” и переходим во вкладку “Вывод”.
  2. В поле “Режим вывода” переключаем на расширенный.
  3. Переходим на вкладку “Запись”. В поле “Тип” выбираем пункт “Пользовательский вывод (FFmpeg)”.
  4. В поле “Тип вывода FFmpeg” выбираем пункт “На указанный адрес (URL)”.
  5. В поле “Путь к файлу или URL-адрес” вводим “udp://224.0.0.1:9999?pkt_size=1316” где “224.0.0.1” – IP-адрес принимающего устройства (в данном случае это зарезервированный адрес для multicast вещания), “9999” – это порт, “?pkt_size=1316” – параметр, отвечающий за размер MTU (maximum transmission unit – максимальная единица передачи данных).
  6. В поле “Формат контейнера” выбираем пункт “mpegts”.
  7. Устанавливаем галочку напротив пункта “Показать все кодеки (в т.ч. потенциально несовместимые)” и выбираем в списке “Кодировщик видео” кодек “libx264”.
  8. В поле “Битрейт аудио” устанавливаем значение “96 Kbps”, в качестве кодировщика аудио выбираем “aac”.

Поле “Битрейт видео” отвечает за качество передаваемого видео, стандартного значения в 2500 Kbps хватает для передачи потока в FullHD 1080p.

Сохраняем настройки и переходим в главное окно OBS studio, добавляем сцену в селекторе с одноименным названием слева внизу, а в селекторе чуть правее под названием источники добавляем источник “захват экрана”.

Для запуска трансляции нужно нажимать кнопку “Начать запись” в главном окне.

Для просмотра трансляции была установлена программа VLC media player на Сервер 2.

В данной программе открываем список в меню сверху “Медиа” и выбираем пункт “Открыть URL” и вбиваем адрес введенный в OBS studio, в случае данного стенда это “udp://@224.0.0.1:9999” или же “udp://@:9999”.

Примечание:

Если на передающем сервере существует несколько активных сетевых интерфейсов, то необходимо указать маршрут для мультикаст трафика:

route add -net 224.0.0.0 netmask 240.0.0.0 dev $IFACE

, где $IFACE — имя сетевого интерфейса для передачи.

Настройки однонаправленного шлюза:

  1. Настраиваем СТРОМ-1000 в режим фильтрации: «wan mode ipflt»1
  2. Указываем разрешенный IP-адрес: «ip permit 192.168.1.1»
  3. Указываем параметр route: «route 224.0.0.1 224.0.0.1 01:00:5e:00:00:01»

Примечание:

В данном случае в конфигурационном файле не требуется указывать запись mac xx:xx:xx:xx:xx:xx, потому что используется только мультикаст поток.

Загружаем конфигурационный файл в однонаправленный шлюз через SD-карту.2

1 Для СТРОМ-1000 МО эта опция не нужна.

2 Для СТРОМ-1000 МО предварительно компилируем текстовый конфигурационный файл.

Проверка работоспособности:

Начинаем трансляцию в OBS studio с Сервер 1 и открываем URL в VLC media player на Сервер 2.

Если все сделано правильно, то мы увидим изображение экрана Сервер 1 в окне VLC media player на Сервер 2, счетчик пакетов на однонаправленном шлюзе будет увеличиваться, индикаторы линков интерфесов одннаправленного шлюза будут показывать сетевую активность.

Дополнение:

При необходимости СТРОМ-1000 может переделать multicast трафик в unicast, если это необходимо.

Для стенда на Рис.1 необходимо будет в конфигурацию однонаправленного шлюза внести запись:
“route 224.0.0.1 10.8.0.1 0F:AC:45:78:85:02”

Версия документа 2.5 от 07.06.2024 (с) ООО «КриптоЭкс»