首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为两个服务器正确配置DNS :一个用于web,另一个用于邮件?

问如何为两个服务器正确配置DNS :一个用于web,另一个用于邮件?
EN

Server Fault用户
提问于 2018-02-25 18:57:44
回答 2查看 143关注 0票数 0

对于电子邮件服务器,我使用iredmail。我有以下设置的电子邮件服务器:

代码语言:javascript
复制
# /etc/hostname
mail

# /etc/hosts
127.0.1.1 mail.mydomain.com mail
127.0.0.1 localhost

因此,FQDN是mail.mydomain.com。

这里我找到了我使用过的示例,但是通过这些示例,我的服务器可以发送电子邮件,但无法接收到:

代码语言:javascript
复制
Type     Name                Value                                  TTL
A         @                  195.201.40.1                           1 hour  # Web server
A         mail               195.201.40.2                           1 hour  # Mail server
MX        @                  mail.mydomain.com (Priority: 10)       1 hour
TXT       @                  v=spf1 ip4:195.201.40.2 -all           1 hour
TXT       @                  v=DMARC1; p=reject; sp=reject;...      1 hour
TXT       _adsp._domainkey   dkim=all
TXT       dkim._domainkey    v=DKIM1; k=rsa; p=MIGfMA0GCSq...

然后我改变了:

代码语言:javascript
复制
MX        @   mail.mydomain.com (Priority: 10)  1 hour

至

代码语言:javascript
复制
MX        mail    mail.mydomain.com (Priority: 10)  1 hour

邮件服务器开始接收电子邮件。

我有两个问题:

1)据我所知,外部电子邮件服务(例如gmail)向mydomain.com发送邮件,而不是向mail.mydomain.com发送邮件,因为我的电子邮件地址看起来像somename@mydomain.com,而不像somename@mail.mydomain.com。为什么将@改为mail解决了接收电子邮件的问题?

我将record MX @ mail.mydomain.com理解为:“外部电子邮件服务,如果您向somename@mydomain.com发送电子邮件(@ = mydomain.com),然后使用FQDN mail.mydomain.com向服务器发送电子邮件”,但我的逻辑似乎行不通。为什么?

这里我们可以看到主机名可以是@,具有不同的FQDN。为什么在我的情况下它不起作用?

2)对于TXT记录,我应该提供什么名称?@或mail,即域名或主机名?如果是mail,这是否意味着如果我有10台邮件服务器,对于所有这些服务器,我都需要创建自己的TXT记录?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2018-02-26 00:56:55

我已经把你的DNS记录翻译成绑定格式了。除非您正在更改条目,否则不需要为条目指定TTL。

我把SPF记录转换成了最简单的形式。A规则用于mail记录,用于SPF -helo检查。www的规则指出,不应该从www子域发送电子邮件。

您的域的条目,子域如下。(请注意MX记录末尾的点。如果它缺失了,您应该只使用mail)。

代码语言:javascript
复制
 @       IN  A    195.201.40.1
         IN  MX   mail.mydomain.com.
         IN  TXT  "v=spf1 mx -all"

标准服务邮件和www (一些浏览器将尝试www,即使它没有在条目中提供)。

代码语言:javascript
复制
 mail    IN  A    195.201.40.2 
         IN  TXT  "v=spf1 a -all"
 www     IN  A    195.201.40.1 
         IN  TXT  "v=spf1 -all"

为DMARC配置配置报告。在报告显示您没有问题之前,我不会使用reject策略。您可能希望以none作为您的策略。

代码语言:javascript
复制
 _dmarc  IN  TXT  "v=DMARC1; p=reject; sp=reject;..."
 *._report.dmarc  IN TXT "v=DMARC1"

DKIM的配置。_adsp似乎已经不在标准轨道上了。用签名时使用的密钥名替换dkim。

代码语言:javascript
复制
 _adsp._domainkey IN  TXT dkim=all
 dkim._domainkey  IN  TXT  v=DKIM1; k=rsa; p=MIGfMA0GCSq...
票数 1
EN

Server Fault用户

发布于 2018-02-25 20:56:17

1)邮件将发送到MX记录中为电子邮件地址主机名部分指定的主机名。例如,当邮件发送到someone@gmail.com时,会发生以下情况:

配置的MX记录中有一个用于gmail.com:

代码语言:javascript
复制
# dig mx gmail.com +short | head -n 1
5 gmail-smtp-in.l.google.com.

电子邮件被传送到相应邮件服务器的IP地址:

代码语言:javascript
复制
# dig gmail-smtp-in.l.google.com +short
173.194.221.27

在您的示例中,由于初始配置看起来不错,所以不清楚问题是如何解决的。尝试检查哪个MX服务器负责您的域名以及它所指的使用公共DNS的IP地址:

代码语言:javascript
复制
# dig mx mydomain.com @8.8.8.8 +short
mail.mydomain.com
# dig mail.mydomain.com @8.8.8.8 +short

2) SPF记录应提供域名(不含mail.部分)。至于DKIM和DMARC,也应在域名中添加前缀(不包括mail.部分),例如:

代码语言:javascript
复制
TXT       _dmarc             v=DMARC1; p=reject; sp=reject;...
TXT       dkim._domainkey    v=DKIM1; k=rsa; p=MIGfMA0GCSq...
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/898804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档