在单个服务器上的Web和邮件是否需要单独的dns记录?


13

在单个服务器或具有一个IP地址的VPS上设置Web /邮件服务器时,几乎每个在线指南都遵循与DNS相同的结构:

example.com.               IN A    192.0.2.0  
hostname.example.com.      IN A    192.0.2.0  
mail.example.com.          IN A    192.0.2.0  
example.com.               IN MX   10 mail.example.com.  
0.2.0.192.in-addr.arpa.  IN PTR  hostname.example.com  

我使用了几次,它一直为我工作。但是我想知道邮件服务器指向其他名称是否有原因?是否可以将MX记录指向主机名,而仅将hostname.example.com用于SMTP和POP3?


7
请使用192.0.2.0/24作为IP地址示例。(这些保留用于文档,例如example.com。请参阅RFC5737。)
billpg 2012年

我爱科幻,我每天都学到新东西。谢谢你,billpg!
MadHatter

@billpg感谢您的提示。这是我的第一个问题,因此我仍在学习绳索。
杰夫

Answers:


20

是的,这是有可能的,但是如果您选择这样做,将会失去一些重要的优势:

如果将所有服务指向相同的DNS名称,则不能将它们再放置到单独的服务器上,除非重新配置引用它们的任何客户端。

例如:使用不同的名称,当服务器上的负载增加过多时,您可以简单地将邮件服务卸载到另一台服务器上,而不会影响客户端。您要做的就是调整您的DNS记录。


可以在以后添加MX DNS记录,所以我看不到您为什么松了一些东西。
Mircea Vutcovici 2012年

1
如果您告诉客户在example.com上可以同时访问Web服务器和IMAP / POP3服务器,并且之后需要将它们分开,那么以后如何在帮助下添加MX记录呢?从一开始就正确执行此操作,以后再也不会遇到麻烦,因为您懒得在DNS区域中再添加两三行。
斯文

@MirceaVutcovici的重点是能够更改基础基础结构而不必更改所有客户。
pc1oad1etter 2012年

@MirceaVutcovici添加或更改MX记录不会更改客户端寻找其邮件服务的位置。据我了解,MX记录仅用于传递和路由,不供客户端使用。
mp3foley 2012年

我只是好奇是否需要一个单独的名称,所以似乎答案是没有。但我同意它具有管理上的优势。
杰夫

4

根据rfc5321,如果缺少MX ,则将邮件传递到A地址。因此,SMTP不需要以下行即可工作:

mail.example.com.          IN A    192.168.0.1  
example.com.               IN MX   10 mail.example.com.  

另请参阅:http : //en.wikipedia.org/wiki/MX_record#History_of_fallback_to_A


此外,如果MX记录存在,他可以根据需要将其指向hostname.example.com。
马特

您不能从中获得任何好处,却失去了很多灵活性,那么为什么还要打扰呢?就像我上面说的,从一开始就做。
斯文

由于并非每个人都有自己的服务冗余(请考虑使用小型博客作者的用例),因此邮件服务器也可以使用冗余。为何您认为编辑DNS如此灵活?
Mircea Vutcovici 2012年

1
@MirceaVutcovici:很抱歉,但是如果您出于不同的目的使用相同的主机名并且将来出于任何原因需要将这些服务分开,那么您必须更改所有客户端这一事实让您很难理解吗?以您的方式进行操作完全不会获得任何收益,以后您可能会遇到问题。专业的方法(只有这才与ServerFault息息相关)是创建一个合理的DNS基础结构,避免此类愚蠢的陷阱。
斯文

4

您可以为邮件服务器使用任意主机名,但确实需要有一个MX条目。

话虽如此,我确实喜欢为不同的角色使用单独的名称的想法。首先,如果/当需要更改主机时,您可以更好地控制DNS,并且由于外部DNS缓存而导致的问题更少。


3
从技术上讲,您不需要MX记录。
joeqwerty 2012年

很公平; 更新的答案以反映
gWaldo 2012年

4

您的邮件服务器将需要一条PTR指向它的记录。这将使反向DNS起作用。我不信任使用二级域名的邮件服务器,example.com因为太多垃圾邮件发送者试图声称其名称是大域名域名之一。最好使用这样的名称mail.example.com。如果您使用,请在主域中mail.example.com添加一个MXexample.com表示mail.example.com将收到邮件。顺便说一句,条目mail.example.comexample.com不能CNAME

您可以在一个域名上运行所有内容。但是,如果我说服您使用mail.example.com邮件服务器,则可能要使用www.example.comWeb服务器而不是mail.example.com。如果您使用www.example.com它,将很容易为静态内容添加并行域,该静态域不会从您的Web服务器接收cookie。

通常有父域的IP地址,example.com解析为Web服务器的地址。如果您的网络流量不多,则可以为您的网络域使用CNAME记录。上面未列出的其余服务(例如POP和IMAP)可以由CNAME记录处理。如果以后添加其他服务器,则可以用A记录替换CNAME记录,或者只是调整CNAME记录。使用CNAME记录可轻松添加IPV6,因为您无需向所有域添加AAAA记录。

我喜欢有一个主机名的DNS记录。如果这样做,您可以使用该域而不是mail作为您的域MX。在您的示例中,我将删除该mail.example.com记录并hostname.example.com在您的MX记录中使用。为添加一个CNAME记录www.example.com,您就做得很好。

您的邮件服务器应使用该PTR服务器使用的记录名称。您可能需要让您的IP提供商进行PTR适当的更改。A还要为该名称添加一条记录。

考虑为hostname.example.com和添加SPF记录example.com

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.