Чот накопал с
Просьба прокомментировать.
сложилась такая ситуация - есть Оракл-сервер, стоит за fiirewall'ом на котором происходит трансляция адресов, TNSPING из внешней сетки к нему проходит, а приконнектиться ничем не можем
Коротко о методах решения данной проблемы основываясь на вышеизложенном (приведу для примера один из вариантов)...
Итак...
1. Для начала заставим наш сервер посылать клиенту дескриптор подключения в формате NET 80 не с внутренним IP, а скажем с внутренним доменным именем. Для этого мы явно прописываем в init.ora в дескрипторе MTS_Dispatchers имя сервера, например:
mts_dispatchers = "ADDRESS = (PROTOCOL=TCP)(HOST = myorasrv.mydomain.ru)(PORT = 3000)"
После такой манипуляции клиент будет получать не внутренний ip а внутреннее имя сервера оракла. Так ли это - можно проверить посмотрев лог tnsnames.log (включив трассировку предварительно).
Но естесственно с точки зрения клиентской машины - что внутренний IP что внутреннее имя сервера - разницы никакакой...
2. Но! теперь надо для указанного внутреннего имени поставить в соответствие нормальный IP вашего фаирвола (опять таки - только для клиентской машины). Для этого заходим в папку {\WINDOWS\}\system32\drivers\etc и открываем файл hosts,
где и ставим в соответствие внутреннему имени сервера айпишник вашего фаирвола, например
ХХХ.ХХ.ХХ.256 myorasrv.mydomain.ru
где ХХХ.ХХ.ХХ.256 есть внешний адрес нашего фаирвола.
После этого нехитрого действия оракловый клиент не будет безуспешно пытаться найти наш внутренний адрес, а пойдет прямиком к шлюзу нашей сети, чего мы и добивались.
3. Теперь нам остается только настроить фаирвол в части проброски коннекта на нужный нам сервер. Для этого заставляем его при попытке коннекта на порты аналогичные портам с поднятыми диспатчерами (например 3000 как в приведенном примере) тупо пробрасывать такие коннекты на наш сервер.. это действие называется вроде бы "поднять туннель" - точно не знаю, я не сисадмин
если диспатчеров несколько, то соответственно для остальных тоже надо сделать соответствующие настройки. Если во внутренней сетке стоит несколько серваков, то проблема коннекта к ним решается поднятием диспатчеров на этих машинах на непересекающихся портах