gpt4 book ai didi

linux - getaddrinfo 不解析主机名

转载 作者:行者123 更新时间:2023-12-05 07:53:40 25 4
gpt4 key购买 nike

nc -zv cms-01 5061

失败: nc: getaddrinfo: 没有与主机名关联的地址

但是 ping/dig 工作正常。用getent可以看到最不一样的地方:

# getent hosts cms-01
172.17.2.108 cms-01.docker

但是使用“ahosts”而不是“hosts”,它什么都不返回。

# getent ahosts cms-01

"ahosts"和nc 一样使用getaddrinfo,那么为什么它无法解析主机名,即使它存在于dns 中?顺便说一句,如果我使用完整的主机名(“cms-01.docker”与“cms-01”),它不会改变。

最佳答案

域名会导致这种情况,尤其是当您的域名搜索不包括 docker 时。

将此添加到/etc/hosts:

192.168.1.1 terse.domain.com

现在试着查一下:

% getaddrinfo terse
getaddrinfo: Name does not resolve
% getaddrinfo terse.domain.com
dgram inet udp 192.168.1.1 0
stream inet tcp 192.168.1.1 0
seqpacket inet sctp 192.168.1.1 0

将/etc/hosts 更新为:

192.168.1.1 terse.domain.com terse

现在可以了:

% getaddrinfo terse
dgram inet udp 192.168.1.1 0
stream inet tcp 192.168.1.1 0
seqpacket inet sctp 192.168.1.1 0

如果使用 resolv.conf,您可以添加搜索行:

search domain.com docker

关于linux - getaddrinfo 不解析主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32338919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com