我已插入
domain test
进入resolv.conf,然后期望
# getent ahosts srv
# getent ahosts srv.test
1.1.1.1 STREAM srv.test
1.1.1.1 DGRAM
1.1.1.1 RAW
都将提供相同的结果。
知道为什么它没有发生吗?
谢谢!
编辑:
/etc/nsswitch
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
srv.test 记录存储在 /etc/hosts 中。
该命令对 中定义的每个服务
getent
进行系统调用getaddrinfo()
并将尝试/etc/nsswitch.conf
,但是,DNS 解析本身是对 的较低级别调用,gethostbyname()
并由/etc/resolv.conf
.简而言之,您不能只定义完全限定的主机名,
/etc/hosts
因为getaddrinfo()
不使用搜索域来查找主机文件。/etc/hosts
您可以通过将 srv 定义为来创建主机别名;