Как установить ODBC-соединение через SSH-туннель?
У меня есть доступ SSH к iSeries (база данных DB2) через брандмауэр. Я пытаюсь сделать запросы к БД в машине, используя ODBC.
Я нашел несколько таблиц, объясняющих, какие порты используются протоколом, но не знаю, что делать с этой информацией. Есть ли способ перенаправить трафик на порты, используемые odbc, если у меня есть ssh-доступ к машине?
http://search400.techtarget.com/answer/What-TCP-ports-are-used-by-ODBC-to-connect-to-the-DB2-400
1 ответ
Итак, если у вас есть клиент базы данных, работающий на вашем ПК, вы можете создать ssh-туннель, который настраивает порты на вашем ПК для отображения портов, работающих на сервере базы данных. Затем направьте своего клиента на запрос вашего локального хоста. Вот как настроить туннель для одного из портов, скажем, 8471:
SSH-L 8471: локальный:8471
В этом случае "localhost" относится к серверу, а не к вашему ПК. Вы можете заменить localhost на IP-адрес сервера, если хотите.
После настройки этого туннеля, если вы "telnet" подключитесь к порту 8471 на вашем ПК, он соединит вас с портом 8471 сервера базы данных.
Вам придется повторить это для каждого из портов в списке.
Вы можете столкнуться с проблемой, если серверу базы данных требуется собственное имя хоста в строке подключения. Если это произойдет, вам нужно будет заставить своего клиента думать, что имя хоста ПК совпадает с именем хоста сервера БД.