PDA

Просмотр полной версии : MasterSCADA Runtime[Astra Linux] и порты



slorate
19.09.2025, 05:09
Добрый день.

Появилась необходимость развернуть рантайм внутри "изолированной" сети и смотреть проект находясь из внешки при помощи маршрутизатора, а конкретно через проброс портов.

Схема которую я построил:
1. Две подсети - 172.16.1.0(типа внешка) и 192.168.0.0(внутренняя).

2. ВМ №1 - Windows 10, ip - 172.16.1.10. В роли внешнего клиента.

3. ВМ №2 - Astra Linux, ip - 192.168.0.10. В роли Runtime MasterSCADA. Порт для http: 8043.

4. ВМ №3 - Astra Linux, ip1 - 172.16.1.11, ip2 - 192.168.0.1. В роли маршрутизатора, смотрит внешку и внутреннюю сети.

На ВМ №2, используя службу firewalld, открыл все порты которые были написаны в справочнике(ссылка: https://support.mps-soft.ru/Help-web/index.html?antivirus.html).

На ВМ №3 во-первых разрешил ip_forward(/etc/sysctl.conf). Во-вторых, используя службу firewalld пробросил порт 8043 на ip адрес рантайма: sudo firewall-cmd --permanent --add-forward-port=port=8043:proto:tcp:toport=8043:toaddr=192.16 8.0.10, sudo firewall-cmd --reload.

На ВМ №2 загрузил проект - запустился.

На ВМ №1 открываю браузер - ввожу http://172.16.1.10:8043 и попадаю в проект рантайма 192.168.0.10. На первый взгляд все работает.

Затем появилась необходимость резервирования проекта - вдруг чего. Через среду разработки MasterSCADA 4D "Службы - Добавить резервирование" добавляю ВМ №4, Astra Linux, ip - 192.168.0.20. В роли резервного сервера.

Отредактированный проект сохраняю - запускаю. Master - 192.168.0.10, Slave - 192.168.0.20.

Бегу на ВМ №1 - открываю браузер - ввожу http://172.16.1.10:8043 и... бесконечная загрузка с надписью "Подключение к серверу..."

На ВМ №3 специально не стал пробрасывать порт до Slave сервера. Хотя пробовал: --add-forward-port=port=8043:proto:tcp:toport=8043:toaddr=192.16 8.0.20 и даже чтобы избежать возможного конфликта: --add-forward-port=port=8044:proto:tcp:toport=8043:toaddr=192.16 8.0.20. И потом через клиента пробовал http://172.16.1.10:8044 и получал тоже "Подключение к серверу..."(хотя для Slave логично, в него проект загружен, но не должен работать?)

Итог: как я понимаю, после включения резервирования, до сервера запросы доходят, загружается интерфейс и пишет "Подключение к серверу...", но кажется не приходят ответы. В том же справочнике я читал что за резервирование и синхронизацию узлов отвечает порт 40555. Так вот я его тоже пробовал и на Master и на Slave пробросить через firewalld - не дало результата.
Когда включаю резервирование, у Master и Slave если посмотреть через netstat -tunlp, то ясно показывает что они слушают 40555.

Это не совсем про саму среду MasterSCADA 4D. Если знаете источники где можно адресовать проблему - пожалуйста поделитесь. Спасибо.

melky
19.09.2025, 06:17
Слушают на 40555, но не факт, что запрашивают отсюда же.

capzap
19.09.2025, 07:41
задайте вопрос любому ИИ-агенту, вот например что рекомендует алиса


Анализ проблемы с подключением после настройки резервирования

Основные причины проблемы:

При настройке резервирования MasterSCADA создает дополнительные сетевые соединения между серверами, которые могут быть заблокированы файрволом.

Возможно, требуется настройка дополнительных портов для корректной работы резервирования.

Конфликт настроек маршрутизации между основным и резервным серверами.

Рекомендации по решению


Проверка сетевых правил firewalld:
На ВМ №2 (Master) проверьте текущие правила:
sudo firewall-cmd --list-all

Убедитесь, что открыты все необходимые порты для MasterSCADA (включая порты резервирования).
Добавьте необходимые порты, если они отсутствуют:
sudo firewall-cmd --permanent --add-port=порт/tcp
sudo firewall-cmd --reload

Настройка маршрутизации:
Проверьте таблицу маршрутизации:
ip route

Проверка конфигурации резервирования:

Проверьте логи MasterSCADA на обоих серверах (Master и Slave) на наличие ошибок подключения.

Убедитесь, что в настройках резервирования правильно указаны IP-адреса и порты

На ВМ №3 (маршрутизатор) создайте отдельные правила для Master и Slave:
sudo firewall-cmd --permanent --add-forward-port=port=8043:proto=tcp:toport=8043:toaddr=192.16 8.0.10
sudo firewall-cmd --permanent --add-forward-port=port=8044:proto=tcp:toport=8043:toaddr=192.16 8.0.20
sudo firewall-cmd --reload

Проверьте доступность портов с клиента:
telnet 172.16.1.10 8043
telnet 172.16.1.10 8044
Проверьте подключение между серверами:
ping 192.168.0.10
ping 192.168.0.20

Проверьте настройки брандмауэра на всех узлах:
sudo systemctl status firewalld
sudo firewall-cmd --state
Проверьте журналы системы на наличие ошибок:
journalctl -f

Если после выполнения всех рекомендаций проблема сохраняется, рекомендуется:

Сделать резервную копию текущей конфигурации

Сбросить настройки firewalld до дефолтных

Настроить правила с нуля, следуя документации MasterSCADA