複数のホストをサポートする TCP プロキシを作成するにはどうすればよいですか?

複数のホストをサポートする TCP プロキシを作成するにはどうすればよいですか?

複数のホストをサポートする TCP プロキシを作成したいと思います。私が見た例では、DNS サーバーを使用して、ホストがハードコードされている TCP プロキシに特定のホストを指定するというものでした。TCP プロキシは、すべてのホストが TCP プロキシにルーティングされると、プロキシがデータの送信先を認識できなくなるため、複数のホストを処理できません。この問題を回避する方法はありますか?

答え1

TCP は IP 上で動作し、IP にはホスト名の概念はなく、IP アドレスのみがあります。

そのため、TCP はホスト名ではなく IP アドレスのみを認識します。

ホスト名を処理するものが必要な場合は、TCP 上のプロトコル (例: HTTP、SSH など) が必要になるか、DNS が通常提供しているように、TCP を使用する前に名前を IP アドレスに変換する必要があります。

または、「TCP」プロキシが別のポートをリッスンし、アクセスされるポートに応じてプロキシを行う必要があります。ただし、名前を IP アドレス (プロキシの) だけでなくポートにもマッピングするという問題がまだ残っています。これは DNS では可能ですが、より困難です (クライアントを制御する場合は、SRVレコードまたは将来のSVCBレコードを使用してこれを行うことができます)。

関連情報