ドメイン名にポートを添付する

ドメイン名にポートを添付する

私は自宅で小さな (centOS 7) メール サーバーを運用していますが、サーバー IP のすべての着信接続に対してポートを開くのではなく、ドメイン名にポートを関連付けたいと思っています。現在、FirewallD でポート 25/993/587 を開くと、すべてのユーザーにポートが開かれます。そのため、ドメイン名をサーバー IP にポイントすると、すべてのポートが開かれます。現在、mail.example.com を使用していますが、実現したいのは次のようになります。

smtp.mail.example.com -> 25
imaps.mail.example.com -> 993

...などなど。これが可能かどうか、またどのように可能かはわかりませんし、メール サーバーの機能には必要ないこともわかっていますが、健全性の観点からは興味深いものであり、メール サーバーはポート 80/443 を必要とせず、Web サーバーは 25/993 などを必要としないため、同じサーバー上で Web ホスティングとメール ホスティングを組み合わせる他の状況でも役立ちます。

SRV レコードについては承知していますが、同じ IP を使用する場合、すべてのポートが開いたままになります。

答え1

それは不可能です。接続を受信するマシンは、リモート マシンが接続するために IP アドレスに解決したホスト名を認識しません*。

HTTP プロトコルにはリクエストの一部としてホスト名が含まれているため、HTTP/HTTPS で動作します。SMTP や IMAP では、リクエストにその情報は含まれません。

*唯一の例外は、接続がTLSを使用しており、リモートマシンが接続したいホスト名を含むSNIヘッダーが含まれている場合です。そのため、imaps

関連情報