我有两台运行 CentOS 6.5 版 (Final) 的服务器。其中一台安装了 FreeIPA:
Name: freeipa.fi.example.com
IP: 192.168.99.50
另一个 Zimbra 作为邮件服务器:
Name: freeipa.fi.example.com
IP: 192.168.99.2
在 FreeIPA 中,我创建了一个 mx 记录,然后更新更改。
DNS 对两个服务器都运行良好,但对 mx 注册表则不然:
nslookup freeipa.fi.example.com
Server: 192.168.99.50
Address: 192.168.99.50#53
Name: freeipa.fi.example.com
Address: 192.168.99.50
nslookup zimbra2014.fi.example.com
Server: 192.168.99.50
Address: 192.168.99.50#53
Name: zimbra2014.fi.example.com
Address: 192.168.99.2
nslookup
> set q=mx
> fi.example.com
Server: 192.168.99.50
Address: 192.168.99.50#53
*** Can't find fi.example.com: No answer
事实上,该查询对该区域不起作用:
nslookup fi.example.com
Server: 192.168.99.50
Address: 192.168.99.50#53
*** Can't find fi.example.com: No answer
从我的记录中添加信息:
@
NS
freeipa.fi.example.com.
MX
MX
1 zimbra2014
_kerberos
TXT
FI.EXAMPLE.COM
_kerberos-master._tcp
SRV
0 100 88 freeipa
_kerberos-master._udp
SRV
0 100 88 freeipa
_kerberos._tcp
SRV
0 100 88 freeipa
_kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs
SRV
0 100 88 freeipa
_kerberos._tcp.dc._msdcs
SRV
0 100 88 freeipa
_kerberos._udp
SRV
0 100 88 freeipa
_kerberos._udp.Default-First-Site-Name._sites.dc._msdcs
SRV
0 100 88 freeipa
_kerberos._udp.dc._msdcs
SRV
0 100 88 freeipa
_kpasswd._tcp
SRV
0 100 464 freeipa
_kpasswd._udp
SRV
0 100 464 freeipa
_ldap._tcp
SRV
0 100 389 freeipa
_ldap._tcp.Default-First-Site-Name._sites.dc._msdcs
SRV
0 100 389 freeipa
_ldap._tcp.dc._msdcs
SRV
0 100 389 freeipa
cliubuntu
A
192.168.99.100
SSHFP
1 1 910E5A8D2BFDC24FCBEA45B226C4207FE81C86FD
SSHFP
1 2 618A4FBDB24C7901419994277CA661D7D16428D6A5F411D64EB4F487 07144CFC
SSHFP
3 1 CEEDC3C8A58D7DE59C8F60FCBDF13CCBF19F35D4
SSHFP
3 2 C1AA6110C2E488728D38B655ADC8D9700B6A409998FC7740A58BC0D8 EAC8F430
SSHFP
2 1 E2D3038DEA31D5083E1778204BD9F1EF9A6FE732
SSHFP
2 2 3F10D2F1ABFBDB8FB3460010D18B8ABD9E370CD2324362A7C31579C5 0E9BF8C0
freeipa
A
192.168.99.50
SSHFP
1 1 462CCB5D17640703E0731BCF4A1454862967EEA3
SSHFP
2 1 65517CB8AB7ABAC3A27E9F4700071AFC09D165EF
zimbra2014
A
192.168.99.2
MX
1 zimbra2014
SSHFP
1 1 04DA2757EC4999C2609D1706F622EF18F4A86654
SSHFP
2 1 E671A5DD87C98EFCBC966899454FAAA620720F51
SSHFP
1 1 15D9E62B7D6169544C6F28BC385E2F482C6E92E4
SSHFP
2 1 6881D66C21E879DA5A0C6B1732A2EB02BC347CAC
我找了好久还是没解决。你怀疑是这个配置中缺少什么吗?
非常感谢您的帮助 :)。您好!
答案1
这可能是一个长远的目标,而且我也不是狂热的 DNS 管理员,但我已经为我的内联网设置了几次 DNS 服务器。有时我无法让dns
我的内联网服务器解析地址 - 特别是在我手动添加一些新的永久 DNS 条目之后。
这些情况下的问题是文件中的一些混淆.jnl
。在这些情况下,我所做的是
停止 DNS 服务器
*.jnl
从 /var/named/ 中删除文件重新启动
dns
服务器。
答案2
我不太了解 FreeIPA,但我很了解 BIND,因为我(至少部分时间)在公司担任 DNS 管理员。
在您上面显示的区域文件中,MX 记录似乎出现在 NS 记录之后,但我没有看到区域的具体说明。我会检查以确保 FreeIPA 知道您的父区域是什么 (fi.example.com),一旦您这样做,我怀疑 MX 记录就会显示出来。
当您尝试查找 NS 记录时是否会发生同样的事情?根据我的观察,很可能会发生。
在 BIND 中,您可以在开始时指定 $ORIGIN,以告诉 BIND 此文件用于 X(在我的示例中为 example.com)域。一旦确定,您就可以告诉它 NS 和 MX 记录等信息的位置。
以下是我在 CentOS 网站上找到的一个简单示例:
(从http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-bind-zone.html)
$ORIGIN example.com.
$TTL 86400
@ IN SOA dns1.example.com. hostmaster.example.com. (
2001062501 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
IN NS dns1.example.com.
IN NS dns2.example.com.
IN MX 10 mail.example.com.
IN MX 20 mail2.example.com.
server1 IN A 10.0.1.5
server2 IN A 10.0.1.6
dns1 IN A 10.0.1.5
dns1 IN A 10.0.1.6
我感兴趣的部分是 MX 记录“IN MX”,这里显示 mail.example.com 是 example.com 的 MX。正如我上面所说,确保 FreeIPA 知道您的父区域是什么,看看这是否有帮助。