Сетевые настройки
Данный раздел содержит информацию о сетевой архитектуре системы ЛиманИСУ 2.0: IP-адресации, протоколах взаимодействия, используемых портах и правилах межсетевого экрана.
Протоколы и порты
Система использует несколько категорий сетевых протоколов для взаимодействия между компонентами.
REST API (порты 80, 8180, 8881-8885)
Назначение: интеграция с системами управления предприятием, доступ к веб-интерфейсу.
Действия по настройке:
- Убедитесь, что порты открыты в фаерволе для доступа с ЦСД
- Настройте обратный прокси (Nginx) для маршрутизации запросов
- Для внешних систем: предоставьте IP-адрес ЦСД и учётные данные Keycloak
Промышленные протоколы
Modbus TCP (порт 502)
Назначение: обмен данными с устройствами сбора данных «Пассер-В/Т».
Действия по настройке:
- Настройте IP-адресацию между ПЛК «Ларус-10» и устройствами УСД
- Убедитесь, что порт 502 устройств Пассер доступен для ПЛК
- В конфигурации сервиса
lisu-crudукажите IP-адреса устройств
MQTT (порты 1883, 8883)
Назначение: приём телеметрии от ПЛК «Ларус-10».
Действия по настройке:
- Настройте брокер NanoMQ (конфиг
nanomq.conf) - Укажите логин/пароль для устройств в ACL
- В сервисах системы задайте
NATS_URLдля подключения к брокеру
OPC UA (порт 4840)
Назначение: интеграция со SCADA-системами.
Действия по настройке:
- Настройте OPC UA сервер (если требуется)
- Откройте порт 4840 для доступа SCADA-систем
- Предоставьте endpoint и политики безопасности интеграторам
Служебные протоколы
NATS (порт 4222)
Назначение: межсервисное взаимодействие внутри системы.
NanoMQ используется как MQTT-брокер на стороне устройств -- он принимает JSON без изменений. NATS в облаке хранит и маршрутизирует те же JSON. Очереди/топики выделяются по типу событий: телеметрия (vibration, current, voltage, tachometer), состояние оборудования, ошибки.
Действия по настройке:
- Разверните кластер NATS через Docker Compose
- Настройте авторизацию через JWT (файлы
seed.jwt,resolver.conf) - Убедитесь, что порт 4222 доступен только между контейнерами системы
Порт 4222 должен быть закрыт для внешнего доступа. Доступ только внутри Docker-сети.
NTP (порт 123)
Назначение: синхронизация времени.
Действия по настройке:
- Настройте NTP-клиент на всех серверах системы
- Укажите корпоративные NTP-серверы (например,
10.177.88.1) - Проверьте синхронизацию командой
timedatectl
TFTP (порт 69)
Назначение: передача файлов сырых сигналов от УСД.
Действия по настройке:
- Убедитесь, что TFTP-сервер в составе прошивки ПЛК запущен
- Настройте сетевую доступность для устройств УСД
- Проверьте передачу файлов в каталог
/opt/raw_data
Протоколы хранения данных
S3 API (MinIO, порт 9000)
Назначение: работа с объектным хранилищем.
Действия по настройке:
- Создайте бакеты:
rawdata,diagnostic - Сгенерируйте ключи доступа (
ACCESS_KEY,SECRET_KEY) - Укажите ключи во всех сервисах через переменные окружения
Сводная таблица протоколов и портов по компонентам
| Компонент | Протокол | Порт | Назначение |
|---|---|---|---|
| ЦСД | REST API | 80, 8180, 8881-8885 | Веб-интерфейс ЛиманИСУ 2.0 (авторизация, управление, API) |
| Modbus TCP | 502 | Обмен данными с промышленными устройствами | |
| MQTT, NATS | 1883, 4222 | Передача сообщений между микросервисами и устройствами | |
| S3 API | 9000 | Доступ к MinIO для хранения Parquet-файлов | |
| TCP | 5432 | Подключение к БД (метаданные) | |
| ЛСМ | Modbus TCP | 502 | Локальное взаимодействие с оборудованием |
| MQTT | 1883, 8883 | Локальный обмен сообщениями | |
| ПЛК «Ларус-10» | MQTT | 1883, 8883 | Передача телеметрии JSON в NanoMQ |
| S3 API | 9000 | Загрузка Parquet-файлов в MinIO | |
| TFTP | 69 | Приём .bin-файлов от Пассер-В/Т | |
| Modbus TCP | 502 | Опрос регистров Пассер-В/Т | |
| UDP | 123 (NTP) | Синхронизация времени | |
| UDP | 31001-45021 | Приём телеметрии от Пассер (Forte) | |
| HTTP | 8000 | Встроенный Web-интерфейс | |
| OPC UA | 4840 | Передача параметров состояния оборудования | |
| Внешняя система | REST API | 8881-8885 | Интеграция с внешними ИТ-системами |
| Modbus TCP | 502 | Интеграция с промышленными устройствами |
Сетевые взаимодействия между компонентами
| Источник | Получатель | Протокол | Порт | Описание |
|---|---|---|---|---|
| ПЛК «Ларус-10» | ЛСМ | MQTT | 1883 | Передача телеметрии (вибрация, температура) |
| ПЛК «Ларус-10» | ЛСМ | OPC UA | 4840 | Параметры состояния оборудования |
| ПЛК «Ларус-10» | ЛСМ | Modbus TCP | 502 | Поллинг данных с устройств |
| ПЛК «Ларус-10» | NanoMQ (ЦСД) | MQTT | 1883 | JSON-телеметрия в топики telemetry/... |
| ПЛК «Ларус-10» | MinIO (ЦСД) | S3 API | 9000 | Загрузка Parquet: rawdata/<ID>/<ГГГГ>/<ММ>/<ДД>/ |
| ПЛК «Ларус-10» | NTP-сервер | UDP | 123 | Синхронизация времени |
| ПЛК «Ларус-10» | Админ-станция | HTTP | 8000 | Web-интерфейс управления |
| УСД «Пассер-В/Т» | ПЛК «Ларус-10» | TFTP | 69 | Бинарные файлы сырых сигналов (.bin) |
| УСД «Пассер-В/Т» | ПЛК «Ларус-10» | Modbus TCP | 502 | 16-битные регистры (Holding Register) |
| УСД «Пассер-В/Т» (Forte) | ПЛК «Ларус-10» | UDP | динамический | Телеметрия и сырой сигнал |
| Web-клиент | ЦСД (Web UI) | HTTP | 8080 | Доступ к интерфейсу |
| Web UI | Keycloak | HTTPS | 8443 | Аутентификация |
| ЛСМ | MinIO (ЦСД) | HTTPS | 9000 | Репликация/резервное копирование |
| ЦСД | БД | TCP | 5432 | Запись/чтение метаданных |
| ЦСД | БД | TCP | 9000 | Хранение телеметрии |
IP-адресация серверов
| N | Сервер | DNS имя | IP адрес | IP BMC | Локация |
|---|---|---|---|---|---|
| 1 | SVR_S_VBR_APP (ЛСМ) | aemstsrv-vbrapp.aemtech-st.ru | 10.177.72.11 | 10.177.72.13 | Производственная площадка 1 |
| 2 | SVR_S_VBR_DB (ЦСД) | aemstsrv-vbrdb.aemtech-st.ru | 10.177.72.12 | 10.177.72.14 | Производственная площадка 1 |
| 3 | SVR_I_VBR_APP (ЛСМ) | aemizsrv-vbrapp.aemtech-iz.ru | 10.177.88.17 | 10.177.88.19 | Производственная площадка 2 |
| 4 | SVR_I_VBR_DB (ЦСД) | aemizsrv-vbrdb.aemtech-iz.ru | 10.177.88.18 | 10.177.88.20 | Производственная площадка 2 |
| 5 | ЦСД | aemizsrv-41.aemtech-iz.ru | -- | -- | ЦСД |
IP-адресация полевого оборудования
Производственная площадка 1
| Объект | Устройство | IP адрес | Маска | Шлюз |
|---|---|---|---|---|
| Компрессоры | Коммутатор EKF | 10.10.200.33 | 255.255.255.0 | 10.10.200.254 |
| Ларус-10 | 10.10.200.34 | 255.255.255.0 | 10.10.200.254 | |
| Панель HMI | 10.10.200.35 | 255.255.255.0 | 10.10.200.254 | |
| Вентиляторы | Коммутатор EKF | 10.10.200.36 | 255.255.255.0 | 10.10.200.254 |
| Ларус-10 | 10.10.200.37 | 255.255.255.0 | 10.10.200.254 | |
| Панель HMI | 10.10.200.38 | 255.255.255.0 | 10.10.200.254 | |
| Станок 80337 | Коммутатор EKF | 10.10.200.11 | 255.255.255.0 | 10.10.200.254 |
| Ларус-10 | 10.10.200.12 | 255.255.255.0 | 10.10.200.254 | |
| Панель HMI | 10.10.200.13 | 255.255.255.0 | 10.10.200.254 | |
| Станок 80338 | Коммутатор EKF | 10.10.200.14 | 255.255.255.0 | 10.10.200.254 |
| Ларус-10 | 10.10.200.15 | 255.255.255.0 | 10.10.200.254 | |
| Панель HMI | 10.10.200.16 | 255.255.255.0 | 10.10.200.254 | |
| Станок 80342 | Коммутатор EKF | 10.10.200.17 | 255.255.255.0 | 10.10.200.254 |
| Ларус-10 | 10.10.200.18 | 255.255.255.0 | 10.10.200.254 | |
| Панель HMI | 10.10.200.19 | 255.255.255.0 | 10.10.200.254 | |
| Станок 80343 | Коммутатор EKF | 10.10.200.20 | 255.255.255.0 | 10.10.200.254 |
| Ларус-10 | 10.10.200.21 | 255.255.255.0 | 10.10.200.254 | |
| Панель HMI | 10.10.200.22 | 255.255.255.0 | 10.10.200.254 | |
| Станок 80344 | Коммутатор EKF | 10.10.200.23 | 255.255.255.0 | 10.10.200.254 |
| Ларус-10 | 10.10.200.24 | 255.255.255.0 | 10.10.200.254 | |
| Панель HMI | 10.10.200.25 | 255.255.255.0 | 10.10.200.254 | |
| Насосы пресса 1200/3200 | Коммутатор EKF | 10.10.200.24 | 255.255.255.0 | 10.10.200.254 |
| Ларус-10 | 10.10.200.25 | 255.255.255.0 | 10.10.200.254 | |
| Панель HMI | 10.10.200.26 | 255.255.255.0 | 10.10.200.254 | |
| На сосы пресса 6000 | Коммутатор EKF | 10.10.200.30 | 255.255.255.0 | 10.10.200.254 |
| Ларус-10 | 10.10.200.31 | 255.255.255.0 | 10.10.200.254 | |
| Панель HMI | 10.10.200.32 | 255.255.255.0 | 10.10.200.254 | |
| Насосы пресса 12000 | Коммутатор EKF | 10.10.200.27 | 255.255.255.0 | 10.10.200.254 |
| Ларус-10 | 10.10.200.28 | 255.255.255.0 | 10.10.200.254 | |
| Панель HMI | 10.10.200.29 | 255.255.255.0 | 10.10.200.254 |
Производственная площадка 2
| Объект (Инв. N) | Устройство | IP адрес | Маска | Шлюз |
|---|---|---|---|---|
| 459 | Коммутатор EKF | 10.10.201.11 | 255.255.255.0 | 10.10.201.254 |
| Ларус-10 | 10.10.201.12 | 255.255.255.0 | 10.10.201.254 | |
| Панель HMI | 10.10.201.13 | 255.255.255.0 | 10.10.201.254 | |
| 405 | Коммутатор EKF | 10.10.201.14 | 255.255.255.0 | 10.10.201.254 |
| Ларус-10 | 10.10.201.15 | 255.255.255.0 | 10.10.201.254 | |
| Панель HMI | 10.10.201.16 | 255.255.255.0 | 10.10.201.254 | |
| 465 | Коммутатор EKF | 10.10.201.17 | 255.255.255.0 | 10.10.201.254 |
| Ларус-10 | 10.10.201.18 | 255.255.255.0 | 10.10.201.254 | |
| Панель HMI | 10.10.201.19 | 255.255.255.0 | 10.10.201.254 | |
| 2010 | Коммутатор EKF | 10.10.201.20 | 255.255.255.0 | 10.10.201.254 |
| Ларус-10 | 10.10.201.21 | 255.255.255.0 | 10.10.201.254 | |
| Панель HMI | 10.10.201.22 | 255.255.255.0 | 10.10.201.254 | |
| 2413 | Коммутатор EKF | 10.10.201.23 | 255.255.255.0 | 10.10.201.254 |
| Ларус-10 | 10.10.201.24 | 255.255.255.0 | 10.10.201.254 | |
| Панель HMI | 10.10.201.25 | 255.255.255.0 | 10.10.201.254 | |
| 2411 | Коммутатор EKF | 10.10.201.26 | 255.255.255.0 | 10.10.201.254 |
| Ларус-10 | 10.10.201.27 | 255.255.255.0 | 10.10.201.254 | |
| Панель HMI | 10.10.201.28 | 255.255.255.0 | 10.10.201.254 | |
| 361 | Коммутатор EKF | 10.10.201.29 | 255.255.255.0 | 10.10.201.254 |
| Ларус-10 | 10.10.201.30 | 255.255.255.0 | 10.10.201.254 | |
| Панель HMI | 10.10.201.31 | 255.255.255.0 | 10.10.201.254 | |
| 1109 | Коммутатор EKF | 10.10.201.32 | 255.255.255.0 | 10.10.201.254 |
| Ларус-10 | 10.10.201.33 | 255.255.255.0 | 10.10.201.254 | |
| Панель HMI | 10.10.201.34 | 255.255.255.0 | 10.10.201.254 | |
| 2409 | Коммутатор EKF | 10.10.201.35 | 255.255.255.0 | 10.10.201.254 |
| Ларус-10 | 10.10.201.36 | 255.255.255.0 | 10.10.201.254 | |
| Панель HMI | 10.10.201.37 | 255.255.255.0 | 10.10.201.254 |
Все устройства на площадке 2 используют DNS-серверы: 10.177.88.1 и 10.177.88.2.
Правила межсетевого экрана (firewall)
Настройка брандмауэра на ЛСМ ограничивает доступ к сервисам -- только ЦСД может подключаться к веб-интерфейсу и Keycloak. Все остальные сервисы (БД, хранилище, брокер) доступны только внутри ЛСМ.
Площадка 1
- ЛСМ:
10.177.72.11 - ЦСД:
10.177.72.12
# Разрешаем только ЦСД (10.177.72.12) подключаться к портам ЛСМ
sudo iptables -A INPUT -p tcp -s 10.177.72.12 --dport 3000 -j ACCEPT
sudo iptables -A INPUT -p tcp -s 10.177.72.12 --dport 8080 -j ACCEPT
# Запрещаем всё остальное извне
sudo iptables -A INPUT -p tcp --dport 5432 -j DROP
sudo iptables -A INPUT -p tcp --dport 8123 -j DROP
sudo iptables -A INPUT -p tcp --dport 9000 -j DROP
sudo iptables -A INPUT -p tcp --dport 4222 -j DROP
Площадка 2
- ЛСМ:
10.177.88.17 - ЦСД:
10.177.88.18
# Разрешаем только ЦСД (10.177.88.18) подключаться к портам ЛСМ
sudo iptables -A INPUT -p tcp -s 10.177.88.18 --dport 3000 -j ACCEPT
sudo iptables -A INPUT -p tcp -s 10.177.88.18 --dport 8080 -j ACCEPT
# Запрещаем всё остальное извне
sudo iptables -A INPUT -p tcp --dport 5432 -j DROP
sudo iptables -A INPUT -p tcp --dport 8123 -j DROP
sudo iptables -A INPUT -p tcp --dport 9000 -j DROP
sudo iptables -A INPUT -p tcp --dport 4222 -j DROP
Только ЦСД может получить доступ к веб-интерфейсу (порт 3000) и Keycloak (порт 8080) на ЛСМ. Порты баз данных (5432, 8123), MinIO (9000) и NATS (4222) должны быть закрыты для всех внешних подключений.
Проверка сетевой связности
Проверка доступности компонентов
# Проверка связи между серверами
ping -c 3 <IP_адрес_компонента>
# Проверка доступности порта
telnet <IP_адрес> <порт>
# Например: telnet 10.177.72.11 1883
# Проверка связности между контейнерами
docker exec <контейнер-источник> ping <имя-контейнера-цели>
# Проверка прослушиваемых портов
sudo netstat -tlnp | grep <порт>