Эликонт-КС. Настройка клиентского подключения OPC UA в сети с компьютерами под ОС Linux без организации домена

Эликонт-КС. Настройка клиентского подключения OPC UA в сети с компьютерами под ОС Linux без организации домена

При построении сети нижнего уровня систем автоматизированного управления, как правило, не используется доменная система, что может приводить к проблемам при установлении связи по протоколу OPC UA между устройствами на базе ОС Linux. В этой статье мы на основе реальной ситуации рассмотрим пример специфической настройки компьютеров для работы системы в такой ситуации на примере коммуникационного сервера «Эликонт-КС».

Для настройки сбора данных по протоколу OPC UA в Эликонт-КС требуется указывать URL сервера, с которым должно быть установлено соединение. В состав URL входит имя компьютера и TCP-порт Сервера OPC UA. Если «Эликонт-КС» установлен на компьютере под ОС Linux (Debian, Astra или др.), не входящем в домен, то без соответствующей настройки не выполняется сопоставление имени компьютера с OPC UA сервером и IP-адреса, что приводит к отказу в соединении.

Вкратце рассмотрим принципы разрешения имён на примере создания защищенного канала OPC UA в следующей ситуации:

  • Эликонт-КС выступает в роли клиента OPC UA на компьютере под ОС Astra Linux;
  • При этом сервер OPC UA (источник данных) установлен на компьютер под ОС Windows. Все устройства находятся в одной подсети, но не включены в общий домен;
  • Межсетевые экраны отключены.

Такая конфигурация изначально приводила к ошибке: данные не поступали в Эликонт-КС.

Сетевое взаимодействие при создании защищенного канала OPC UA

В ОС Windows для разрешения имён компьютеров, если компьютер не находится в домене, действует служба WINS (Windows Internet Name Service).[1]

Эта служба при обращении по URL, включающим имя компьютера, позволяет компьютерам «узнать» друг друга в момент создания нового соединения, т.е.  установить актуальный в данный момент времени IP-адрес компьютера с данным именем согласно процедуре разрешения имён. Ниже приведена типовая схема создания такого канала, в которой за процедурой разрешения имён (шаг 1 и 2) следует соответствующий обмен сообщениями между Клиентом и Сервером:

2023-05-22 16.07.45.jpg

Рис. 1. Установление защищенного канала OPC UA.

В ответе Answers содержится информация, позволяющая связать имя компьютера с его IP-адресом, а также срок валидности этой связи. По истечению этого периода времени либо после перезапуска компьютера клиент OPC UA должен сделать повторный запрос для обновления информации, т.к. IP-адрес или имя могли измениться.

В ОС Linux служба разрешения имён компьютеров WINS отсутствует, а другие службы, способные выполнять её функцию, требуют определенной настройки. Доступным способом разрешения имён является изменение базы данных имен узлов сети.



Изменение базы данных имён узлов сети

Наиболее простым и безопасным способом обеспечить сопоставление имени компьютера с его IP-адресом является внесение соответствующей информации в hosts-файл.  Изменение сетевой информации требует корректировки файла сетевых данных вручную.

Для добавления разрешения имён компьютеров потребуется:

1.     Убедиться, что проблема для вас актуальна. Для этого нужно открыть терминал и выполнить две команды:

            ping <ip_address>

здесь < ip_address> - ip-адрес компьютера - источника данных.

2023-05-22 16.07.45.jpg

Наличие ICMP-ответов показывает, что связь установлена. Отсутствие ICMP-ответов свидетельствует о необходимости настройки сети.

           ping <computer_name>

здесь <computer_name> - имя компьютера - источника данных.

2023-05-22 16.07.45.jpg

Если результатом выполнения команды является сбой, значит компьютер с Эликонт-КС не может сопоставить имя компьютера - источника данных с его IP-адресом.

2.     Убедиться в правильности порядка разрешения доменных имён. Для этого требуется выполнить команду:

         nano /etc/nsswitch.conf

2023-05-22 16.07.45.jpg

Порядок «files, dns» указывает, что на первом шаге разрешения доменного имени ОС обратится к файлу hosts, а на втором – к службе DNS. Опция files обязательно должна присутствовать, т.к. сопоставление доменного имени и ip-адреса указывается именно в файле hosts, в противном случае следует переопределить порядок разрешения доменного имени и добиться указанного выше результата.

3.     Добавить в файл hosts соответствующее сопоставление, выполнив команду sudo <editor> /etc/hosts, где в качестве <editor> указать любой из доступных текстовых редакторов, например, встроенный nano; /etc/hosts – путь к файлу hosts в ОС Linux; sudo – действие от имени superuser. Примечание: для выполнения команды может потребоваться пароль root.

       sudo nano /etc/hosts

  •  добавить соответствие IP-адреса и имени компьютера – источника данных,

2023-05-22 16.07.45.jpg

  • сохранить файл: для nano нажать Ctrl+O и подтвердить, нажав Enter,

  • выйти из редактора, нажав Ctrl+X.

4.     В настройках соединения клиентского канала OPC UA Эликонт-КС указать URL с именем источника данных:

2023-05-22 16.07.45.jpg

5.     Загрузить конфигурацию в Эликонт-КС.

6.     В «Эликонт-КС» проверить, что данные доступны. Для этого в конфигураторе «Эликонт-КС» делаем тест подключения, нажав кнопку «Проверка доступности».    

10.png

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

11.png

Заключение

Мы надеемся, что представленный алгоритм действий поможет пользователям Эликонт-КС и других коммуникационных программ успешно справиться с настройкой устройств под ОС Linux для реализации клиентского подключения, требующего указания URL сервера.



[1] - Служба WINS на сеансовом уровне модели OSI использует широковещательный протокол NBNS – NetBios Naming Service, который, в свою очередь, на транспортном уровне задействует протокол UDP

Поделиться
<

Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookies, нажмите здесь.