
パブリック IP アドレス (例: 10.20.30.40) と専用のドメイン (example.com) を持つ専用サーバーがあります。
そのサーバーには、ESXi ハイパーバイザーでホストされている多数の仮想マシンがあり、各仮想マシンは異なるジョブ (メール サーバー、チャット サーバー、ファイル サーバーなど) を実行します。各仮想マシンは、DNS-vm DHCP からローカル IP を取得します。
各 VM をサブドメインにローカルに解決するにはどうすればよいですか?
DNS サーバーとして機能する VM を前に置くと、VM へのすべてのリクエストを解決できると思いますが、方法がわかりません。サーバーの内部ネットワーク トポロジを参照してください。
たとえば、誰かが mail.example.com にリクエストを送信すると、そのリクエストは最初に DNS に到達し、DNS はすべてのトラフィック (前方および後方) を特定の VM (192.168.1.10) にルーティングします。
答え1
すべてが異種でない場合は、ロードバランサーをお勧めします。ただし、主に http サーバーを実行しているため、単一の NGINX ボックスを使用してサービスにリバースプロキシします。その後、ポート 25 (またはメールサーバーが使用するポート) を手動で転送できます。
Nginx Web サーバーを使用する場合、サーバー ブロック (Apache の仮想ホストに似ています) を使用して構成の詳細をカプセル化し、単一のサーバーから複数のドメインをホストできます。
https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/