.png)
導入
私は 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 アドレスが必要です。