Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 为什么host命令不能解析/ etc / hosts中的条目?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我在ubuntu 12.04机器上有以下/ etc / hosts文件 127.0.0.1 localhost 10.248.27.66 ec2-50-112-220-110.us-West-2.compute.amazonaws.com puppetmaster # The following lines are desirable for IPv6 capable hosts ::1 iP6
我在ubuntu 12.04机器上有以下/ etc / hosts文件
127.0.0.1 localhost
10.248.27.66 ec2-50-112-220-110.us-West-2.compute.amazonaws.com puppetmaster

# The following lines are desirable for IPv6 capable hosts
::1 iP6-localhost iP6-loopBACk
fe00::0 iP6-localnet
ff00::0 iP6-mcastprefix
ff02::1 iP6-allnodes
ff02::2 iP6-allrouters
ff02::3 iP6-allhosts

但是,host命令没有正确解析名称puppetmaster,而Telnet命令却没有

root@ip-10-248-34-162:/home/ubuntu# host puppetmaster
Host puppetmaster not found: 3(NXDOMAIN)

root@ip-10-248-34-162:/home/ubuntu# telnet puppetmaster 8140
Trying 10.248.27.66...
Connected to ec2-50-112-220-110.us-West-2.compute.amazonaws.com.
Escape character is '^]'.

为什么host命令不能解析/ etc / hosts中的条目?

解决方法

主机程序使用libresolv直接执行DNS查询,即不使用gethostbyname.

大多数程序在尝试连接到另一台主机时,都会调用gethostbyname系统调用或类似的函数.该函数服从/etc/nsswitch.conf的配置.此文件有一行在Ubuntu 12.04中认为以下内容

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

这意味着它将首先使用/ etc / hosts,然后回退到DNS查询.

如果要以这种方式执行主机查找,可以使用getent主机执行此操作.例如:

$getent hosts serverfault.com
198.252.206.16  serverfault.com

我希望这有帮助.

大佬总结

以上是大佬教程为你收集整理的linux – 为什么host命令不能解析/ etc / hosts中的条目?全部内容,希望文章能够帮你解决linux – 为什么host命令不能解析/ etc / hosts中的条目?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。