具有不同networking的多个DNSlogging

所以我有Ubuntu 14.04虚拟机在OpenStack环境中运行。 DNS机器有一个外部IP(10.14.6.3)和一个内部IP(192.168.1.3)。 我有两个其他机器在同一个项目[h1]有一个外部IP(10.14.6.4)和一个内部IP(192.168.1.4)和[n1]有一个外部IP(10.14.6.5)和内部IP(192.168 .1.5)。

h1和n1在其resolv.conf中设置DNS机器的IP,并且可以正确parsing。

我也设置了我的本地机器(OpenStack之外)使用10.14.6.3作为我的DNS服务器。

在DNS机器绑定数据库文件,我有以下条目:

h1 IN A 192.168.1.4 h1 IN A 10.14.6.4 n1 IN A 192.168.1.5 n1 IN A 10.14.6.5 

指针文件具有以下内容:

 1 IN PTR h1. 2 IN PTR h1. 3 IN PTR n1. 4 IN PTR n1. 

我的本地机器只能和10.14子网通话。 我希望h1和n1通过192.168子网(而不是10.14)解决对方。

大多数时候,这个工作正常。 如果我从n1 ping h1,它将parsing为192.168.1.4如果我从本地机器ping h1,它parsing为10.14.6.4

然而,偶尔,如果我从任一台机器ping,其他IP将被使用。 有时我的本地机器将h1parsing为192.168.1.4,这是行不通的。

我的问题是,有没有办法强制顺序解决不使用本地主机文件? 我希望OpenStack中的机器通过本地IP 192.168.xx互相解决。我希望OpenStack外部的机器通过机器外部IP 10.14.xxparsing名称

我不是很清楚你想要什么,但是在一个单独的区域中有相同资源logging的多个条目,例如:

 h1 IN A 192.168.1.4 h1 IN A 10.14.6.4 

被称为循环法DNS ,其效果与您所描述的完全相同,有时在访问主机h1时使用ip-address 192.168.1.4,另一次使用10.14.6.4

我希望OpenStack中的机器通过本地IP 192.168.xx互相解决。我希望OpenStack外部的机器通过机器外部IP 10.14.xxparsing名称

您可以通过使用水平分割DNS来解决这个问题,它允许根据DNS请求的起源地址来parsing相同的主机名,或者为每个IP地址(例如h1.int.example.com.一个唯一的名称h1.int.example.com.h1.ext.example.com.