Пример настройки для Linux

Материал из ЭЛЕСТА
Перейти к: навигация, поиск

Предположим что ПО KROS-GATE корректно установлено, зарегистрировано и был произведен первый пробный запуск.
К серверу не подключено ни одного прибора, трансляция не осуществляется ни на один внешний источник.

Настройка трансляции

Предположим, в системе существует сервер стороннего производителя, который принимает данные в формате Surgard по протоколу TCP,
расположенный по адресу локальной сети 192.168.1.99 и имеющий открытый порт 3300. Сервер может принимать все сообщения кроме E307
(Неизвестное сообщение, внутренний код 10307). Кроме того, событие Взлом (внутренний код 10137, код Surgard E137) должно быть преобразовано для него в код E138.

Останавливаем KROS-GATE командой:

sudo /etc/init.d/kros-gate stop

Открываем файл broadcasts.properties и корректируем в нем нужные строки. Включаем режим реального соединения (по умолчанию в трансляторе включен тестовый режим):

broadcast.TestBroadcast.context.options.test=false

Задаем целевой адрес для трансляции с кодовым именем TestBroadcast:

broadcast.TestBroadcast.context.connect.address=192.168.1.99

Задаем номер порта для соединения:

broadcast.TestBroadcast.context.connect.port=3300

Корректируем таблицу преобразования потока данных:

broadcast.TestBroadcast.context.event.10307=true,E307,Неизвестное сообщение
...
broadcast.TestBroadcast.context.event.10137=false,E138,Взлом

Убеждаемся что принимающая сторона ожидает соединения и запускаем KROS-GATE:

sudo /etc/init.d/kros-gate start

Даже при отсутствии данных от приборов при успешном соединении система должна начать отправлять PING пакеты принимающей стороне.
Проверяем содержимое файла протокола /var/log/kros-gate/tr-TcpSurgard.log

2018-10-04 17:22:09,103 [DEBUG] 192.168.1.99:3300: PING Packet delivered
2018-10-04 17:22:12,104 [DEBUG] 192.168.1.99:3300: PING Packet delivered
2018-10-04 17:22:14,105 [DEBUG] 192.168.1.99:3300: PING Packet delivered
2018-10-04 17:22:16,106 [DEBUG] 192.168.1.99:3300: PING Packet delivered
2018-10-04 17:22:18,107 [DEBUG] 192.168.1.99:3300: PING Packet delivered

Мы видим сообщения о подтверждении успешной доставки PING пакетов.

Транслятор настраивается один раз и при положительном результате в дальнейшем обслуживании не нуждается.

Подключение нового прибора

Предположим внешний IP адрес нашего сервера 123.456.7.8, порт UDP 10000 доступен извне и сервер готов принимать соединения от приборов.

С помощью конфигуратора устанавливаем в приборе параметры соединения (адрес 123.456.7.8, порт 10000), запоминаем его идентификатор ID6 (например 1234-5678-9012) и убеждаемся что ключ шифрования сброшен в значение по умолчанию - 01010101…

Включаем прибор, дожидаемся на нем индикации подтверждения соединения, проверяем содержимое файла devices.properties:

device.1234-5678-9012=1,0101010101010101010101010101010101010101010101010101010101010101

Видим, что прибор подключился к системе и получил идентификатор из базы данных со значением 1. Регистрируем прибор с таким идентификатором в принимающей системе и проверяем прохождение потока данных.
Изменяем ключ шифрования. Для этого останавливаем KROS-GATE и меняем значение ключа в файле devices.properties на свое:

device.1234-5678-9012=1,01074E8501010101018CC4010101010101010101010101010323233101010101

Сохраняем файл и запускаем KROS-GATE. Проверяем прохождение потока данных на принимающей системе.

Подключение работающего прибора

Предположим что прибор, расположенный у конечного потребителя, настроен на передачу данных на наш сервер, но ни его идентификатор (например 1234-5678-9012),
ни ключ шифрования (нам известный) не может быть изменен. Кроме того, этот прибор зарегистрирован в принимающей системе под идентификатором 753, и перенастроить это мы тоже не можем.

Прибор с неизвестным системе ключом шифрования не сможет подключиться и автоматически зарегистрироваться. Поэтому зарегистрируем его вручную. Останавливаем KROS-GATE, открываем файл devices.properties и добавляем строку:

device.1234-5678-9012=753,01074E8501010101018CC4010101010101010101010101010323233101010101

Сохраняем файл и запускаем KROS-GATE. Проверяем прохождение потока данных на принимающей системе.