web-dev-qa-db-ja.com

ルーティングとリモートアクセスポートマッピングはローカルホストに適用されません

Publicip:80をプライベート内部ネットワーク上のサーバーに転送するようにルーティングとリモートアクセス(Windows Server 2003)を設定しましたが、これはうまく機能しています。インターネットからポート80への着信要求は、内部Webサーバーに正しく転送され、すべて問題ありません。

ただし、リクエストサーバー自体は転送されていません。つまり、コンソールウィンドウを開いて、publicipのサーバーから「telnetpublicip 80」と入力すると、要求はnotプライベートサーバーに転送されます。

RRASで、パブリックインターフェイスのポート80をプライベートサーバーにマップしたため、機能しないことを理解しています。しかし、ローカルPCからの要求もプライベートサーバーに転送されるように構成する方法がわかりません。

この件に関するヘルプやフィードバックをいただければ幸いです。

ありがとう!

1

http://technet.Microsoft.com/en-us/library/cc776297(WS.10).aspx で詳しく説明されているように、「netshinterfaceportproxy」を使用して解決しました。

これは、RRASのようにネットワーク層で解決するわけではありませんが、サードパーティのソフトウェアに頼ることなく解決します。ローカルホストのみがRRASフィルターを通過するため、ソフトウェア層でこれに対処することは問題ではありません。

1

あなたが探しているものは「ヘアピンNAT」と呼ばれ、MicrosoftのNAT実装はそれをサポートしていないようです。NATされたインターフェースを通過しないパケットは=を取得しません。 NAT適用(つまり、プライベートまたはローカルインターフェイスからのソーシング、プライベートインターフェイス宛て)。

Microsoftのドキュメントは、それについて特に明確ではありませんが(少なくとも、私がこれまでに見つけたことがあります)、RRASは明らかにヘアピンNATのサポートを示す方法で動作しません。

ローカルDNSサーバーにパブリックネーム用のDNSゾーンを作成し、プライベートIPアドレスを参照することで、少なくとも名前で同じ効果を得ることができます。 (したがって、Webサイトが「www.mydomain.com」の場合は、DNSゾーン「www.mydomain.com」を作成し、その中にWebサーバーのプライベートIPアドレスを参照する1つの空白の「A」レコードを含めます。)

他の唯一のオプションは、ヘアピンNATをサポートするNAT Linux iptablesのような実装に切り替えることです。

3
Evan Anderson

別のオプション。名前でアクセスしている場合は、RRASサーバーのローカルhostsファイルに、名前が内部IPを指すエントリを配置できます。 IPでアクセスしている場合は、root publicip throughprivateipという静的ルートを設定できるはずです。 privateipのサーバーは、パケットに「ねえ、それは私です」と表示され、適切に処理されるはずですが、ネットワーク設定によっては、パケットを正しく戻すために反対側のルートが必要になる場合があります。

0