首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >后缀长dns查询

后缀长dns查询
EN

Server Fault用户
提问于 2015-04-30 09:41:07
回答 2查看 1K关注 0票数 3

我使用我的后缀服务器作为对另一个提供者的中继。我想找出为什么发送一封简单的邮件要花那么多时间。我计算出后缀对每封邮件执行完整的DNS查询(丢失30秒):

代码语言:javascript
复制
Apr 30 11:26:50 dev1 postfix/smtp[20917]: connecting to in.mailjet.com port 25
Apr 30 11:26:55 dev1 postfix/smtp[20917]: dns_query: in.mailjet.com (MX): OK
Apr 30 11:26:55 dev1 postfix/smtp[20917]: dns_get_answer: type MX for in.mailjet.com
Apr 30 11:26:55 dev1 postfix/smtp[20917]: dns_get_answer: type MX for in.mailjet.com
Apr 30 11:26:55 dev1 postfix/smtp[20917]: dns_get_answer: type MX for in.mailjet.com
Apr 30 11:26:55 dev1 postfix/smtp[20917]: dns_get_answer: type MX for in.mailjet.com
Apr 30 11:26:55 dev1 postfix/smtp[20917]: dns_get_answer: type MX for in.mailjet.com
Apr 30 11:26:55 dev1 postfix/smtp[20917]: smtp_addr_one: host smtp-ovhfr11.mailjet.com
Apr 30 11:26:55 dev1 postfix/smtp[20917]: lookup smtp-ovhfr11.mailjet.com type A flags 0
Apr 30 11:27:00 dev1 postfix/smtp[20917]: dns_query: smtp-ovhfr11.mailjet.com (A): OK
Apr 30 11:27:00 dev1 postfix/smtp[20917]: dns_get_answer: type A for smtp-ovhfr11.mailjet.com
Apr 30 11:27:00 dev1 postfix/smtp[20917]: smtp_addr_one: host smtp-ovhfr7.mailjet.com
Apr 30 11:27:00 dev1 postfix/smtp[20917]: lookup smtp-ovhfr7.mailjet.com type A flags 0
Apr 30 11:27:05 dev1 postfix/smtp[20917]: dns_query: smtp-ovhfr7.mailjet.com (A): OK
Apr 30 11:27:05 dev1 postfix/smtp[20917]: dns_get_answer: type A for smtp-ovhfr7.mailjet.com
Apr 30 11:27:05 dev1 postfix/smtp[20917]: smtp_addr_one: host smtp-ovhfr8.mailjet.com
Apr 30 11:27:05 dev1 postfix/smtp[20917]: lookup smtp-ovhfr8.mailjet.com type A flags 0
Apr 30 11:27:10 dev1 postfix/smtp[20917]: dns_query: smtp-ovhfr8.mailjet.com (A): OK
Apr 30 11:27:10 dev1 postfix/smtp[20917]: dns_get_answer: type A for smtp-ovhfr8.mailjet.com
Apr 30 11:27:10 dev1 postfix/smtp[20917]: smtp_addr_one: host smtp-ovhfr9.mailjet.com
Apr 30 11:27:10 dev1 postfix/smtp[20917]: lookup smtp-ovhfr9.mailjet.com type A flags 0
Apr 30 11:27:15 dev1 postfix/smtp[20917]: dns_query: smtp-ovhfr9.mailjet.com (A): OK
Apr 30 11:27:15 dev1 postfix/smtp[20917]: dns_get_answer: type A for smtp-ovhfr9.mailjet.com
Apr 30 11:27:15 dev1 postfix/smtp[20917]: smtp_addr_one: host smtp-ovhfr10.mailjet.com
Apr 30 11:27:15 dev1 postfix/smtp[20917]: lookup smtp-ovhfr10.mailjet.com type A flags 0
Apr 30 11:27:20 dev1 postfix/smtp[20917]: dns_query: smtp-ovhfr10.mailjet.com (A): OK
Apr 30 11:27:20 dev1 postfix/smtp[20917]: dns_get_answer: type A for smtp-ovhfr10.mailjet.com
Apr 30 11:27:20 dev1 postfix/smtp[20917]: begin in.mailjet.com address list
Apr 30 11:27:20 dev1 postfix/smtp[20917]: pref   10 host smtp-ovhfr11.mailjet.com/5.196.43.135
Apr 30 11:27:20 dev1 postfix/smtp[20917]: pref   10 host smtp-ovhfr7.mailjet.com/178.32.115.14
Apr 30 11:27:20 dev1 postfix/smtp[20917]: pref   10 host smtp-ovhfr8.mailjet.com/46.105.54.204
Apr 30 11:27:20 dev1 postfix/smtp[20917]: pref   10 host smtp-ovhfr9.mailjet.com/37.59.74.234
Apr 30 11:27:20 dev1 postfix/smtp[20917]: pref   10 host smtp-ovhfr10.mailjet.com/5.196.43.129
Apr 30 11:27:20 dev1 postfix/smtp[20917]: end in.mailjet.com address list
  • 为什么每个邮件都有这样的请求?
  • 将后缀配置为使用DNS条目提供的第一个MX是个好主意吗?(我怎样才能做到这一点?)
  • 有没有办法告诉后缀缓存所有这些DNS挖掘至少一个星期?
EN

回答 2

Server Fault用户

发布于 2015-04-30 11:43:25

  1. 您的主机似乎没有缓存dns查找。应该是这样的。
  2. 不是
  3. 您的操作系统(而不是后缀)应该缓存它需要的每一个DNS记录查找。NSCD是缓存“主机”查询的一个常见工具。
票数 3
EN

Server Fault用户

发布于 2015-05-01 08:00:02

默认情况下,参数smtp_主机_查找的值为dns。因此,后缀将始终尝试解析MX记录接收域以确定下一跳目的地。后缀依赖libc解析器进行查找,因此预期的行为将取决于库。例如,后缀也将通过在/etc/resolv.conf中定义的NS服务器进行查找。

根据上面的日志,看起来您在NS服务器上有问题。这是不正常的情况下,单一的DNS查找将需要最多5秒来返回结果。这里,in.mailjet.com的后缀查找MX记录时的日志相同。它只在2秒内完成了查找。

代码语言:javascript
复制
May  1 00:20:37 dewa postfix/smtp[4002]: dns_query: in.mailjet.com (MX): OK
May  1 00:20:37 dewa postfix/smtp[4002]: dns_get_answer: type MX for in.mailjet.com
May  1 00:20:37 dewa postfix/smtp[4002]: message repeated 4 times: [ dns_get_answer: type MX for in.mailjet.com]
May  1 00:20:37 dewa postfix/smtp[4002]: smtp_addr_one: host smtp-ovhfr9.mailjet.com
May  1 00:20:37 dewa postfix/smtp[4002]: lookup smtp-ovhfr9.mailjet.com type A flags 0
May  1 00:20:37 dewa postfix/smtp[4002]: dns_query: smtp-ovhfr9.mailjet.com (A): OK
May  1 00:20:37 dewa postfix/smtp[4002]: dns_get_answer: type A for smtp-ovhfr9.mailjet.com
May  1 00:20:37 dewa postfix/smtp[4002]: lookup smtp-ovhfr9.mailjet.com type AAAA flags 0
May  1 00:20:37 dewa postfix/smtp[4002]: dns_query: smtp-ovhfr9.mailjet.com (AAAA): Host found but no data record of requested type
May  1 00:20:37 dewa postfix/smtp[4002]: smtp_addr_one: host smtp-ovhfr10.mailjet.com
May  1 00:20:37 dewa postfix/smtp[4002]: lookup smtp-ovhfr10.mailjet.com type A flags 0
May  1 00:20:37 dewa postfix/smtp[4002]: dns_query: smtp-ovhfr10.mailjet.com (A): OK
May  1 00:20:37 dewa postfix/smtp[4002]: dns_get_answer: type A for smtp-ovhfr10.mailjet.com
May  1 00:20:37 dewa postfix/smtp[4002]: lookup smtp-ovhfr10.mailjet.com type AAAA flags 0
May  1 00:20:37 dewa postfix/smtp[4002]: dns_query: smtp-ovhfr10.mailjet.com (AAAA): Host found but no data record of requested type
May  1 00:20:37 dewa postfix/smtp[4002]: smtp_addr_one: host smtp-ovhfr11.mailjet.com
May  1 00:20:37 dewa postfix/smtp[4002]: lookup smtp-ovhfr11.mailjet.com type A flags 0
May  1 00:20:37 dewa postfix/smtp[4002]: dns_query: smtp-ovhfr11.mailjet.com (A): OK
May  1 00:20:37 dewa postfix/smtp[4002]: dns_get_answer: type A for smtp-ovhfr11.mailjet.com
May  1 00:20:37 dewa postfix/smtp[4002]: lookup smtp-ovhfr11.mailjet.com type AAAA flags 0
May  1 00:20:37 dewa postfix/smtp[4002]: dns_query: smtp-ovhfr11.mailjet.com (AAAA): Host found but no data record of requested type
May  1 00:20:37 dewa postfix/smtp[4002]: smtp_addr_one: host smtp-ovhfr7.mailjet.com
May  1 00:20:37 dewa postfix/smtp[4002]: lookup smtp-ovhfr7.mailjet.com type A flags 0
May  1 00:20:37 dewa postfix/smtp[4002]: dns_query: smtp-ovhfr7.mailjet.com (A): OK
May  1 00:20:37 dewa postfix/smtp[4002]: dns_get_answer: type A for smtp-ovhfr7.mailjet.com
May  1 00:20:37 dewa postfix/smtp[4002]: lookup smtp-ovhfr7.mailjet.com type AAAA flags 0
May  1 00:20:38 dewa postfix/smtp[4002]: dns_query: smtp-ovhfr7.mailjet.com (AAAA): Host found but no data record of requested type
May  1 00:20:38 dewa postfix/smtp[4002]: smtp_addr_one: host smtp-ovhfr8.mailjet.com
May  1 00:20:38 dewa postfix/smtp[4002]: lookup smtp-ovhfr8.mailjet.com type A flags 0
May  1 00:20:38 dewa postfix/smtp[4002]: dns_query: smtp-ovhfr8.mailjet.com (A): OK
May  1 00:20:38 dewa postfix/smtp[4002]: dns_get_answer: type A for smtp-ovhfr8.mailjet.com
May  1 00:20:38 dewa postfix/smtp[4002]: lookup smtp-ovhfr8.mailjet.com type AAAA flags 0
May  1 00:20:38 dewa postfix/smtp[4002]: dns_query: smtp-ovhfr8.mailjet.com (AAAA): Host found but no data record of requested type
May  1 00:20:38 dewa postfix/smtp[4002]: begin in.mailjet.com address list
May  1 00:20:38 dewa postfix/smtp[4002]: pref   10 host smtp-ovhfr9.mailjet.com/37.59.74.234
May  1 00:20:38 dewa postfix/smtp[4002]: pref   10 host smtp-ovhfr10.mailjet.com/5.196.43.129
May  1 00:20:38 dewa postfix/smtp[4002]: pref   10 host smtp-ovhfr11.mailjet.com/5.196.43.135
May  1 00:20:38 dewa postfix/smtp[4002]: pref   10 host smtp-ovhfr7.mailjet.com/178.32.115.14
May  1 00:20:38 dewa postfix/smtp[4002]: pref   10 host smtp-ovhfr8.mailjet.com/46.105.54.204

因此,从根目录中解决问题的最佳方法是找出为什么NS服务器需要5秒来查找DNS条目。

只使用MX记录的单个结果的解决方法在postfix中是行不通的。后缀将尝试从最佳偏好MX记录返回解析所有域的A记录in.mailjet.com的MX记录返回具有相同首选项的5台主机。所以后缀将从五个主机上查找一个记录。

为了加快DNS查询的速度,您可以使用NSCD并将smtp_host_lookup设置为native (正如安迪所建议的)。另一种选择是运行本地DNS缓存,如动力解束缚

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/686698

复制
相关文章

相似问题

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