Windows Server 2008-127.0.0.1への接続


9

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による応答を参照]

私はハードなルートに行き、コードを書き直さなければならないようです[マネージャーと取引することを意味するため、ハードです!]

問題の特定/確認を手伝ってくれてありがとう!


あなたの説明では、1.2.3.4と127.0.0.1は同じマシンにありますか?hostsファイルでそれらのために何がありますか?
Gennady VaninГеннадийВанин

回答:


1

Windows 2008ではファイアウォールがデフォルトで有効になっていることを忘れないでください。これにより、ループバックインターフェイス上でも、すべてのトラフィックがブロックされる可能性があります。さらに、0.0.0.0にバインドすると、すべてのインターフェースで接続を受け入れます。ファイアウォールはまだこれをブロックします。テスト中にファイアウォールをオフにしてから、オンに戻すこともできます。127.0.0.1で開発したさまざまなプログラムへの接続に問題はありませんでした。


0

Vista / win2k8以降で127.0.0.2に接続してみてください-面白そうに聞こえますが、動作します。過去にこれで良い結果が出た


-3

ループバックチェックのセキュリティ機能に接続されていることは間違いありませんが、それがどのように実装されているのか詳細に知ることはできません。

http://chillicode.wordpress.com/tag/loopback-check/

「APPLIES TO」のWindows 2008については、http://support.microsoft.com/kb/896861を参照してください


さて、HOSTSファイルには正確に何が入っていますか?W2008を持っていません。「127.0.0.1 localhost」がそこにないということですか?

また、デフォルトのW2008セットアップでは1024を超えるポートとの通信が許可されていないことも読んだことがあります。


MS Windows Server 2008に関するフィードバックは、MSチームに直接送信できます。

そして彼らは答えます

レジストリ編集の方法で「ループバックチェック」をオフにしようとした場合は、再起動が必要です。別のもの-ない。

マシン内部のNAT?127.0.0.1は転送またはルーティングされていません。これは内部的なものであり、ネットワークカードを取り外すことができます。1.2.3.4は消えますが、127.0.0.1は引き続き存在します。

(Run-> cmd-> route print)の出力は何ですか?

どうやったらいいのかわからないけど、もう一瞬ありました。

127.0.0.1はlocalhost(インターフェース)であり、単一ラベル名であり、ローカルと見なされます。1.2.3.4は単一ラベルではない名前です。

これに関する考えられる問題は、そのような名前が外部と見なされた可能性があることです


個別に試すことができます:

  1. ネットワークアダプターでIPv6を無効にしています(有効になっている場合、無効になっている場合)。

  2. 1.2.3.4の単一ラベル名をHOSTSファイルに入れますか?


1.2.3.4から127.0.0.1:8334への通信に失敗した場合のeventvwr.mscの対応するイベントの説明、EventIDなどは何ですか?


「445は標準のWindowsサービスです」

TCP / IP経由のSMBダイレクト用ですか?ファイル共有のため?CIFS?

それほど信頼できません...それは常にMSホットフィックスによってハッキングされています。読んだ:

(「サブネット間ブラウジングのNetBIOSは、Windows Server 2008にアップグレードした後に失敗する可能性があります」) - http://blogs.technet.com/b/networking/archive/2008/07/25/netbios-browsing-across-subnets-may-fail -after-upgrading-to-windows-server-2008.aspx?wa = wsignin1.0

そして、

「Windows Server 2008 SP1またはSP2ファイル共有に到達しようとしているVista SP2マシンで前述したのと同じ問題があります。ファイル共有サービスは、ファイル共有(SMB)を予測する事前定義されたルールを使用する高度なセキュリティを備えたWindowsファイアウォールによって保護されています。安全な接続」

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.