我不觉得我要疯了..。
我们的AD域控制器(Server 2016)是foo.example的DNS服务器。在此范围内,我们有一个代表团,r53.foo.example,它指出了亚马逊53号公路中该区域的名称服务器。
53号公路区域中的记录之一是EC2实例的公共DNS名称的CNAME,即
bar.r53.foo.example IN A ec2-1-2-3-4.us-west-1.compute.amazonaws.com.
Windows DNS服务器设置为使用Google公共DNS服务器作为转发器,并且禁用根提示。启用递归。
从客户端,如果我查询ec2-1-2-3-4.us-west-1.
我正在使用Container-Optimized OS from Google运行我的一个码头容器。我已经看到我对的DNS查询数量非常高(数十亿),这是非常奇怪的。I只用于内部DNS查询。
因此,在尝试从容器内部执行dig之后,我看到它总是对nameserver执行一个查询(来自/etc/resolve.conf,它的Google名称服务器169.254.169.254 )。
因此,每个查询仍然对名称服务器执行一个查询,甚至一次都不访问缓存。
所以我去检查了它在ubuntu实例上是如何工作的,它在那里运行得很好。还检查了kubernetes上的部署,并按预期从kube-dns访问缓存。
有办法
我有一个简单的安装,Debian作为客人在Virtualbox中。我安装了resolvconf包。resolv.conf文件如下:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 10.3.x.x
nameserver 10.219.x.x
我通过GUI (应用程序/系统工具/网络工具