我有一个名为 的服务器site.dpt.myorg.local
,我想使用短名称和 fqdn 来访问它。当我尝试使用短名称site
或site.dpt
形式时,一切都正常。但是当我使用 fqdn 时 - 使用dig
或时查找有效nslookup
,但使用 Web 浏览器、ssh 和其他工具时查找失败。
即 ssh 和 ping 失败并出现以下错误:
$ ssh -vvvv site.dpt.myorg.local
OpenSSH_7.2p2, OpenSSL 1.0.2j-fips 26 Sep 2016
debug1: Reading configuration data /home/user/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 25: Applying options for *
debug2: resolving "site.dpt.myorg.local" port 22
ssh: Could not resolve hostname site.dpt.myorg.local: Name or service not known
$ ping site.dpt.myorg.local
ping: unknown host site.dpt.myorg.local
我有以下 resolv.conf 文件:
search myorg.local dpt.myorg.local
nameserver 10.0.0.1
nameserver 10.0.0.2
我的操作系统是 Opensuse 42.3
有人能指出这个问题的原因吗?谢谢!
答案1
TLDlocal
是保留用于 mDNS和不应与常规 DNS 一起使用。
正确的解决办法是停止local
这种滥用行为。
答案2
我找到了我的问题的答案:https://superuser.com/questions/704785/avahi-ping-cant-resolve-hostname-but-nslookup-can
问题出在 avahi 服务中,默认情况下为 .local 域配置。修复部分/etc/avahi/avahi-daemon.conf
内容
[server]
domain-name=.alocal
解决了我的问题。
编辑:由于我的环境中不需要 avahi,因此通过禁用它来结束。