ファイアウォールを介してiSeries(DB2データベース)にSSHアクセスできます。 ODBCを使用してマシンのデータベースにクエリを実行しようとしています。
プロトコルがどのポートを使用するかを説明するいくつかの表を見つけましたが、この情報をどうするかわかりません。マシンにsshアクセスできる場合、odbcが使用するポートにトラフィックをリダイレクトする方法はありますか?
http://search400.techtarget.com/answer/What-TCP-ports-are-used-by-ODBC-to-connect-to-the-DB2-4
したがって、PCでデータベースクライアントが実行されていると仮定すると、データベースサーバーで実行されているポートを反映するようにPCのポートを設定するsshトンネルを作成できます。次に、クライアントにローカルホストにクエリを送信するように指示します。ポートの1つ、たとえば8471にトンネルを設定する方法は次のとおりです。
ssh -L 8471:localhost:8471
この場合、「localhost」はPCではなくサーバーを指します。必要に応じて、「localhost」をサーバーのIPアドレスに置き換えることができます。
このトンネルを設定した後、PCのポート8471に「telnet」すると、データベースサーバーのポート8471に接続されます。
リスト内のポートごとにこれを繰り返す必要があります。
データベースサーバーが接続文字列に独自のホスト名を必要とする場合、問題が発生する可能性があります。その場合は、クライアントをだまして、PCのホスト名がデータベースサーバーのホスト名と同じであると思わせる必要があります。