Rob*_*rde 5 ubuntu dns systemd-networkd resolv.conf
我无法让 DNS 后缀正常工作
基本上,我已经jira.mycompany.local在公司的DNS服务器上映射到192.168.100.5
我希望能够同时使用jira和访问它jira.mycompany.local。
我有这个 /etc/systemd/resolvd.conf
[Resolve]
Domains=mycompany.local devnet.mycompany.nl
Run Code Online (Sandbox Code Playgroud)
重新启动网络管理器并解决:
systemctl restart NetworkManager.service
systemctl restart systemd-resolved.service
Run Code Online (Sandbox Code Playgroud)
结果如下/etc/resolv.conf:
nameserver 192.168.10.1
nameserver 192.168.10.2
nameserver 127.0.0.53
search mycompany.local
search devnet.mycompany.nl
Run Code Online (Sandbox Code Playgroud)
所以这一切看起来都不错。测试DNS:
nslookup jira.mycompany.local
Server: 192.168.10.1
Address: 192.168.10.1#53
Name: jira.mycompany.local
Address: 192.168.100.5
Run Code Online (Sandbox Code Playgroud)
Ping 到 IP:
>ping 192.168.100.5
PING 192.168.100.5 (192.168.100.5) 56(84) bytes of data.
64 bytes from 192.168.100.5: icmp_seq=1 ttl=63 time=7.04 ms
Run Code Online (Sandbox Code Playgroud)
Ping 到主机名(带和不带后缀):
>ping jira
ping: jira: Name or service not known
>ping jira.mycompany.local
ping: jira.mycompany.local: Name or service not known
Run Code Online (Sandbox Code Playgroud)
相关线路 /etc/nsswitch.conf:
hosts: files [NOTFOUND=return] resolve [!UNAVAIL=return] dns myhostname
Run Code Online (Sandbox Code Playgroud)
(我删除了 avahi 线,所以它不会干扰。)
使用 dig 测试:
dig +short jira
(empty)
dig +short jira.mycompany.local
192.168.100.5
Run Code Online (Sandbox Code Playgroud)
[编辑]
我修改了 etc/nsswitch.conf 中的 hosts 行:
hosts: files resolve dns
Run Code Online (Sandbox Code Playgroud)
现在:
>ping jira.mycompany.local
PING jira.mycompany.local (192.168.100.5) 56(84) bytes of data.
64 bytes from 192.168.100.5: icmp_seq=1 ttl=63 time=7.04 ms
Run Code Online (Sandbox Code Playgroud)
有效,但是:
>ping jira
ping: jira: Temporary failure in name resolution
Run Code Online (Sandbox Code Playgroud)
我如何调试这个问题/或修复它?
小智 4
尝试仅使用search您的在线功能resolv.conf
search mycompany.local devnet.mycompany.nl
Run Code Online (Sandbox Code Playgroud)
dig其次,您的using only测试jira失败,这是正常行为!dig不会使用 中指定的域自动完成您的主机名resolv.conf。