Нужна помощь в настройке SSH туннеля для клиента 1С

Приветствую Всех и прошу помощи у знающих людей.

Суть проблемы такая, изучаю возможность подключения через интернет клиента 1С Бухгалтерии по SSH туннелям.


Дано:

Сервер 1С (Linux)

Компьютер в локалке с этим сервером, и с доступом к нему из вне по SSH (Linux)

Клиент с интернетом  (Windows)


Что по теории:

Гипотетически через SSH туннель можно пустить любой TCP трафик, для этого нужно лишь правильно настроить промежуточный узел, и поднять до него туннель. SSH туннель по Windows буду поднимать с помощью plink или putty.

Для работы 1С клиента используются TCP порты 1540, 1541, 1560-1591

netstat на сервере 1С выдает, что прослушиваются три порта 1540, 1541, 1560


Что по практике:

Настраиваю промежуточный узел, в sshd_config устанавливаю PermitTunnel yes

Настраиваю клиент Windows

plink.exe -N -L 1540:IP_1C_SERVER:1540 -L 1541:IP_1C_SERVER:1541 -L 1560:IP_1C_SERVER:1560 IP_MID_COMP user@MID_COMP

В 1С в настройках базы указываю сервер localhost. Проверяю что в hosts есть запись 127.0.0.1 localhost.

Поднимаю туннель и пробую запускать 1С, и получаю:

Ошибка определения принадлежности клиентского и серверного процессов одному компьютеру

Проверяю туннель на других сервисах локальной сети - все ок. Не работает только с 1С, из чего делаю вывод что проблема в клиенте 1С.


Пытался найти корень проблемы самостоятельно но интернет не дает вразумительных пояснений по данной ошибке, везде где упоминается данная ошибка предлагается прописать ip сервера в hosts в ручную, но это не имеет смысла потому как у меня уже есть запись 127.0.0.1 localhost.

Было подозрение, что клиенту 1С не нравится обращение к localhost потому, что он сам что то там поднимает. Поднял виртуальный петлевой интерфейс на клиенте и настроил все на него.

plink.exe -N -L 10.0.0.1:1540:IP_1C_SERVER:1540 ...

Поднял туннель и получил тот же результат.

Ошибка определения принадлежности клиентского и серверного процессов одному компьютеру

Тут у меня тупик. Есть предположения что это?

Понимаю, что изобретаю велосипед, но так надо. Получится ли?


Хочу сразу оговориться, я "не первый год замужем", потому прекрасно знаю как это можно решить по другому, но в силу определенных условий и обстоятельств интересно именно этот вариант решения. Если Вам есть что предложить - добро пожаловать в комментарии.

Лига Сисадминов

1.5K постов17.7K подписчиков

Добавить пост

Правила сообщества

Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.

Вы смотрите срез комментариев. Показать все
9
DELETED
Автор поста оценил этот комментарий

Ебать наркомания.

Могу предположить, что 1ске нужно обращаться не на собственный интерфейс. Сделайте прокладку не на локалхосте, а на другом компе, и обращайтесь к нему. Опционально через хост имя заменить, если ему так хочется.

раскрыть ветку (13)
3
Автор поста оценил этот комментарий

Ну уровень упоротости средний, видали бред и покрепче. А предложение интересное попробую.

раскрыть ветку (12)
1
Автор поста оценил этот комментарий

А собственно я уже все это пробовал. В виде другого компа использовал виртуальный луп интерфейс, настроил ему серый адрес, прописал в hosts. Результат тот же.

Вот бы узнать что значит "Ошибка определения принадлежности клиентского и серверного процессов одному компьютеру" с одинэсного на человеческом.

раскрыть ветку (11)
3
Автор поста оценил этот комментарий

Советуют добавить в файлик hosts ещё и ip сервера 1с.


Например наш сервер называется SERVER_1C, а его IP-адрес 192.168.1.22, то файл будет выглядеть так:


#IP-адрес ИмяСервера

127.0.0.1 localhost

192.168.1.22 SERVER_1C


Локал хост 1с не всегда корректно обрабатывает - уже наталкивались на это.

раскрыть ветку (8)
1
Автор поста оценил этот комментарий

Так там так и записано, и на сервере и на клиенте.

Сервер:

127.0.0.1 localhost

192.168.1.22 SERVER_1C


Клиент:

127.0.0.1 localhost

10.0.0.1 SERVER_1C


Туннель как раз на локальный адрес(на машине клиента) 10.0.0.1 и создается

раскрыть ветку (7)
Автор поста оценил этот комментарий

Может открыть ещё порты 1560-1591. Возможно в процессе запуска нужен один из этих портов?

раскрыть ветку (3)
2
Автор поста оценил этот комментарий

Проверял netstat-ом что там слушается, и это только три порта 1540, 1541, 1560. Ради эксперимента добавлял остальные, положительного результата это не дало.

раскрыть ветку (2)
Автор поста оценил этот комментарий

У нас после ввода пароля требовал 1561 порт.

раскрыть ветку (1)
Автор поста оценил этот комментарий

До стадии введения пароля не доходит.

1
Автор поста оценил этот комментарий

А с пк пинг и пр до 192.168.1.22 проходит?

раскрыть ветку (2)
2
Автор поста оценил этот комментарий

пинг пройти не сможет так как туннелируется только tcp протокол. Обмен пакетами до сервера идет, туда 560 байт обратно 9, так три раза и ошибка.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Такое ощущение, что пк "не видит" сервер в сети. Либо порт.

1
DELETED
Автор поста оценил этот комментарий

Этот виртуальный интерфейс же все равно у вас на локальной машине в списке интерфейсов присутствует. У меня подозрение что дело именно в этом.

Ну вообще если буквально понимать написанное, то там написано, что оно не может понять, какой процесс на каком компьютере запущен. -)

Автор поста оценил этот комментарий
А если не луп? Он сразу скорее всего пайпы начинает пробовать и тут всё становится раком.
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку