web-dev-qa-db-ja.com

TCP(RDP、VPNなど)およびHTTPのリバースプロキシ

CNAME(ISPがIPを変更することを決定した場合、cnameはnoipアドレスに移動します)を介してISPが割り当てたIPを指すドメインがありますが、内部ネットワークのさまざまなIP:PORTの組み合わせにさまざまなサブドメインをルーティングしたいと思いますが、これを実現する方法が完全にはわかりません。

現在、nginxがいくつかの異なるサブドメインのリバースプロキシとして機能し、適切なApacheサーバーにルーティングしています。ただし、RDPやVPNなどの非http通信用にサブドメインを特定のIP:ポートにルーティングしたいと思います。

アイデアは、ポート転送を使用して正しいIP:Portに転送する代わりに、さまざまなサブドメインを使用してサービスに到達できるようにすることです。

ネットワークとインターネット間のゲートウェイとしてClearOS(CentOS6)を使用していますが、iptablesを使用したものは機能しますか?

最終結果は次のようになります

  • rdp.example.com-> 192.168.1.1:3389
  • vpn.example.come-> 192.168.1.5:1194
  • www1.example.com-> nginx-> 192.168.1.1:80(これはすでに設定されています)
  • www2.example.com-> nginx-> 192.168.1.4:80(これはすでに設定されています)

誰か助けてもらえますか?

3
Greg Somers

回答:

一般に、TCPまたはUDP上で実行される他のプロトコルは必ずしもポートの概念を持っていないため)内で実行される任意のプロトコルの場合、やりたいことを行うことはできませんこのようなルーティングを可能にする情報がトラフィックの「ストリーム」内にあるという保証はないためです。特定のプロトコルは、この問題を回避するために、プロトコルに名前情報を埋め込みます(HTTPなど)。 、Hostヘッダー付き)、これらのプロトコルには通常、リクエストを受信し、提示された名前を判別してから、リクエストを適切な場所にルーティングするプロキシがあります。これらのプロキシの一部は、他の回答で言及されています。それらが十分でない場合、プロキシしようとしているレイヤー7プロトコルを教えていただければ、間違いなく適切な回答を受け取ることができます。

ソース: https://serverfault.com/questions/96469/is-there-a-way-to-forward-a-port-based-on-subdomain

1
Greg Somers