我们的 Mikrotik (RouterOS 6.36) 上有 DNS 服务器。
[admin@xxx] /ip dns> print
servers: 10.0.10.3,8.8.8.8
dynamic-servers:
allow-remote-requests: yes
max-udp-packet-size: 4096
query-server-timeout: 2s
query-total-timeout: 10s
cache-size: 10240KiB
cache-max-ttl: 1w
cache-used: 243KiB
[admin@xxx] /ip dns>
有它应该询问的 DNS 服务器列表。如果找不到记录,我希望它首先询问 10.0.10.3,而不是询问 8.8.8.8?
问题是,10.0.10.3 是我们的内部 DNS 服务器,带有一些本地地址。这些在 8.8.8.8 上不可用
当我列出两个服务器时,地址的 nslookup 失败。当我删除谷歌(8.8.8.8)并只留下我们的内部时,它可以工作。
为什么在 RouterOS 上不遵守服务器的顺序?
我尝试下订单 10.0.10.3,8.8.8.8 或 8.8.8.8, 10.0.10.3 ,没关系。
有任何想法吗?谢谢
如果您有需要解析的内部名称,则不应定义任何外部 DNS 服务器。为 HA 创建第二个内部 DNS 服务器,并将其与其他内部服务器一起列出,并在内部路由器配置中列出这两个服务器。
当有一个名称服务器列表时,它不会像您想象的那样工作:只有在第一个根本没有回复时才查询第二个。如果第一个名称服务器确实回复说找不到记录,也就是 NXDOMAIN,那么搜索将在此处停止,以后的名称服务器将不会被使用。
它通常建议不要混合内部私有名称服务器和公共名称服务器,这肯定会产生奇怪的交互。
如果您只有少数本地主机名,那么您可以将它们作为静态条目添加到 Mikrotik 上,并用 Mikrotik 完全替换您的内部 DNS 服务器。当客户端向 Mikrotik 发送一些 DNS 查询时,路由器将首先检查其静态条目,如果没有命中,它将询问已配置的外部 DNS 服务器。
添加一些静态条目:
您甚至可以使用正则表达式。例如,如果您有一个带有多个虚拟 www 主机的内部网络服务器: