我在这方面不太了解,但已经取得了很大进展。现在我陷入困境
我设置了自己的邮件服务器,例如 mailbox.example.com。我将域名 dns 指向我办公室的邮件服务器。我能够设置一切正常。例如 dkim 和 spf 记录。
最近我决定在办公室设置一个内部 DNS 服务器,以便在内部解析一些开发服务器的一些地址。
好的,现在的问题是我的邮件服务器位于内部 DNS 服务器上(邮件服务器与 DNS 服务器位于同一个盒子里)它仍然能够发送和接收电子邮件,但不确定 dkim 是否正常工作。
当我尝试执行 dkim 测试“amavisd 测试密钥”时,我收到“无效(公钥:不可用)”的提示,我知道这意味着我遇到了 dns 问题。
那么我该怎么办?我目前正在查看我的内部 dns 区域文件,但我不知道该怎么做(我在 ubuntu-server 框上使用绑定 dns 服务器)。
我是否要在本地 DNS 上配置 dkim txt 记录?或者有没有办法将 dkim“请求”转发到外部 DNS?或者我是否把整个过程都做错了?
要清楚
- 基本上我的内部域名与我的外部域名相同(即 example.com)
- 我的内部域 mailbox.example.com 内有一个邮件服务器,它使用我的外部域 dns(外部 dns 已设置为指向我的电子邮件服务器(当然现在位于我的内部 dns 后面))
- dkim(我不认为它能正常工作,因为它未通过 dkim 测试)
需要帮助确定正确的设置
设置它的正确方法是什么?
谢谢
更新:这是我的本地 DNS 区域文件
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA webserver.example.com. root.example.com. ( //dns and webserver on the same box
2012030809 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS webserver.example.com.
@ IN A 192.168.1.117
@ IN AAAA ::1
ns IN A 192.168.1.117
www IN A xx.xx.xx.xxx // ip of external domain box (bluehost) work around to let local clients access website
newsletter IN A xx.xx.xxx.117 // external ip address of local network
mailbox.example.com. IN A 192.168.1.111 // internal ip of mailbox (mailserver
webserver.example.com. IN A 192.168.1.117 //internal ip of a webserver
答案1
您的区域文件的本地版本显然缺少很多内容...即您的 MX 记录、DKIM,${deity} 知道还有什么。
解决此问题的三种方法(无双关语):
从外部 DNS 服务器复制整个区域,然后向其中添加内部开发服务器的 A 记录。
将内部开发服务器放在单独的区域,可能是子域。使 BIND 对该区域具有权威性,但不要对您的生产区域具有权威性。
为一个区域保留两个完全独立的区域文件版本。(即水平分割)。这样,您可以在网络内部使用内部(RFC 1918)IP 地址作为邮件服务器等,并在其他任何地方使用公共 IP 地址。只需确保您的公共区域中的每个 DNS RR 在您的内部区域中都有相应的 DNS RR,尤其是您的 MX RR、DKIM 密钥等。
嗨嗨。