Articles of resolv.conf

resolv.conf选项不被尊重

希望在resolv.conf中实现“options rotate”指令,让DNS查找通过该文件中列出的名称服务器进行轮换。 据我所知,这是这个指令的重点。 它不适用于我曾经尝试过的任何系统。 它始终使用文件中的第一个名称服务器指令,并忽略其余部分,除非出现错误。 我使用模拟DNS服务器的伪造的DNS python脚本进行testing,并始终使用相同的伪造的192.168.1.1地址进行响应,无论请求如何。 当放在第一个文件,它总是会去这个服务器,当放在第二它永远不会去。 这是与文件中包含的“选项旋转”指令。 # cat /etc/resolv.conf search some.toplevel options rotate nameserver 10.0.0.2 <- fake python DNS server nameserver 10.0.0.3 <- real DNS server 使用假的DNS服务器pythons脚本 另外,我使用了dig命令和host命令。 我证实他们使用resolv库。 我在CentOS 5.6以及我个人的ubuntu上使用了完全不同版本的相关软件包。 我完全被困在这里,需要一些帮助。

Linux不断重试失败的DNS服务器

只要/etc/resolv.conf某个服务器无法访问,Linux / glibc /任何不够智能的操作都不会在一段时间内重试。 这导致很多服务变得不可用,因为它们中的很多会反向查找所有传入的连接(如SSH),这会在第一个DNS服务器查询超时时挂起。 我怎样才能使我的Ubuntu的箱子聪明的使用它的DNS服务器? 我可以破解一个每分钟运行一次的bash脚本,这个脚本会在iptables中插入一个拒绝规则,但是我不愿意这样做。 我被告知,Windows正确地执行此操作,顺便说一句。 编辑:我把它放在/etc/resolv.conf (或/etc/resolvconf/resolv.conf.d/base ): options timeout:2 rotate 仍然不完美,但更可行。

Ubuntu 12.04主机查找速度非常慢

我有一个服务器需要很长时间才能查找主机名。 这是一个Ubuntu 12.04盒子,所以我试着按照新的resolvconf指令。 在我的/etc/network/interfaces文件中,我定义了我的名字服务器,如下所示: auto eth0 iface eth0 inet static address someaddress netmask 255.255.255.0 gateway 198.58.103.1 dns-nameservers 74.14.179.5 72.14.188.5 在我的/etc/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 74.14.179.5 nameserver 72.14.188.5 在另一个盒子上,我直接按照主机的设置帮助文件的指示编辑了resolv.conf文件。 它看起来像这样: domain members.linode.com search members.linode.com […]

在resolv.conf中search和域名=在Ubuntu上慢速查找

我有一台机器运行Ubuntu 10.04服务器。 当使用curl和wget等工具连接局域网之外的某些站点时,我已经开始漫长(5-10秒)的延迟。 使用tcpdump和wireshark,我发现问题是在DNS查询中,正在build立连接: 例 当我运行: wget www.site1.com 我看到以下行为: LOOKUP: AAAA www.site1.com # => fail, no delay, site1 doesn't have an IPv6 AAAA record LOOKUP: AAAA www.site1.com.mydomain.lan # => fail, BIG DELAY, crazy domain doesn't exist LOOKUP: A www.site1.com # => success, no delay, resolves as expected (site1 has IPv4 A record) CONNECTION PROCEEDS … […]

在每个nic接口上configurationDNS服务器(eth0 / eth1)?

如何在RHEL / Centos 6上为每个NIC(eth0 vs eth1)接口configurationDNS名称服务器? 例如 eth0在子网10.0.0.1/24上 eth1在子网192.168.0.1/24上 任何通过eth0发送的请求都应该使用DNS服务器10.0.0.2。 任何通过eth1发送的请求都应该使用DNS服务器192.168.0.2。 我补充说: DNS1:10.0.0.2> / etc / sysconfig / network-scripts / ifcfg-eth0 DNS1:19.168.0.2> / etc / sysconfig / network-scripts / ifcfg-eth1 但是这些值会被忽略,并且默认为resolv.conf中的设置“nameserver 10.0.0.2”。当eth0closures时,连接通过eth1发送…但是当它试图达到10.0.0.2时,DNS不能再parsing。 我如何得到它在尊重DNS设置在ifcfg而不是resolv.conf默认? 或者我如何为eth0和eth1configuration不同的DNS名称服务器? 有没有更好的方法来处理这个问题? 更新 我们有两个VLAN,每个都有它自己的子网上的DNS服务器。 这些处理查找本地DNS(example.loc,guest.app等),以及在需要时转发。 这两个独立的服务器位于两个不同的物理位置。 如果可能的话,我宁愿不要在两个子网上运行一个服务器(一个处理敏感数据)。 如果eth0被closures,我需要eth1继续提出DNS请求。 我想添加两个IP到resolv.conf,然后让它失败,如果它不能到达服务器在第一个子网,但这似乎不雅(当eth0是等待第一个服务器超时,每个DNS查询下)。

/etc/resolv.conf中的第二个名称服务器没有被wget拾取

我的resolv.conf如下所示: ; generated by /sbin/dhclient-script search mcdc nameserver 10.0.4.48 nameserver 8.8.8.8 如果我做nslookup www.google.com它的作品 nslookup www.google.com ;; Got SERVFAIL reply from 10.0.4.48, trying next server Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: www.google.com canonical name = www.l.google.com. 但是当我蜷缩www.google.com,它不能解决主机。 我尝试在strace下运行curl,发现curl只是在resolv.conf中使用第一个名称服务器,而不是第二个。 如果我切换两个名称服务器行,www.google.com解决,但内部DNS名称不,所以这不是一个很好的解决方法。 我怎样才能解决resolv.conf使用两个名称服务器?

如何在CentOS中坚持resolv.conf选项,例如rotate,timeout?

CentOS会定期清除对/etc/resolv.conf所做的任何手动更改。 在合理的时间内,Linux的默认值是很差的(每次查询名称服务器的顺序相同,5秒超时,2次重试)。 因此, resolv.conf的第一个DNS本质上是关键path。 如果失败,你可以在10秒钟之前看看你的故障。 这些默认设置是可调整的(请参阅resolv.conf手册页),但是如何将任何更改在CentOS中永久保存,并通过重新启动等方式保存?

为什么nslookup在ping时不使用mdns?

在dnsmasq.conf中: address=/local/127.0.0.1 在resolv.conf中: # Generated by NetworkManager domain example.com search example.com nameserver 127.0.0.1 nameserver 10.66.127.17 nameserver 10.68.5.26 我可以使用nslookup: # nslookup www.local Server: 127.0.0.1 Address: 127.0.0.1#53 Name: www.local Address: 127.0.0.1 但是我不能使用ping: # ping www.local ping: unknown host www.local 我使用tcpdump来捕获lo,同时ping www.local,没有数据包,而数据包像 # tcpdump -i em1 -n | grep local tcpdump: verbose output suppressed, use -v or -vv […]

为什么必须重新启动一个linux服务器才能正确处理resolv.conf中的更改?

我知道这只是缺乏我的理解,但这是问题。 我们最近将DNS服务器从192.168.1.1改为.2,所以我转到了所有8台Linux服务器,并更改了/etc/resolv.conf来反映这个改变。 请注意,它们都是静态的,不涉及DHCP。 在做出更改之后,我可以立即使用nslookuptesting结果并进行挖掘,这一切看起来都不错。 我做了一个/etc/init.d/networking重新启动 – 重新启动networking子系统 – 并重新启动每个服务器上的Apache和后缀,只是为了确保。 几天后,我收到一份报告,指出我们的网站不再发送电子邮件。 仔细查看日志,我发现mod_php进程无法parsingdns条目来发送邮件。 打了我的头大约30分钟后,我重新启动服务器,一切恢复正常。 第二天,在不同的服务器上(使用CentOS而不是我们普通的Ubuntu),我得到一个报告,指出电子邮件没有通过,而且看着日志显示Postfix无法parsing名称。 重新启动,它几乎立即提供所有排队的邮件。 那么我在这里错过了什么? 这个过程的哪个部分我没有正确理解?

Vagrant / VirtualBox无法parsingVM中的某些域

只是尝试VirtualBox&Vagrant和我最初的lucid64虚拟机无法解决lucid64但可以解决security.ubuntu.com , google.com和www.apple.com (但不是apple.com w / out www ?!?!)。 虚拟机运行的主机 可以很好地解决us.archive.ubuntu.com以及其他域。 不知道发生了什么事?!? vagrant@lucid64:~$ sudo apt-get install dkms -y Reading package lists… Done Building dependency tree Reading state information… Done The following extra packages will be installed: fakeroot make patch Suggested packages: make-doc diffutils-doc The following NEW packages will be installed: dkms fakeroot make patch 0 […]