我有以下 BIND 区域文件,将 Web 服务器指向 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.
MX 记录应该解析xxx.xxx.xxx.xxx
为邮件服务器,但它却返回了xxx.xxx.xxx.xxx.domain.com
。我尝试在 A 记录中使用“mail”而不是“mail.domain.com”,并且尝试了尾随点和无尾随点的组合,认为相对路径和绝对路径可能是问题所在。但这一切都无济于事。我在这里遗漏了语法方面的一些明显问题吗?
答案1
我在尝试重新启动 BIND 后发现了问题,这导致服务器完全离线。这促使我运行了 named-checkzone,它指出 ftp 记录后面有一个错误的“。”(请参阅原始帖子中的“yyy.yyy.yyy.yyy。”)。这导致每次重新加载配置时都会忽略该文件。修复此问题后,区域文件已成功加载,DNS 查询现在按预期返回 MX 记录的“mail.domain.com”。感谢 Law29 和 Håkan Lindqvist 帮助我思考这个问题。