我们的办公室子网是10.1.10.0/24。
我有一个网关(10.1.10.1)将DNS请求转发到运行DNSmasq(10.1.10.2)的服务器。 我有一个IPsec隧道到我们母公司的networking(10.2.2.0/24)。
在10.1.10.2的resolv.conf中,我已经指定了两个(2)域名服务器,8.8.8.8(Google DNS)和10.2.2.2(母公司DNS)。
我的问题是,10.2.2.2还为另一个10.1.10.0/24服务。
这意味着有时反向DNS查找会返回外部10.1.10.0/24上的主机名,而不是我们的内部networking。 我们可以通过使用诸如dig或IP扫描器的工具来看到这一点。 此外,有时我们的OS X bash提示显示错误的主机名。
所以我build议的解决scheme是将10.1.10.0/24内的地址的所有反向DNS查找定向到10.1.10.2的内部查找表,但是我不知道如何去解决这个问题,或者如果这是正确的解决scheme。
我应该注意到我无法控制10.2.2.2。
编辑:我发现了另一种可能的解决scheme。 在将其添加为答案之前,我会对其进行testing。 假设10.1.10.1使用DNSmasq,我可以添加指定–bogus-priv选项。 由于10.1.10.1也是我们的DHCP服务器,因此对于10.1.10.0/24内不在DHCP租约文件内的主机的任何反向DNS查询,它应该返回“no such domain”。
试试这个:设置一个DNS服务器,将正确服务(和其他任何你想要的),但将其余的转发到10.2.2.2。 我假设你可以在客户端机器上将DNS从10.2.2.2更改为10.1.10.2。 如果你不能这样做,抓住路由器上的networkingstream量到10.2.2.2并redirect(当然10.1.10.2除外)。 这应该透明地工作。
使用dnsmasq –bogus-priv选项为我工作。 由于10.1.10.1也是我们的DHCP服务器,因此对于10.1.10.0/24内不在DHCP租约文件内的主机的任何反向DNS查询,它将返回“no such domain”。
来自dnsmasq(8):
-b,–bogus-priv伪装私有反向查找。 在/ etc / hosts或DHCP租约文件中找不到的私有IP范围(即192.168.xx等)的所有反向查找都是以“无此域”进行回答,而不是向上游转发。