Аннотация
Распространенной задачей при использовании однонаправленных шлюзов является ввод в защищенную информационную сеть информации удаленного мониторинга из небезопасной сети, либо вывод из защищенной сети (индустриальные сети) такой информации. В обоих случаях уровень безопасности защищенной сети не должен быть уменьшен вследствие данного обмена, для чего и используется однонаправленной шлюзы.
Под информацией удаленного мониторинга подразумевается: видео информация экранов, информационных пультов, отдельных окон и.т.п на которых выводятся изображения приборов, индикаторов, графиков и др. Другими словами стоит задача однонаправленного стриминга.
Технически видео информация передается в виде 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:
- Открываем вкладку “Настройки” и переходим во вкладку “Вывод”.
- В поле “Режим вывода” переключаем на расширенный.
- Переходим на вкладку “Запись”. В поле “Тип” выбираем пункт “Пользовательский вывод (FFmpeg)”.
- В поле “Тип вывода FFmpeg” выбираем пункт “На указанный адрес (URL)”.
- В поле “Путь к файлу или URL-адрес” вводим “udp://224.0.0.1:9999?pkt_size=1316” где “224.0.0.1” – IP-адрес принимающего устройства (в данном случае это зарезервированный адрес для multicast вещания), “9999” – это порт, “?pkt_size=1316” – параметр, отвечающий за размер MTU (maximum transmission unit – максимальная единица передачи данных).
- В поле “Формат контейнера” выбираем пункт “mpegts”.
- Устанавливаем галочку напротив пункта “Показать все кодеки (в т.ч. потенциально несовместимые)” и выбираем в списке “Кодировщик видео” кодек “libx264”.
- В поле “Битрейт аудио” устанавливаем значение “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 — имя сетевого интерфейса для передачи.
Настройки однонаправленного шлюза:
- Настраиваем СТРОМ-1000 в режим фильтрации: «wan mode ipflt»1
- Указываем разрешенный IP-адрес: «ip permit 192.168.1.1»
- Указываем параметр 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 (с) ООО «КриптоЭкс»