
私は Windows 8 で作業しています。リモート サーバーでホストされているが API へのパブリック IP を持つ OpenStack クラウドに接続しようとしています。しかし、API 呼び出しを行うには、クラウドの内部アドレスを持つクラウド内の追加サービスへの呼び出しが必要であり、これができません。すべての内部アドレスは、パブリック アドレスと同等になるように設定されています。そのため、プライベート アドレス 10.xx2:yyyyy ごとに、194.xxx:zzzzz があります。
必要なのは、ローカル マシンでポート転送を設定して、API を呼び出すアプリケーションの 10.xx2:yyyyy への各呼び出しが、対応するパブリックの 194.xxx:zzzzz に変換されるようにすることです。
私はnetshを試しました
netsh interface portproxy add v4tov4 listenport=yyyy listenaddress=10.x.x.2 connectport=zzzzz connectaddress=194.x.x.x
しかし、これは何の結果ももたらさなかった。
また、オンラインで見つけた PassPort ツールを管理者権限で実行して同じことを試してみましたが、やはり効果はありませんでした。まず、ブラウザで 10.xxx:yyyy アドレスをテストし、次にアプリケーションでテストしてみましたが、一度も機能しませんでした。
ファイアウォールがダウンしています。
何か案は?
敬具。
答え1
これは私にとってはうまくいきます:
netsh interface portproxy add v4tov4 listenport=yyyyy connectaddress=destination.ip connectport=destination.port protocol=tcp
destination.ip が外部であっても、localhost:yyyyy への接続はすべて destination.ip:destination.port にリダイレクトされます。
注: これにより、転送ルールが永続的になります。
答え2
CLIツールを使用する場合は、openrc認証情報ファイルに次の行を含めてください: export OS_INTERFACE=public