我在同一台服务器上运行 apache 和 bind9。我想设置一个主区域以路由回此计算机的 IP 地址,而无需明确指定它。这可以吗?
如果我使用 127.0.0.1 作为 A 记录,那么当网络上的另一台计算机对 mydomain.local 进行 nslookup 时,bind 当然只会返回环回 ip (127.0.0.1) - 而不是服务器的 IP。
有没有办法告诉它只返回服务器本身的网络 IP 地址,如 /etc/network/interfaces 中所定义?
答案1
这是我新格式化的回复。
您可以针对更改本地 IP 地址做几件事。
选项 1 - dnsmasq + hosts + subzone
您可以在此子区域上将所有其他名称定义为 CNAME,您可以从同一服务器中的 dnsmasq 进行配置。
有了它,你就可以在 IP 发生更改时触发一些 ssh 脚本,该脚本将自动更改远程服务器上的 hosts 文件并重新启动 dnsmasq
选项 2 - DNS 动态区域
您可以使用 dns 动态更新来配置您的本地区域以接受来自授权客户端的更改,使用 CNAME 执行与选项一相同的操作,并为您的服务器提供具有非常低 TTL 的动态条目,然后在您的机器中创建一个检查您的 IP 的脚本,如果不同则继续更新。
我更喜欢选项 2,它更简洁,并且使用了 bind 中一个未得到充分利用且非常棒的功能。