domain-name-system – 本地“hosts”文件中的条目是否覆盖正向和反向名称查找?

前端之家收集整理的这篇文章主要介绍了domain-name-system – 本地“hosts”文件中的条目是否覆盖正向和反向名称查找?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我在hosts文件中有以下条目:
192.168.100.1    bugs
192.168.100.2    daffy.example.com
192.168.100.3    elmer.example.com.

IP->本地实用程序的名称解析尝试(我假设使用’gethostbyaddr’或Windows等效项)是否尊重这些条目?这种行为是否可配置?它在操作系统之间有何不同? “主机”文件条目是否完全合格是否重要?

编辑:为了回应Russell,我的测试Linux系统正在运行RHEL 4.我的/etc/nsswitch.conf包含以下’hosts’行:

hosts:      files dns nis

如果我按名称ping任何主机(例如bug,daffy),则前向分辨率可以正常工作.如果我通过IP地址跟踪其中任何一个,则反向查找按预期运行.但是,如果我通过IP ping它们,ping似乎不会解析它们的主机名.我的理解是Linux ping总是会尝试将IP解析为名称,除非另有说明.为什么traceroute能够处理主机文件中的反向查找,但ping不?

解决方法

通常,hosts文件将用于正向和反向查找.这对Unix系统的偏好取决于你nsswitch.conf文件中的条目顺序.

例如下面的行将使hosts文件覆盖DNS.撤消条目将使DNS覆盖hosts文件.

hosts:      files dns

我不确定你是否可以调整到Windows系统的优先顺序.

我在inetutils-20071127(安装在我的Ubuntu 9.04盒子上的版本)上查看了ping的源代码,如果你ping一个IP地址而不是一个主机名,源代码似乎启用了仅数字模式:

                if (inet_aton(target,&whereto.sin_addr) == 1) {
                        hostname = target;
                        if (argc == 1)
                                options |= F_NUMERIC;

这可以解释为什么在通过IP地址ping主机时没有进行反向查找.

猜你在找的HTML相关文章