Skip to main content

Восстановление связи с сервером верхнего уровня

Оглавление

Введение

Причины отсутствия связи с СВУ

Диагностика и действия

Некорректная работа самого СВУ

Доступность адреса и порта СВУ с машины КС

Проверка telnet

Отключить брандмауэр

Проверка проброса порта на внешнем IP-адресе

Проверка правильности имени СВУ

Проверка адреса и порта СВУ

Изучение логов

Связанные статьи

Введение

Кассовый сервер (КС) должен подключаться к серверу верхнего уровня (СВУ), в роли которого может выступать непосредственно Сервер справочников (REF) или же транзитный сервер (REP или RET). Сервера обмениваются данными: "сверху" приходят данные от справочников, "снизу" уходят данные о продажах на кассе. При нарушении связи КС с СВУ обмен становится невозможен. Однако, несмотря на потерю связи с СВУ, в большинстве случаев КС может продолжать работу со своей текущей базой данных Midbase.

Косвенными признаками потери связи могут быть:

  • изменения в справочниках, не поступающие на кассу;
  • данные по выручке смен, не поступающие в отчеты.

Прямыми признаками будут:

  • отсутствие коннекта с СВУ в окне Midserv

image-1715774832215.png

image-1715774874948.png

  • Отсутствие коннекта в веб интерфейсе СВУ с проблемным КС.

image-1715775124821.png

image-1715775155129.png

Причины отсутствия связи с СВУ

  • Некорректная работа самого СВУ
  • Недоступность адреса и порта СВУ с машины КС
  • Неправильность имени СВУ
  • Неправильность адреса и порта СВУ

Диагностика и действия

1. Убедиться, что связи с СВУ нет, ориентируясь на коннект в окне Midserver, для чего запустить его десктопом.

2. Определить на какой машине должен работать СВУ, ориентируясь по

  • названиям хостов в РМС
  •  по сетевому адресу имени СВУ, записанному в rkeeper.ini КС в секции [TCPDNS]
  •  по данным, известным от коллег.

3. Убедиться, что СВУ запущен и работает. Перезапустить, проверить коннект в окне midserv.

Дальше следует описание диагностики возможных причин.

Некорректная работа самого СВУ

Если СВУ запущен, возможно он работает некорректно и не принимает соединения.

Нужно проверить  получится ли подключиться к СВУ с других клиентских приложений, расположенных локально (на той же машине), например, RK7-менеджер (если это REF) или RK7-отчеты (если это REP). Если "менеджерка" или отчеты не запустятся, значит проблема на стороне СВУ: он по какой-то причине не принимает соединения.

  • Сразу нужно проверить место на диске на машине с СВУ.
  • Перезапустить СВУ, попробовать еще раз
  • Изучить лог СВУ, посоветоваться со старшим специалистом.

Доступность адреса и порта СВУ с машины КС

Если другие клиентские приложения коннектятся, и мы видим, что СВУ работает нормально, -  нужно проверить доступность адреса и порта СВУ непосредственно с машины кассового сервера. Адрес:порт СВУ записан в rkeeper.ini нашего КС в секции [TCPDNS] 

image-1715775353240.png

Проверить можно с помощью консоли CMD, выполнив команду telnet

Проверка telnet
Проверка telnet

Введите telnet IP-адрес или имя хоста номер порта. Например, telnet 45.8.110.82 9979 (из скрина выше). Двоеточие перед портом в команде заменяется на пробел. В случае успеха вы "провалитесь" в черный экран, - это значит что адрес и порт доступны с вашего ПК; в случае неудачи - будет соответствующее сообщение, которое означает, что с этого ПК данные адрес и порт недоступны.

Компонент telnet часто отключен в операционной системе, поэтому, если вы запустите в CMD команду telnet, система сообщит, что команда неизвестна. Следует включить telnet в компонентах Windows.

Включение компонента Telnet в Windows
Включение компонента Telnet в Windows
  1. В разделе "Программы и компоненты" нажмите "Включение или отключение компонентов Windows".
  2. В открывшемся окне "Компоненты Windows" отметьте компонент "Клиент Telnet".
  3. Нажмите кнопку OK и подождите, пока операционная система Windows установит и запустит службу.
Отключить брандмауэр

Если адрес и порт СВУ недоступны с ПК КС, попробуйте отключить файрволл Windows (брандмауэр)

Включение и отключение брандмауэра
  1. Нажмите кнопку Пуск и выберите Параметры  > Обновление и безопасность  > Безопасность Windows > Брандмауэр и защита сетиОткрыть параметры службы "Безопасность Windows"

  2. Выберите профиль сети: Сеть доменаЧастная сеть или Общедоступная сеть.

  3. В разделе Брандмауэр Microsoft Defender установите для параметра значение Вкл. Если ваше устройство подключено к сети, настройки сетевой политики могут помешать вам выполнить эти шаги. За дополнительными сведениями обратитесь к администратору.

  4. Для выключения переключите этот параметр в положение Выкл. Отключение брандмауэра Microsoft Defender может сделать ваше устройство (и сеть, если таковая имеется) более уязвимым для несанкционированного доступа. Если нужно использовать блокируемое приложение, вы можете разрешить его использование через брандмауэр вместо отключения самого брандмауэра.

Если отключение Брандмауэра на машине КС не помогло, возможно есть блокировка со стороны самой машины СВУ: попробуйте отключить Брандмауэр на ней, выполнив те же действия (или другие, в зависимости от версии ОС, ищите информацию в интернете или у коллег).

Проверка проброса порта на внешнем IP-адресе

Если адрес и порт СВУ недоступны, и манипуляции с Брандмауэрами не помогли, то возможно отсутствует или не работает проброс порта на сервере СВУ. Здесь важно понимать различие между локальными и внешними IP-адресами.

Локальные (внутренние) и глобальные (внешние) IP-адреса

IP-адрес бывает:

  • Внутренним (локальным). Так называют адрес, используемый только в пределах одной локальной сети (или VPN). Адреса имеют диапазоны:

10.0.0.0 — 10.255.255.255

172.16.0.0 — 172.31.255.255

192.168.0.0 — 192.168.255.255

Доступ по этим адресам возможен только из локальной сети или с помощью VPN.

  • Внешним (реальным, глобальным). Это уникальный адрес, под которым компьютер виден прочим устройствам в глобальной сети. Доступ к устройству с внешним адресом осуществим из любой точки всемирной паутины. Такие адреса будут иметь любой другой вид, например,  45.8.110.82 это внешний интернет адрес наших виртуалок.

Таким, образом, если вы видите, что адрес не похож ни на один из трех для локальных сетей (или адрес представляет собой DNS имя вида clients.delavto.ru или  rksftcloud.ru), это значит, что вы имеете дело с внешним адресом СВУ, для которого должен быть проброшен порт на роутере СВУ. Если порт там не проброшен - связи не будет.

Если мы установили, что для связи КС с СВУ используется внешний IP или DNS-имя сервера (вида clients.delavto.ru), и данный адрес с локальной машины КС недоступен, проверить проброс порта на внешнем адресе можно с помощью с telnet на другой машине, или воспользоваться сайтом Проверка доступности порта

Адрес:порт СВУ записан в rkeeper.ini нашего КС в секции [TCPDNS] 

image-1715775353240.png

Если с другой машины или сайта данные адрес и порт недоступны - нужно передать заявку старшему специалисту, или  обратиться к сисадмину. 

Проверка правильности имени СВУ

Возможно в вашем rkeeper.ini на КС указаны неверные параметры подключения к СВУ. Следует их перепроверить.

Имя СВУ, к которому обращается КС, записано в параметре rkeeper.ini RefServer и должно совпадать с именем СВУ, которое записано в конфиге самого СВУ:

  • если роль СВУ выполняет сервер справочников (REF) это файл rk7srv.ini с параметром Server

image-1715780276656.png

  • если роль СВУ выполняет транзитный сервер (REP или RET) это файл repsserv.ini с параметром Client

image-1715780392103.png

Проверка адреса и порта СВУ

Адрес и порт, по которым устанавливается связь между КС и СВУ тоже следует перепроверить. Не забывайте пользоваться командами ping и telnet для проверки доступности адреса и порта.

  • Если СВУ работает в локальной сети (различие локальных и глобальных адресов смотри выше), то убедитесь, что IP-адрес машины с работающим СВУ совпадает с прописанным в rkeeper.ini КС в секции [TCPDNS] 

image-1715780748172.png

Локальный IP-адрес машины СВУ можно узнать из настроек сети на ней или выполнив на ней команду в CMD ipconfig

image-1715780923671.png

Проверьте также и порт, который прописан в rkeeper.ini 

[TCPDNS]
REF_TEST=10.1.5.60:3388

Он должен совпадать с портом, который открывает наш СВУ, прописанным в конфиге СВУ (rk7srv.ini или repsserv.ini) в секции 

[TCPSOC]
PORT=3388
  • Если для связи с СВУ используется глобальный адрес (различие локальных и глобальных адресов смотри выше), вы не сможете определить правильно ли настроен проброс порта на машине СВУ, без обращения к старшему специалисту или сисадмину.

Однако, можно сравнить адрес и порт с настройками на другом кассовом сервере, если он есть и работает исправно. Или с настройками менеджерки РК7 на каком-нибудь компьютере, если она работает, в файле rk7man.ini параметр 

[TCPDNS]
REF_TEST=10.1.5.60:3388

Изучение логов

В любой непонятной ситуации, стоит проверить логи и попытаться найти в них полезную информацию о проблеме. В случае отсутствия связи между КС и СВУ, следует изучить лог как КС:

midsrv.fatal.stk и midsrv.stk

так и СВУ:

repsserv.fatal.stk и repsserv.stk в случает транзитного СВУ (REP, RET)

refsrv.fatal.stk и refsrv.stk в случае REF как СВУ 

Для удобства работы с логами имеет смысл бэкапить и удалять старые длинные логи (например, переименовывать их), в которых можно запутаться, с тем чтобы создались новые, свежие, с последними сообщениями об ошибках:

  • Остановил службу\процесс;
  • удалил\переименовал старые логи;
  • запустил службу\процесс или произвел проблемные операции;
  • проверил последние сообщения

В нашей ситуации следует искать сообщения, проливающие свет на причину отсутствия связи (пользуйтесь переводчиком при необходимости).

Если вы ничего не поняли из логов, соберите их и передайте старшему специалисту, описав ситуацию.


Связанные статьи

Не появляются изменения в менеджерской части