我最近启动并运行了我的第一个 BIND 服务器,它运行起来后我做的第一件事就是将一些配置文件复制到我的虚拟机中。
编辑:这些服务器永远不会并行运行。我只在启动 Windows 时运行虚拟服务器,所以我希望它们看起来相同。它们具有相同的 MAC 地址、IP 地址和主机名。
我有一个静态 IPv6 地址和一个合法的 DNS 名称,并且担心我配置的第二个 BIND 服务器永远不会被任何其他 DNS 客户端/解析器或服务器信任。
我需要将哪些文件从受信任的服务器复制到被视为中间人的机器?
我计划阅读本 O'Reilly 章节,但对于此时此刻来说,它看起来太重了……
就我而言,两台机器都运行 Ubuntu Server,以及来自主 apt 存储库的最新 BIND9 版本。
更新:将 /etc/bind/ 中的所有内容从正确验证的机器(虚拟机)复制到另一个(物理)分区后,我仍然遇到 ipv6 客户端的动态 dns 更新问题。
服务器正在运行 Teredo IPv6 隧道接口 (tspc) 和路由器广告守护程序 (radvd),以将 IPv6 隧道广告到我网络上的其他机器。为了在演示问题的同时说明它的潜力,在 Windows 客户端上:-
> ipconfig /renew
Wireless LAN adapter Wireless Network Connection:
Connection-specific DNS Suffix . : example.com
IPv6 address. . . . . . . . : 2001:<48bits>::random64bits <From Server>
Temporary IPv6 Address . . . . : 2001:<48bits>::2ndrandom64bits<also from server>
Link-Local IPv6 Address . . . . : fe80::<64bits>%10
Ipv4 Address
....
Tunnel adapter Teredo Tunneling Pseudo-Interface:
Connection-specific DNS Suffix . : 2001: completely random 112 bits
Link-local IPv6 Address . . . . : fe80::another random address
Default gateway . . . . . . :
Tunnel adapter isatap.example.com:
Media State . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . : example.com
当我ipconfig /renew
在 Windows 客户端上运行该命令时,我在绑定服务器日志中看到此错误:-
2011 年 8 月 5 日 22:21:14.946 更新安全:错误:客户端 fe80::<Link-local IPv6 地址>%2#57124:查看内部视图:更新“example.com/IN”被拒绝
这看起来像是配置错误,但我从未在虚拟机上看到过此错误。我对相关视图和转发区域设置的更新限制是:-
allow-update { key "rndc-key"; };
使用 rndc-key 时,我必须在 /var/cache/bind/ 中创建一个密钥文件,即:-
touch /var/cache/bind/<reallylongnumber>.mkeys
;
否则我会在绑定日志中收到“文件未找到”错误。本质上,我复制了错误日志中看到的文件名,该名称表示找不到,然后创建一个空文件。
我尚未检查 /var/cache/bind 中的这些文件名在物理机和虚拟机上是否相同。我很确定它在虚拟机上也是空的,虽然不知道名称是否是随机生成的(然后缓存)...
所以我想知道是否还有其他缓存(我查看了 /var/cache 和 /var/run)存储了与这些 rndc-keys 相关的其他信息或其他内容(机器 SSL 证书?)。
否则,这可能是客户端不信任服务器的问题吗?经过仔细检查,虚拟服务器和物理机的 MAC 地址并不相同。这对客户来说会不会看起来像是一个被入侵的系统?我是否应该只更改主机名但保留相同的 IP 地址以保持 DNS 解析?
也许还有用,我今天发现了这个 BIND 选项 -multi-master yes ;
虽然我想象它是针对主机同时运行的。。
对最简单(也是最佳)选项有什么想法?任何和所有的建议都表示感谢...
答案1
每https://help.ubuntu.com/community/BIND9ServerHowto
为了备份你的 BIND 配置,请备份/etc/bind因为看起来 Ubuntu 端口删除了该目录中的所有内容。
答案2
您的第二台服务器必须托管从属区域,而不是主服务器。只有第一台服务器可以成为该区域的主服务器 (SOA)。您需要将第二台服务器配置为从属服务器,并让它从主服务器接收区域记录,而不是复制区域文件。无论如何,您需要两个公共 IP 才能将 2 台服务器联机。