powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Неверно определяется IP адрес подключения
13 сообщений из 13, страница 1 из 1
Неверно определяется IP адрес подключения
    #39041542
AlexShiryaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2) Начиная с Cache 2010.1 в имя пользователя лицензионной единицы принудительно дописывается IP-адрес
Добрый день!

А есть ли описание механизма определения IP-адреса клиента?
Столкнулись с проблемой, что для некоторых компьютеров (клиентов) Caché неправильно определяет IP. Вместо реального подставляется 127.0.0.1.
Не смогли определить от чего это зависит...
Может нужно какие-то порты открыть? Или еще что-то предпринять?
Код: plaintext
1.
2.
w $ZV
Cache for Windows (x86-64) 2010.2.7 (Build 1004_0_11142U) Wed Dec 21 2011 15:29:56 EST
Модератор: выделил в отдельную тему
...
Рейтинг: 0 / 0
Неверно определяется IP адрес подключения
    #39041610
vassil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexShiryaev,

Если используете CSP или ZEN, то можно %request.CgiEnvs("REMOTE_ADDR")
...
Рейтинг: 0 / 0
Неверно определяется IP адрес подключения
    #39041629
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexShiryaev,

Точно сказать думаю смогут только в InterSystems
а вообще можно посмотреть
%request.GetCgiEnv("REMOTE_ADDR")
%request.GetCgiEnv("HTTP_X_FORWARDED_FOR") - обычно есть в случае когда запросы проксируются
по идее это все должно приходить от веб-сервера
дальше еще зависит от того какой вебсервер
...
Рейтинг: 0 / 0
Неверно определяется IP адрес подключения
    #39042418
AlexShiryaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему так может происходить?select ClientIPAddress, LicenseUserId,StartupClientIPAddress from %sys.processquery where id=79132При соединении с "проблемной" машиной:
Код: vbnet
1.
2.
# ClientIPAddress LicenseUserId StartupClientIPAddress 
1 127.0.0.1 127.0.0.1 192.168.85.77

При соединении с "нормальной" машины:
Код: vbnet
1.
2.
# ClientIPAddress LicenseUserId StartupClientIPAddress 
1 192.168.85.67 192.168.85.67 192.168.85.67

Я подозреваю, что где-то какие-то сетевые настройки разные... Но не могу точно определить. Обе машины находятся в одной подсети, подключены к одному свитчу, одна ОС и т.д. Почему одну машину Caché определяет правильно, а другую неправильно?
...
Рейтинг: 0 / 0
Неверно определяется IP адрес подключения
    #39042450
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можете еще добавить, как подключаютяс пользователи ?
Правильно я понимаю, что у вас Веб-приложение ? тогда напишите какой веб-сервер, и как он настроен
если это apache успользуется сервис CSPnsd или нет ?
какая OS на сервере
...
Рейтинг: 0 / 0
Неверно определяется IP адрес подключения
    #39042489
AlexShiryaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMor,

Я точно не могу сказать. Приложение разработано не нами. Но вроде подключение прямое на порт 1972.
На сервере Server 2008 R2 Enterprise.
...
Рейтинг: 0 / 0
Неверно определяется IP адрес подключения
    #39042570
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если прямое соединение на 1972/tcp, то скорее всего используется один из протоколов Caché: CacheDirect (VisM), CacheActiveX, или CacheODBC/JDBC. Это не CSP.

StartupClientIPAddress берётся из параметров tcp-соединения.

ClientIPAddress вычисляется протоколом Caché. Сервер опрашивает клиента, клиент возвращает IP сетевой карточки, по которой он связался с сервером. Таким образом, например, Caché узнаёт IP-адреса клиентов, которые входят через сервер терминалов.
Вот, например, подключился я к Caché, предварительно зайдя на сервер в режиме удалённого рабочего стола. Запрос возвращает результат:

ClientIPAddressLicenseUserIdStartupClientIPAddress192.168.11.87192.168.11.87127.0.0.1
LicenseUserId вычисляется хитрее, при некоторых условиях к IP-адресу добавляется имя юзера. Например, alex@192.168.11.87.

Описанное поведение зависит от версии Caché, используемого протокола, и ещё ряда лицензионных факторов.

В вашем случае можно предположить, что соединение с Caché осуществляется через какое-то прокси, в результате чего протокол Caché получает от клиента неверный IP-адрес.
...
Рейтинг: 0 / 0
Неверно определяется IP адрес подключения
    #39042727
AlexShiryaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey MaslovClientIPAddress вычисляется протоколом Caché. Сервер опрашивает клиента, клиент возвращает IP сетевой карточки, по которой он связался с сервером. Таким образом, например, Caché узнаёт IP-адреса клиентов, которые входят через сервер терминалов.А можно об этом поподробнее? Какие протоколы используются, какие порты и т.д.?
PS. Как раз таки c RDP тоже проблемы...
...
Рейтинг: 0 / 0
Неверно определяется IP адрес подключения
    #39043176
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Несколько неточно написал в прошлом посте, сервер конечно не опрашивает клиента, клиент сам отправляет ему тот IP-адрес, который, по его мнению, его идентифицирует. Это снимает вопрос о дополнительных портах. Подробностей о работе протоколов ISC (1972/tcp), увы, известно не много. Даже тот факт, что клиент сам сообщает свой IP, получен скорее экспериментально: иначе сложно объяснить, откуда Caché узнаёт адрес RDP-терминала. Вот 2 примера из жизни:
  • Захожу в Caché (1972/tcp, CacheActiveX.dll, в Cache %Service_Bindings) через открытый и-нет, находясь за NAT-ом.
  • Вижу: StartupClientIPAddress=98.72.41.62 ; внешний IP, получен из tcp-соединения ClientIPAddress=192.168.11.87 ; мой IP в LAN, мог быть получен только от клиента LicenseUserId=192.168.11.87 Захожу в Caché, используя аналогичные клиент и сервис, через VPN (не буду указывать её тип), войдя в неё через локальный proxy-сервер. Вижу: StartupClientIPAddress=10.81.202.4 ; внешний IP в VPN, получен из tcp-соединения. ClientIPAddress=127.0.0.1 LicenseUserId=10.81.202.4@127.0.0.1 ; очевидно, ради борьбы с халявой :)
...
Рейтинг: 0 / 0
Неверно определяется IP адрес подключения
    #39043257
Petr0vi4444
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного копал в эту сторону одно время.
Адрес действительно приходит с клиента в момент подключения к БД.
Принадлежность к RDP сессии, имя и адрес определяются через WTSQuerySessionInformation (WTSClientName и WTSClientAddress) в cconnect.dll.
Разницу между результатами вызовов на двух машинах можно попробовать отследить через rohitab API Monitor.
...
Рейтинг: 0 / 0
Неверно определяется IP адрес подключения
    #39043402
AlexShiryaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petr0vi4444,

Проблема решилась. Решение оказалось до банальности простым. Во всем был виноват DrWeb. Причем почему-то Spider Mail.
Почему и что он "резал" пока не выяснил. Просто пока отключил этот компонент. Буду писать в службу поддержки DrWeb.
Спасибо.
...
Рейтинг: 0 / 0
Неверно определяется IP адрес подключения
    #39043511
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Он скорее всего встраивается в tcp-сеанс как локальное прокси, вот Caché-клиент и думает, что подключился к 127.0.0.1 (см. мой случай с клиентом VPN).

tcpview (ex-SysInternals) наглядно показывает такие вещи.
...
Рейтинг: 0 / 0
Неверно определяется IP адрес подключения
    #39237549
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Linux системах легко определить IP подключенного клиента
Достаточно прописать следующий код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
start()
    n ip,dev,io
    s io=$IO,ip=""
    s $ze="error"
    s dev="netstat -ntp | grep "_$j_"|  awk ' $5 ~ /^[0-9]/ {print $5}' | cut -d: -f1"
    o dev:"RQ" 
    else  q ""
    u dev r ip c dev
error
    u io
    q ip
Данный код не зависит от версии Cache и работает при любом подключении удаленного клиента к Cache сервер
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Неверно определяется IP адрес подключения
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]