web-dev-qa-db-ja.com

内部ポートリダイレクションを備えたWindows 7は可能ですか?

開発者の1人から、問題を解決するように依頼されました。

ここでは、オフィスでLinuxデスクトップを使用しており、iptables natを介してlocalhost:80にlocalhost:80を転送できます。彼らが望んでいるのは、自宅のWindows 7でも同じです。

これについては2つの方法があると思います。 1つはjboss Webサーバーとすべてのwebapps URL(乱雑)を再構成するためのものです。もう1つは、localhostポート8080をポート80にリダイレクト/ NATする方法を見つけることです。Windows7では、これを行う方法がわかりません。

誰でも2番目の方法を考えていますか?

9
bdavenport

AFAIK、Win7には同等のiptablesがありません。必要なことを行う(ポートをリッスンし、すべてを別のポートにコピーする)サーバーを作成するのは簡単です。次のURLで確認できます: http://www.quantumg.net/portforward.php (unested)。リバースプロキシを使用すると(Googleは友だちです)、httpのようなトラフィックに対応できる可能性があります。また、この投稿を確認してください: https://stackoverflow.com/questions/3721000/port-forwarding-on-windows-7

6
Alien Life Form

はい、Windowsには同等のiptablesがあり、ツール netshおよびportproxyインターフェース を使用します。

あなたが望むことをするコマンドは

netsh interface portproxy add v4tov4 listenaddress=YOUR_IP_HERE listenport=8080 connectaddress=YOUR_IP_HERE connectport=80 

これはIPv4接続のみを実行することに注意してください。IPv6接続も転送する場合は、実行する必要もあります。

netsh interface portproxy add v6tov6 listenaddress=YOUR_IP_HERE listenport=8080 connectaddress=YOUR_IP_HERE connectport=80
12

Windowsには同等のiptablesがないと思います。コマンド

netsh interface portproxy ...

ポートプロキシは行いますが、パケット転送は行いません。主な違いは

  • パフォーマンスはiptablesよりもはるかに悪い(つまり、 https://plus.google.com/+OlafMonien/posts/fsjUjropYeR を参照)
  • 送信元IPアドレスがlocalhost(127.0.0.1または:: 1はIPバージョンによって異なる)に変更されると、元の要求の送信元IPアドレスが失われます。

私たちはこの手法をポート転送に使用していましたが、これらの結果の後、netshの使用を回避するためにネットワークファイアウォールで追加のルールを使用する必要がありました。

0
Martin