Восстановление связи с сервером верхнего уровня
Оглавление
Причины отсутствия связи с СВУ
Некорректная работа самого СВУ
Доступность адреса и порта СВУ с машины КС
Проверка проброса порта на внешнем IP-адресе
Проверка правильности имени СВУ
Введение
Кассовый сервер (КС) должен подключаться к серверу верхнего уровня (СВУ), в роли которого может выступать непосредственно Сервер справочников (REF) или же транзитный сервер (REP или RET). Сервера обмениваются данными: "сверху" приходят данные от справочников, "снизу" уходят данные о продажах на кассе. При нарушении связи КС с СВУ обмен становится невозможен. Однако, несмотря на потерю связи с СВУ, в большинстве случаев КС может продолжать работу со своей текущей базой данных Midbase.
Косвенными признаками потери связи могут быть:
- изменения в справочниках, не поступающие на кассу;
- данные по выручке смен, не поступающие в отчеты.
Прямыми признаками будут:
- отсутствие коннекта с СВУ в окне Midserv
- Отсутствие коннекта в веб интерфейсе СВУ с проблемным КС.
Причины отсутствия связи с СВУ
- Некорректная работа самого СВУ
- Недоступность адреса и порта СВУ с машины КС
- Неправильность имени СВУ
- Неправильность адреса и порта СВУ
Диагностика и действия
1. Убедиться, что связи с СВУ нет, ориентируясь на коннект в окне Midserver, для чего запустить его десктопом.
2. Определить на какой машине должен работать СВУ, ориентируясь по
- названиям хостов в РМС
- по сетевому адресу имени СВУ, записанному в rkeeper.ini КС в секции [TCPDNS]
- по данным, известным от коллег.
3. Убедиться, что СВУ запущен и работает. Перезапустить, проверить коннект в окне midserv.
Дальше следует описание диагностики возможных причин.
Некорректная работа самого СВУ
Если СВУ запущен, возможно он работает некорректно и не принимает соединения.
Нужно проверить получится ли подключиться к СВУ с других клиентских приложений, расположенных локально (на той же машине), например, RK7-менеджер (если это REF) или RK7-отчеты (если это REP). Если "менеджерка" или отчеты не запустятся, значит проблема на стороне СВУ: он по какой-то причине не принимает соединения.
- Сразу нужно проверить место на диске на машине с СВУ.
- Перезапустить СВУ, попробовать еще раз
- Изучить лог СВУ, посоветоваться со старшим специалистом.
Доступность адреса и порта СВУ с машины КС
Если другие клиентские приложения коннектятся, и мы видим, что СВУ работает нормально, - нужно проверить доступность адреса и порта СВУ непосредственно с машины кассового сервера. Адрес:порт СВУ записан в rkeeper.ini нашего КС в секции [TCPDNS]
Проверить можно с помощью консоли CMD, выполнив команду telnet
Проверка telnet
Проверка telnet
Введите telnet IP-адрес или имя хоста номер порта. Например, telnet 45.8.110.82 9979 (из скрина выше). Двоеточие перед портом в команде заменяется на пробел. В случае успеха вы "провалитесь" в черный экран, - это значит что адрес и порт доступны с вашего ПК; в случае неудачи - будет соответствующее сообщение, которое означает, что с этого ПК данные адрес и порт недоступны.
Компонент telnet часто отключен в операционной системе, поэтому, если вы запустите в CMD команду telnet, система сообщит, что команда неизвестна. Следует включить telnet в компонентах Windows.
Включение компонента Telnet в Windows
- В разделе "Программы и компоненты" нажмите "Включение или отключение компонентов Windows".
- В открывшемся окне "Компоненты Windows" отметьте компонент "Клиент Telnet".
- Нажмите кнопку OK и подождите, пока операционная система Windows установит и запустит службу.
Отключить брандмауэр
Если адрес и порт СВУ недоступны с ПК КС, попробуйте отключить файрволл Windows (брандмауэр)
Включение и отключение брандмауэра
-
Нажмите кнопку Пуск и выберите Параметры > Обновление и безопасность > Безопасность Windows > Брандмауэр и защита сети. Открыть параметры службы "Безопасность Windows"
-
Выберите профиль сети: Сеть домена, Частная сеть или Общедоступная сеть.
-
В разделе Брандмауэр Microsoft Defender установите для параметра значение Вкл. Если ваше устройство подключено к сети, настройки сетевой политики могут помешать вам выполнить эти шаги. За дополнительными сведениями обратитесь к администратору.
-
Для выключения переключите этот параметр в положение Выкл. Отключение брандмауэра 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]
Если с другой машины или сайта данные адрес и порт недоступны - нужно передать заявку старшему специалисту, или обратиться к сисадмину.
Проверка правильности имени СВУ
Возможно в вашем rkeeper.ini на КС указаны неверные параметры подключения к СВУ. Следует их перепроверить.
Имя СВУ, к которому обращается КС, записано в параметре rkeeper.ini RefServer и должно совпадать с именем СВУ, которое записано в конфиге самого СВУ:
- если роль СВУ выполняет сервер справочников (REF) это файл rk7srv.ini с параметром Server
- если роль СВУ выполняет транзитный сервер (REP или RET) это файл repsserv.ini с параметром Client
Проверка адреса и порта СВУ
Адрес и порт, по которым устанавливается связь между КС и СВУ тоже следует перепроверить. Не забывайте пользоваться командами ping и telnet для проверки доступности адреса и порта.
- Если СВУ работает в локальной сети (различие локальных и глобальных адресов смотри выше), то убедитесь, что IP-адрес машины с работающим СВУ совпадает с прописанным в rkeeper.ini КС в секции [TCPDNS]
Локальный IP-адрес машины СВУ можно узнать из настроек сети на ней или выполнив на ней команду в CMD ipconfig
Проверьте также и порт, который прописан в 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 как СВУ
Для удобства работы с логами имеет смысл бэкапить и удалять старые длинные логи (например, переименовывать их), в которых можно запутаться, с тем чтобы создались новые, свежие, с последними сообщениями об ошибках:
- Остановил службу\процесс;
- удалил\переименовал старые логи;
- запустил службу\процесс или произвел проблемные операции;
- проверил последние сообщения
В нашей ситуации следует искать сообщения, проливающие свет на причину отсутствия связи (пользуйтесь переводчиком при необходимости).
Если вы ничего не поняли из логов, соберите их и передайте старшему специалисту, описав ситуацию.
No Comments