Windows Server 2008 R2を実行している場合、サーバー上のパブリックIPから127.0.0.1:8334に接続(バインド)するアプリケーションがあります[0.0.0.0:8334でリッスンしているサービスに接続します]
Windows 2003では、この問題はありませんでした。1.2.3.4 [eg]から127.0.0.1:8334までのTCPを使用して接続できます。
Windows 2008では、パブリックIP(例:1.2.3.4から127.0.0.1:8334)へのTCP接続が失敗することさえあります。ただし、サービスは127.0.0.1から127.0.0.1:8334、および127.0.0.1から1.2.3.4:8334への接続を受け入れます。
Windowsファイアウォールをオフにして、そのロギングなどを設定しようとしましたが(有用なログエントリは表示されません)、役に立たなかった。これは新しいネットワークスタックの問題ですか?
編集
1.2.3.4が同じマシンのlocalhost [127.0.0.1]に接続しようとしています
ホストファイルは、デフォルトのWindows 2008ホストファイルです。
ループバックチェック情報、興味深い。試してみました... IDがすべてを正しく行ったことを確認するためにクロスチェック-私は持っています。
NATを使用するか、ポートを転送する他の方法があるかどうか疑問に思います-127.0.0.1:portを1.2.3.4:portに転送すると、それは機能しますか?アプリが0.0.0.0:portでリッスンすると、1.2.3.4:portで接続をピックアップします
HOSTSファイルにはlocalhost 127.0.0.1が含まれていますが、hostsファイルはホスト名ルックアップでのみ使用されます。この場合、アプリケーションはホスト名を検索しません。これは、127.0.0.1のIPアドレスが(localhostホスト名ではなく)ハードコードされているためです。したがって、HOSTSファイルはここでは機能しません。
1024を超えるポートについては(おそらくMaxUserPortの問題を参照していると思いますか?)ポート445への単純な接続を試行してこれをテストしました-127.0.0.1からは機能しますが、ソースIP 1.2.3.4から接続すると機能しません。445は標準のWindowsサービスなので、動作するはずです。
現在、マシンでNATまたはRRASを実行していません...再ルーティングを行う方法があったかどうか疑問に思っていました-再ルーティングするループバックインターフェイスに到達する前にTCP / IPスタックがパケットを拒否するため、機能しないと思います。
私がチェックしたルートプリントは問題ないようです。パブリックIPが最初にルーティングされ、最後に127.0.0.0ネットマスク255.255.255.0と127.0.0.1ネットマスク255.255.255.255の両方がループバックされます。
編集は 私が問題の原因にとしての答えを発見したようです。私はeventvwr.mscを使用し、Winsockログを有効にし、他のサービスをオフにし、この接続テストを試しました。エラーが発生しましたが、16進数でSTATUS_INVALID_ADDRESS_COMPONENTにマップすると、グーグルしたときにエラーが発生しました。
それで私は次のようになりました:http : //social.msdn.microsoft.com/Forums/en-US/wfp/thread/d7cb6138-3f67-4467-a068-8325f56739ba
これにより、これはVista / 7 / Server 2008 [Windows Filtering Platform]のWFPの仕様による変更であることが確認されました。
[Anupama Vasanthによる応答を参照]
私はハードなルートに行き、コードを書き直さなければならないようです[マネージャーと取引することを意味するため、ハードです!]
問題の特定/確認を手伝ってくれてありがとう!