我有以下BIND区域文件指向的networking服务器yyy.yyy.yyy.yyy和名称服务器和邮件服务器xxx.xxx.xxx.xxx:
$TTL 300 @ 86400 IN SOA ns1.domain.com. admin.gmail.com. ( 2016012708 ; serial, todays date+todays 86400 ; refresh, seconds 7200 ; retry, seconds 3600000 ; expire, seconds 86400 ) ; minimum, seconds domain.com. 86400 IN NS ns1.domain.com. domain.com. 86400 IN NS ns2.domain.com. ns1.domain.com. IN A xxx.xxx.xxx.xxx ns2.domain.com. IN A xxx.xxx.xxx.XXX domain.com. IN A yyy.yyy.yyy.yyy localhost.domain.com. IN A 127.0.0.1 domain.com. IN MX 0 mail.domain.com. mail.domain.com. IN A xxx.xxx.xxx.xxx domain.com. IN TXT "v=spf1 +a +mx +ip4:xxx.xxx.xxx.xxx ~all" www IN CNAME domain.com. ftp IN A yyy.yyy.yyy.yyy.
MXlogging应parsing为邮件服务器的xxx.xxx.xxx.xxx ,但返回xxx.xxx.xxx.xxx.domain.com 。 我已经尝试在Alogging中使用“mail”而不是“mail.domain.com”,并尝试使用尾随点与无尾点的组合,认为相对于绝对path可能是问题。 但是这一直是无济于事。 有什么明显的关于我在这里失踪的语法?
尝试重新启动BIND后发现问题,导致服务器完全脱机。 这促使我运行named-checkzone,指出错误的“。” 遵循ftplogging(请参阅原始文章中的“yyy.yyy.yyy.yyy。”)。 这导致文件在configuration重新加载时被忽略。 解决此问题后,区域文件已成功加载和DNS查询现在返回MXlogging的“mail.domain.com”,因为它们应该。 感谢Law29和HåkanLindqvist帮助我思考这个问题。