DNS 名に基づく NAT ルーティング (リバース TCP プロキシ?)

DNS 名に基づく NAT ルーティング (リバース TCP プロキシ?)

導入

私は 1 台のルーターを所有しており、pfSense を実行しています (これは VMware 上の仮想マシンなので何でも構いません。ソリューションに他のものが必要な場合は、それで問題ありません)。その背後には複数の仮想マシン (NAT) があります。

達成したいこと

できれば DNS ベースの、1 つの IP で複数のサービスを使用するために、何らかのプロキシを使用したいと思います。たとえば、mail.domain.com でメール サーバー (および Web アクセス用の Web サイト) を実行し、www.domain.com で Web サイトを実行し、ftp.domain.com で FTP サーバーを実行しますが、これらはすべて異なる仮想マシンです。

だから基本的に:

Hostname          Internal NAT IP     Port

www.domain.com    192.168.1.10        80
mail.domain.com   192.168.1.11        25
mail.domain.com   192.168.1.11        80
mail.domain.com   192.168.1.11        443
ftp.domain.com    192.168.1.12        21

そこでHAProxyを使うことを考えましたが、HAProxyはHTTPトラフィックのみを許可し、「通常の」TCPトラフィック(DNS名に基づく)には許可しません。全てポート (TCP と UDP の両方ですが、TCP のみが可能な場合でも問題ありません) をそれぞれの仮想マシンにリダイレクトします。

答え1

使用される DNS ホスト名に基づいてあらゆる種類のプロキシを実行するには、アプリケーション プロトコルが何らかの方法でホスト ヘッダーを伝送する必要もあります。

私の知る限り、FTP にはそのようなヘッダーは含まれていないので、これがどのように可能になるのかわかりません。おそらく、ユーザー名などに基づいて異なるサーバーに送信するカスタム FTP プロキシを使用するのでしょう。

TLDR: 最終目標は達成できないと思います。複数の外部 IP アドレスが必要です。

関連情報