例:
foobar.myhost.com =>公共IP 222.xxx和专用IP 192.xxx
我知道我可以使用/ etc / network / hosts文件来定义所有“私有LAN”主机名,但这非常麻烦且错误.因为我必须保持所有这些文件同步.
什么是使用标准公共DNS记录(我的域名)的最佳实践/您的选项还列出私人名称?这有意义吗?然而,这确实重新调整了我的私有LAN的结构,这是好的吗?然后,公共DNS记录还将列出私有IP(这是我以前从未见过的).
最大的问题是:实际上我想拥有一个主机名,但这个主机名同时具有公共私有IP地址.是否有可能在DNS记录(同名foobar.myhost.com)中定义这两者,但后来在私有和pubplic IP地址之间进行区分?
任何好的Blogpostings /最佳实践/文章/意见非常感谢.
谢谢
延
解决方法
以下是我使用的一些解决方案:
我最喜欢的解决方案是为这些服务器创建一个DNS子区域,可能称为“private.example.com”.然后“example.com”中具有私有IP地址的服务器列在“private.example.com”区域中.然后配置您的/etc/resolv.conf(可能通过DHCP),这样当您连接到专用网络时,您的DNS搜索路径就是“private.example.com example.com”.现在,如果您尝试访问“主机名”,它将首先尝试查找“hostname.private.example.com”.然后是“hostname.example.com”.因此,您在该域中没有私有IP的任何主机,您不必在多个位置列出.您还可以通过说“hostname.example.com”以及类似的私有IP来明确引用公共IP.但如果您只是说“主机名”,它将搜索匹配项.
注意:如果第三方意识到存在“private.example.com”区域,他们可以查询或“挖掘”它并查看IP寻址.根据您的具体要求,您可能会关注此信息的显示,但根据我的需要,显示某些私有IP地址从未成为问题.
您可以配置BIND调用“视图”的内容. Here’s a link to another question that shows an example configuration of views.基本上,您配置访问控制列表,说明根据请求的IP地址来回答请求的区域文件.因此,如果您收到来自专用网络的请求,您可以使用私有IP进行响应.但是,视图可能难以配置和维护.还有一个问题是在不同的视图中保留记录的重复副本,请参阅我的下一个建议以获取更多详细信息.
如果您的专用网络有主机,您可以运行与公共DNS服务器分开的DHCP和DNS,您可能需要在此主机上设置DNS作为专用网络中计算机的默认DNS服务器,然后设置DNS服务器使用私有IP回答这些计算机的查询.但是,如果您感兴趣的DNS区域中的所有计算机都不具有私有IP,则可能导致重复记录,您现在必须列出两个DNS服务器中的服务器的IP地址.与上面的视图类似,但在概念上设置和测试更简单,因为您拥有完全独立的DNS服务器.