Windows Server 2008 R2を実行している場合、サーバー上のパブリックIPから127.0.0.1:8334に接続(バインド)するアプリケーションがあります[0.0.0.0:8334でリッスンしているサービスに接続します]
Windows 2003では、この問題はありませんでした。 TCP 1.2.3.4 [eg]から127.0.0.1:8334までを使用して接続できます。
Windows 2008では、TCPパブリックIPからの接続(例:1.2.3.4から127.0.0.1:8334)が失敗しても、サービスは127.0.0.1から127.0.0.1:8334への接続を受け入れます。 、および127.0.0.1〜1.2.3.4:8334。
Windowsファイアウォールをオフにして、そのロギングなどを構成しようとしましたが(有用なログエントリは表示されません)、失敗しました。これは新しいネットワークスタックの問題ですか?
edits
1.2.3.4が同じマシン上のlocalhost [127.0.0.1]に接続しようとしています
Hostsファイルは、デフォルトのWindows 2008 Hostファイルです。
ループバックチェック情報、興味深い。試してみました... 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アドレスがローカルホスト名ではなくハードコードされているためです。したがって、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
これは、WFP Vista/7/Server 2008 [Windows Filtering Platform]の設計による変更であることを確認したものです。
[Anupama Vasanthによる応答を参照]
私はハードなルートに行き、コードを書き直さなければならないように見えます[マネージャーと取引することを意味するため、ハードです!]
問題の特定/確認を手伝ってくれてありがとう!
Windows 2008ではファイアウォールがデフォルトで有効になっていることを忘れないでください。これは、ループバックインターフェイス上でも、すべてのトラフィックをブロックする可能性があります。さらに、0.0.0.0にバインドすると、すべてのインターフェースで接続を受け入れます。ファイアウォールはこれをまだブロックします。テスト中にファイアウォールをオフにしてから、オンに戻すこともできます。 127.0.0.1で開発したさまざまなプログラムへの接続に問題はありませんでした。
Vista/win2k8以降で127.0.0.2に接続してみてください-面白そうに聞こえますが、動作します。過去にこれで良い結果が出た