我在家里运行一个小型(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,依此类推。
我知道 SRV 记录,但是当您使用相同的 IP 时,仍然会打开所有端口。
这是不可能的,接收连接的机器不知道*远程机器解析为它的 IP 地址以访问它的主机名。
它适用于 HTTP/HTTPS,因为 HTTP 协议将主机名作为请求的一部分。SMTP 或 IMAP 都不在请求中包含该信息。
*唯一的例外是如果连接使用 TLS 并包含一个 SNI 标头,该标头将包含远程计算机要连接的主机名。所以有可能
imaps