如何为我的 VPS 创建 DNS 记录

How to create DNS records for my VPS

首先我应该提到我对 DNS 世界还很陌生。我已经购买了一个 VPS 计划,我正在尝试 运行 一个网络服务器和一个自定义邮件服务器(postfix 和 dovecot 组合),结果证明这是一个真正的痛苦。我知道我可以通过使用 Google 应用程序服务让我的生活更轻松,但我仍然希望能够自己做。

我被所谓的 DNS 记录困住了,据我所知,我应该首先为我的 mail.mydomain.com 创建一个 A 记录,然后再创建一个 MX 记录,对吗?我检查了我的托管服务提供商提供的每个选项,但不幸的是我找不到任何东西。

如果我运行:

nslookup -q=mx mydomain.com

它给了我:

Non-authoritative answer: mydomain.com mail exchanger = 10 mail.mydomain.com

对于 "Authoritative answers" 我一无所获。

所以第一个问题:“'Authoritative answers' 是 mydomain.com 本身的答案,为了能够给出这样的答案,我应该 运行 我自己的 DNS 名称服务器,并且有所谓的 'zones file' 我在其中设置了这些记录,对吗?”。

接下来的问题是:"to be able to do it I should have 'bind' software package installed, right?".

另一个问题:"if haven't done any of it how come I get 'Non-authoritative answer' for my MX query? Does it mean I already have one MX record from my service provider?"。

最后一个问题是,因为它是针对自定义邮件服务器的,如果您熟悉的话:"could you tell me why do I have to have a reversed domain record (I think it is called PTR) in order to avoid my mail get landed in spam folder?"

你得到Non-authoritative answer是因为你没有从域的名称服务器查询记录,结果可能包含IP。

这个结果和你的相似。

$ nslookup -q=mx google.com
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
google.com      mail exchanger = 30 alt2.aspmx.l.google.com.
google.com      mail exchanger = 20 alt1.aspmx.l.google.com.
google.com      mail exchanger = 40 alt3.aspmx.l.google.com.
google.com      mail exchanger = 50 alt4.aspmx.l.google.com.
google.com      mail exchanger = 10 aspmx.l.google.com.

Authoritative answers can be found from:
alt3.aspmx.l.google.com internet address = 173.194.204.26
alt4.aspmx.l.google.com internet address = 74.125.141.26
alt2.aspmx.l.google.com internet address = 173.194.219.27
aspmx.l.google.com      internet address = 74.125.25.26
alt1.aspmx.l.google.com internet address = 74.125.193.27

所以我们可以找到目标域的名称服务器。

$ nslookup -q=ns google.com
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
google.com      nameserver = ns3.google.com.
google.com      nameserver = ns1.google.com.
google.com      nameserver = ns2.google.com.
google.com      nameserver = ns4.google.com.

Authoritative answers can be found from:
ns3.google.com  internet address = 216.239.36.10
ns2.google.com  internet address = 216.239.34.10
ns1.google.com  internet address = 216.239.32.10
ns4.google.com  internet address = 216.239.38.10

然后我们就可以得到权威的答复

$ nslookup -q=mx google.com ns1.google.com
Server:         ns1.google.com
Address:        216.239.32.10#53

google.com      mail exchanger = 40 alt3.aspmx.l.google.com.
google.com      mail exchanger = 10 aspmx.l.google.com.
google.com      mail exchanger = 30 alt2.aspmx.l.google.com.
google.com      mail exchanger = 50 alt4.aspmx.l.google.com.
google.com      mail exchanger = 20 alt1.aspmx.l.google.com.

作为你发的样本,你可以确认mail.mydomain.com是否指向了一个IP(所谓的A记录),如果MX&A记录正确,邮件相关的服务可能就OK了。

在维护 DNS 记录之前,您应该找出您域的名称服务器。

我猜你的服务提供商(或其他人)已经为你的域设置了 MX 记录,你可能会从你的服务提供商那里得到更多的答案。