幸いにもそれぞれのセグメントに繋がっているWindowsサーバがあり活用できないかとポートフォワードあたりをキーワードに検索するとSSHを使う方法がかなりヒットする。
ただ今回は通信を暗号化するする必要もなくただのルーターの様に動作してくれれば十分、そして見つけたのがnetshコマンドを利用したportproxy
- クライアントアドレス:192.168.0.1
- Windowsサーバアドレス:192.168.0.2、10.10.0.1
- Windowsポートフォワード受付ポート番号:61521
- Oracleサーバアドレス:10.10.0.2
- Oracleリスナーポート番号:1521
(ポートフォワード登録)
netsh interface port proxy add v4tov4 listenport=61521 listenaddr=192.168.0.2 connectport=1521 connectaddress=10.10.0.2
(登録確認)
nets interface port proxy show all
(ポートフォワード削除)
nets interface portproxy delete v4tov4 listenport=61521 listenaddress=192.168.0.2
ポートフォワード設定した状態でクライアントからsqlplusコマンドでWindowsサーバのアドレス(192.168.0.2)の61521ポートに対して接続を行うとOracleサーバ(10.10.0.2)の1521ポートに接続された。
なんと便利なことか。
ただし、OracleがRAC構成の場合でSCAN VIPアドレスに繋げようとすると接続が失敗するので注意が必要。その場合はRACのどこかのノードのローカルリスナーに接続させてしまうのがいいかのかも(※可用性は低下)
0 件のコメント:
コメントを投稿