Linux Сервер диспетчеризации LKDSServer

  • Автор темы Автор темы Andi
  • Дата начала Дата начала
Milichev написал(а):
Подскажите пожалуйста
Будет ли возможность создать программный КЛШ с добавлением ЛБ PRO как на Windows сервер

Хочется узнать зачем это нужно.
 
Андрей Ефименко написал(а):
Хочется узнать зачем это нужно.


Чтобы создать программный КЛШ в внутри одной сети и и передать все связь на основой сервер

Просто появилось задание чтобы вывести все блоки на связь из другой области на наш сервер а там используются белые ip дез интернета (тость маршрутизируются только между собой) и чтобы их вывести на связь поудобнее хотелось воспользоваться функцией программный КЛШ но на линукс сервере она не работает
Сейчас будем использовать Windows а хотелось бы Linux
 
Milichev написал(а):
Чтобы создать программный КЛШ в внутри одной сети и и передать все связь на основой сервер

Просто появилось задание чтобы вывести все блоки на связь из другой области на наш сервер а там используются белые ip дез интернета (тость маршрутизируются только между собой) и чтобы их вывести на связь поудобнее хотелось воспользоваться функцией программный КЛШ но на линукс сервере она не работает
Сейчас будем использовать Windows а хотелось бы Linux

Я правильно понял, что:

есть локальная сеть с ЛБ7,
эта локальная сеть не имеет выход в интернет
в этой локальной сети есть компьютер (Windows? Linux ?) через один сетевой интерфейс
и этот компьютер имеет выход в интернет через второй сетевой интерфейс.

Задача в том, что нужно эти ЛБ7 увидеть в LKDSServer, который доступен через внешний IP адрес.
 
Андрей Ефименко написал(а):
Я правильно понял, что:

есть локальная сеть с ЛБ7,
эта локальная сеть не имеет выход в интернет
в этой локальной сети есть компьютер (Windows? Linux ?) через один сетевой интерфейс
и этот компьютер имеет выход в интернет через второй сетевой интерфейс.

Задача в том, что нужно эти ЛБ7 увидеть в LKDSServer, который доступен через внешний IP адрес.


Да правильно понимаете

Сейчас делаем на Windows а хотелось бы сделать на Linux
 
Milichev написал(а):
Да правильно понимаете

Сейчас делаем на Windows а хотелось бы сделать на Linux

Т.е. на компьютере, который в локальной сети, предполагается установить сервер диспетчеризации.

Будет ли отдельный человек-диспетчер для ЛБ, которые находятся в этой локальной сети ?
 
Андрей Ефименко написал(а):
Т.е. на компьютере, который в локальной сети, предполагается установить сервер диспетчеризации.

Будет ли отдельный человек-диспетчер для ЛБ, которые находятся в этой локальной сети ?


Диспетчера не будет но тут просто надо чтобы блок вышел на связь через промежуточное устройство на месте
Из за того что провайдер бесплатно предоставляет на каждый дом белый ip но на нём нет интернета
 
Milichev написал(а):
Диспетчера не будет но тут просто надо чтобы блок вышел на связь через промежуточное устройство на месте
Из за того что провайдер бесплатно предоставляет на каждый дом белый ip но на нём нет интернета

Не понятно, что значит "белый" IP.
Речь идет, наверное, не о "белом", т.е. глобальном IP, а о статическом внутреннем IP провайдера.
И под промежуточным устройством, наверное, имеется в виду компьютер.

У нас есть средство под Linux для ретрансляции IP пакетов через компьютер (хост).

Пусть у вас ЛБ имеет IP 10.0.0.1 , а компьютер в этой сети имеет IP 10.0.0.254.
Тогда в ЛБ нужно будет прописать связь на IP 10.0.0.254 на UDP порт 48000 и на идентификатор LKDSServer.
На компьютере 10.0.0.254 запускается служба, в настройках которой есть описание маршрута ретрансляции:

<Port TypProt="UDP" PortLocal="48000" PortRemote="48000" IPRemote="111.222.111.222" Note="На LKDSServer"/>

По этому описанию, служба открывает UDP порт 48000 и получает пакеты от ЛБ с IP 10.0.0.1
Получив пакет от ЛБ, служба переправляет его, в примере, на IP 111.222.111.222 на порт 48000, т.е. на LKDSServer. Обратные пакеты от LKDSServer переправляются в ЛБ.

Если механизм понятен, то можно попробовать.
 
Андрей Ефименко написал(а):
Не понятно, что значит "белый" IP.
Речь идет, наверное, не о "белом", т.е. глобальном IP, а о статическом внутреннем IP провайдера.
И под промежуточным устройством, наверное, имеется в виду компьютер.

У нас есть средство под Linux для ретрансляции IP пакетов через компьютер (хост).

Пусть у вас ЛБ имеет IP 10.0.0.1 , а компьютер в этой сети имеет IP 10.0.0.254.
Тогда в ЛБ нужно будет прописать связь на IP 10.0.0.254 на UDP порт 48000 и на идентификатор LKDSServer.
На компьютере 10.0.0.254 запускается служба, в настройках которой есть описание маршрута ретрансляции:

<Port TypProt="UDP" PortLocal="48000" PortRemote="48000" IPRemote="111.222.111.222" Note="На LKDSServer"/>

По этому описанию, служба открывает UDP порт 48000 и получает пакеты от ЛБ с IP 10.0.0.1
Получив пакет от ЛБ, служба переправляет его, в примере, на IP 111.222.111.222 на порт 48000, т.е. на LKDSServer. Обратные пакеты от LKDSServer переправляются в ЛБ.

Если механизм понятен, то можно попробовать.


Можно ли узнать есть ли документация на это
И подскажите как это будет работать если в сети есть КЛШ и множество блоков?
 
Milichev написал(а):
Можно ли узнать есть ли документация на это
И подскажите как это будет работать если в сети есть КЛШ и множество блоков?

Решение конкретных задач требует конкретных исходных данных.
Т.е. нужно подробное описание самой задачи.
Если это описание не может быть выложено на форуме, то пришлите описание в тех поддержку на адрес techno@lkds.ru
 
Milichev написал(а):
Чтобы создать программный КЛШ в внутри одной сети и и передать все связь на основой сервер

Просто появилось задание чтобы вывести все блоки на связь из другой области на наш сервер а там используются белые ip дез интернета (тость маршрутизируются только между собой) и чтобы их вывести на связь поудобнее хотелось воспользоваться функцией программный КЛШ но на линукс сервере она не работает
Сейчас будем использовать Windows а хотелось бы Linux

Устанавливаете в месте серверного ПК, роутер Микротик, на нем настраиваете 1Wan под ваш интернет , dhcp server под вашу сеть с ПК где будет стоять серверное ПО ЛКДС, 2 WAN настраиваете на провайдера с закрытым vlan (где сеть без интернета) .
Настраиваете проброс из внешнего адреса WAN1 на серверный ПК, для всех клиентов Spult и блоков, аналогично делаете для WAN2. Готово.

У нас сейчас 2 провайдера + отдельная сеть МТС (настроенная туннелем). В дальнейшем планируем завести 3 го провайдера.
Часть ЛБ около 1000 на первом провайдере (закрытая сеть без интернета) в их связях стоит IP WAN1, часть на втором(закрытая сеть без интернета) в их связях стоит IP WAN2.
Один пк со своим локальным адресом, на него стучаться разные ip, он знать не знает с какого WAN они пришли.
 
Последнее редактирование модератором:
В репозиторий выложен LKDSServer v1.3.35

Кроме исправления замеченных недочётов, в данной версии LKDSServer используются, так называемые Dual-Stack сокеты. Т.е. UDP и TCP порты открываются и для протокола IPv4 и для протокола IPv6.

Правда для программных КСЛов по прежнему используются IPv4.

Для того, что посмотреть все порты, открытые LKDSServer, нужно подать команду sudo ss -lp | grep LKDSServer


Код
root@LKDS-debianRTC:/home/andi# sudo ss -lp | grep LKDSServer
udp UNCONN 0 0 0.0.0.0:43000 0.0.0.0:* users:(("LKDSServer",pid=1796630,fd=19))
udp UNCONN 0 0 0.0.0.0:43100 0.0.0.0:* users:(("LKDSServer",pid=1796630,fd=23))
udp UNCONN 0 0 0.0.0.0:43122 0.0.0.0:* users:(("LKDSServer",pid=1796630,fd=59))
udp UNCONN 0 0 0.0.0.0:43142 0.0.0.0:* users:(("LKDSServer",pid=1796630,fd=63))
udp UNCONN 0 0 0.0.0.0:43152 0.0.0.0:* users:(("LKDSServer",pid=1796630,fd=67))
udp UNCONN 0 0 0.0.0.0:43200 0.0.0.0:* users:(("LKDSServer",pid=1796630,fd=27))
udp UNCONN 0 0 0.0.0.0:43300 0.0.0.0:* users:(("LKDSServer",pid=1796630,fd=31))
udp UNCONN 0 0 0.0.0.0:43400 0.0.0.0:* users:(("LKDSServer",pid=1796630,fd=35))
udp UNCONN 0 0 0.0.0.0:43500 0.0.0.0:* users:(("LKDSServer",pid=1796630,fd=39))
udp UNCONN 0 0 0.0.0.0:43600 0.0.0.0:* users:(("LKDSServer",pid=1796630,fd=43))
udp UNCONN 0 0 0.0.0.0:43700 0.0.0.0:* users:(("LKDSServer",pid=1796630,fd=47))
udp UNCONN 0 0 0.0.0.0:43800 0.0.0.0:* users:(("LKDSServer",pid=1796630,fd=51))
udp UNCONN 0 0 0.0.0.0:44008 0.0.0.0:* users:(("LKDSServer",pid=1796630,fd=71))
udp UNCONN 0 0 0.0.0.0:44900 0.0.0.0:* users:(("LKDSServer",pid=1796630,fd=55))
udp UNCONN 0 0 *:48000 *:* users:(("LKDSServer",pid=1796630,fd=11))
udp UNCONN 0 0 *:48006 *:* users:(("LKDSServer",pid=1796630,fd=14))
udp UNCONN 0 0 *:48007 *:* users:(("LKDSServer",pid=1796630,fd=15))
udp UNCONN 0 0 *:49000 *:* users:(("LKDSServer",pid=1796630,fd=13))
tcp LISTEN 0 4096 *:49000 *:* users:(("LKDSServer",pid=1796630,fd=8))
tcp LISTEN 0 1 *:40080 *:* users:(("LKDSServer",pid=1796630,fd=75))
tcp LISTEN 0 1 *:40443 *:* users:(("LKDSServer",pid=1796630,fd=76))
root@LKDS-debianRTC:/home/andi#


Если перед номером порта *: (например *:49000), то этот порт открыт на всех сетевых интерфейсах, для протоколов IPv4 и IPv6

Обновление:

sudo apt update
sudo apt install lkdsserver -y
 
В репозиторий выложен LKDSServer v1.3.39:

1. дополнены/уточнены расшифровки сообщений станций управления лифтами

2. если в ЛБ7 последняя версия м/п, то различаются вызовы диспетчера:
2.1. с крыши кабины лифта (с самого переговорного устройства) и с кабины лифта ( с МПС)
2.2. с приямка лифта (с самого переговорного устройства) и с первой посадочной площадки (с МПС)

П.2 так же реализован в LKDSDomain.

Есть особенность - п.2 работает, если в SPult не назначены наименования на ПУ 254 и 253

Обновление:

sudo apt update
sudo apt install lkdsserver -y
 
Наверное глупый вопрос, но вот до последнего обновления успешно подключался к серверу из под windows для настройки, не используй wine. Тоесть в LKDSServerCfg указывал ip адрес ubuntu server и спокойно конфигурировал. Теперечи не подключается. Это какоето изменение в обновлении или у меня что-то сломалось?
Спасибо
 
Владислав Линкин написал(а):
Наверное глупый вопрос, но вот до последнего обновления успешно подключался к серверу из под windows для настройки, не используй wine. Тоесть в LKDSServerCfg указывал ip адрес ubuntu server и спокойно конфигурировал. Теперечи не подключается. Это какоето изменение в обновлении или у меня что-то сломалось?
Спасибо

Нужны объективные данные.

Попытайтесь удалённо подключиться к серверу, после чего сформуйте на компьютере-сервере данные для передачи в тех поддержку и пришлите эти данные LSaveLogSrv.png
 

Вложения

  • LSaveLogSrv.png
    LSaveLogSrv.png
    29.5 KB · Просмотры: 0
Разобрался с проблемой :D
Оказывается, надо добавлять в список разрешенных IP компьютер на Windows
Суть в том, что был установлен Ubuntu Server без рабочего стола, что делало невозможным запустить wine для LKDSServerCfg. До последнего обновления добавлять в "белый список" по ходу не требовалось, подключалось все из коробки. Хотел обкатать эту идею с Ubuntu Server и вынести потом сервер на VDS
А есть ли способ добавлять с список разрешенных IP без использования wine и LKDSServerCfg, к примеру из консоли?

Или было бы удобно при установке сервера из консоли сделать запрос на создания логина и пароля для администратора сервера, а в LKDSServerCfg сделать авторизацию по логину и паролю, не добавляя ip адрес в список. Как продолжение, можно было бы реализвать веб интерфейс для настройки или отдельное приложение (или встроенное в уже имеющееся). Такие вещи намного проще было бы делать в онлайне, не используя AnyDesk (или что-то подобное).

Добавлю еще пару моментов.
1. Функция ping не вызывает терминал в linux
2. При работе "удаленно" ping выполняется с той машины, где запущен LKDSServerCfg. Было бы удобно если бы ping выполнялся на сервере, а в окне конфигуратора "дублировалась" консоль, ну или отчет потом приходил в виде результата работы команды.
 
Последнее редактирование модератором:
Владислав Линкин написал(а):
Оказывается, надо добавлять в список разрешенных IP компьютер на Windows

Были нарекания, что сразу после установки пакета lkdsserver конфигуратором LKDSServerCfg можно было подключиться к серверу LKDSServer с любого IP.
Конечно, уже после установки можно было ввести список разрешённых IP, но это делали далеко не все.
Поэтому сейчас, сразу после установки пакета lkdsserver, конфигуратором LKDSServerCfg можно подключиться к серверу LKDSServer только с компьютера, на котором установлен сам пакет lkdsserver. Ну а дальше уже можно ввести разрешённые IP с помощью LKDSServerCfg (через wine из SPultDst.msi или из пакета lkds-client)
Если на компьютере с lkdsserver нет графической консоли, то это сделать невозможно.
Нужно, конечно, вернуть к состоянию, что сразу после установки пакета lkdsserver конфигуратором LKDSServerCfg можно было подключиться к серверу LKDSServer с любого IP.

Владислав Линкин написал(а):
А есть ли способ добавлять с список разрешенных IP без использования wine и LKDSServerCfg, к примеру из консоли?

конфигурация хранится в файле /etc/LKDServer/LKDSServer.xml, например:

<?xml version="1.0" encoding="utf-8"?>
<LKDSDOMAIN User=...>
<Key Hash=.../>
<Key Hash=.../>
<Key Hash=.../>
<CfgIP IP="127.0.0.1" Mask="255.255.255.255" Note="Локальное подключение" IPv6="::ffff:127.0.0.1" Pref="128"/>
</LKDSDOMAIN>


И этот файл можно править вручную - добавить строки <CfgIP ... />. После чего нужно перезапустить службу LKDSServer

sudo systemctl restart LKDSServer

Владислав Линкин написал(а):
Как продолжение, можно было бы реализвать веб интерфейс для настройки или отдельное приложение (или встроенное в уже имеющееся). Такие вещи намного проще было бы делать в онлайне, не используя AnyDesk (или что-то подобное).

WEB интерфейс для настройки LKDSServer возможен и будет сделан, но это всё-таки не первоочередная задача.

Владислав Линкин написал(а):
1. Функция ping не вызывает терминал в linux
2. При работе "удаленно" ping выполняется с той машины, где запущен LKDSServerCfg. Было бы удобно если бы ping выполнялся на сервере, а в окне конфигуратора "дублировалась" консоль, ну или отчет потом приходил в виде результата работы команды.

Перенос текста программ из Windows требует внимательности и её не хватило на ping. Спасибо за замечание, будем править.
 
Спасибо большое за развернутый и интересный ответ))))

Еще вопрос. Как можно организовать резервное копирование не штатными средствами (вручную). И где хранятся настройки сети Обь и ЛБ7?

Можно сделать конечно скрипт для автоматического импорта БД, н интересуют подробности. И было бы замечательно реализовать средствами самой LKDSServer. К примеру создать некий раздел во вкладке с настройками подключения к БД.
 
Последнее редактирование модератором:
Владислав Линкин написал(а):
Как можно организовать резервное копирование не штатными средствами (вручную). И где хранятся настройки сети Обь и ЛБ7?
Можно сделать конечно скрипт для автоматического импорта БД, н интересуют подробности. И было бы замечательно реализовать средствами самой LKDSServer. К примеру создать некий раздел во вкладке с настройками подключения к БД.

Настройки LKDSServer хранятся в каталоге /etc/LKDSServer в файлах xml LKDSServerXml.png

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

Для этого нужно копировать файлы /etc/LKDSServer/*.xml, структуры организаций и список ЛБ7

Структуры организаций и список ЛБ можно экспортировать из LKDSServerCfg LKDSServerCfgExport.png

Структуры организаций и список ЛБ можно так же экспортировать с помощью команд:

wget http://127.0.0.1:40080/cfg/GetStruct --output-document=LKDSServerStruct.xml
wget http://127.0.0.1:40080/cfg/GetUnit --output-document=LKDSServerUnits.xml
 

Вложения

  • LKDSServerXml.png
    LKDSServerXml.png
    13.1 KB · Просмотры: 0
  • LKDSServerCfgExport.png
    LKDSServerCfgExport.png
    36.6 KB · Просмотры: 0
Владислав Линкин написал(а):
Оказывается, надо добавлять в список разрешенных IP компьютер на Windows
Суть в том, что был установлен Ubuntu Server без рабочего стола, что делало невозможным запустить wine для LKDSServerCfg. До последнего обновления добавлять в "белый список" по ходу не требовалось, подключалось все из коробки. Хотел обкатать эту идею с Ubuntu Server и вынести потом сервер на VDS

В репозиторий выложен LKDSServer v1.3.41:

Видимые изменения:

1. После первой установки пакета lkdsserver конфигуратор LKDSServerCfg может подключиться к LKDSServer с любого компьютера.

2. С того же компьютера, на котором установлен LKDSServer (т.е. localhost) конфигуратор LKDSServerCfg может подключиться всегда, даже если задан перечень IP, с которых можно подключаться.

Обновление:

sudo apt update
sudo apt install lkdsserver -y
 
Назад
Сверху