我插入了
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.testlogging存储在/ etc / hosts中。
命令getent对getaddrinfo()进行系统调用,并尝试在/etc/nsswitch.conf定义的每个服务,但DNSparsing本身是对gethostbyname()的较低级别调用,由/etc/resolv.confconfiguration。
简而言之,您不能仅在/etc/hosts定义完全限定的主机名,因为getaddrinfo()不使用search域进行主机文件查找。 您可以通过将srv定义为/etc/hosts来创build主机别名。
1.1.1.1 srv.test srv