MX记录指向具有两个不同IP的记录

分享于 

3分钟阅读

互联网

 

问题:

我的问题很简单,只需要一个可靠的答案,这样我就不会破坏电子邮件服务。

我有两个服务器一个用于邮件,另一个用于web服务。 web服务器负责SSL证书续订( 我正在使用让我们加密证书颁发机构)。

我的DNS记录是 mail.example.com,指向邮件服务器 IP。 MX记录指出一条记录。

SSL证书验证是通过DNS进行的,因这里我添加了一个具有相同主机名 (mail.example.com)的记录,但是指向。

这是一个很好的例子,但是我不确定它,并给我带来了以下两个想法:

1 - 后来添加了web服务器的记录,因这里在DNS查询中,邮件服务器IP首先出现。

2 - 我读到在浏览器中的DNS查询结果以随机顺序使用。 如果第一个IP不能提供HTTP请求,第二个将被。 我不确定这一点,但对于邮件服务,同样发生了? 如果第一个IP解析不接受邮件,它将尝试第二个?

为了避免将来发生的问题,我想澄清这一点,因为我不确定发生了什么,以及为什么要阻止未来的问题。


回答 1:

你已经创建了一个 DNS循环。

除非打算让它们指向同一服务,否则不要用相同的NAME 创建多个记录。 通过在邮件服务器上设置最小的web服务,或者在两台服务器前面加载负载平衡器/反向代理。 后者使管理证书变得更加繁琐。


回答 2:

Mickael对 DNS round-robin是正确的。 另一个选项是通过DNS而不是HTTP请求验证域。 检查这个链接从认证网站验证如何使用他们的软件执行DNS验证。 如果你所需要的全部是域验证,那么你可以完全删除web服务器。


回答 3:

这是一个错误的方法,让我们对没有安装的web服务器的邮件服务器的证书进行加密。

相反,你应该使用独立的certbot插件。 这样,certbot就可以启动自己的临时web服务器来执行HTTP验证。

请求 NAME 对应于MX记录值的证书。 例如,如果你的域 example.com 和你的MX记录指向 mail.example.com,,那么你将请求 mail.example.com,的证书,它的中必须指向该邮件服务器。

例如:


certbot certonly --standalone -d mail.example.com



然后,你可以将 /etc/letsencrypt/live 中生成的证书链接添加到邮件服务器配置中。

注意,当你 certbot renew 时,你的邮件服务器不会自动重新启动。 你需要设置一个 --post-hook 来完成这个任务。 例如:


certbot renew --post-hook"systemctl reload postfix dovecot"



有关自动证书续订的详细信息,请参阅 Cron作业,以便加密续订电子邮件。



记录  poi    Mx记录  
相关文章