系统正确解析外部主机名(例如 bbc.co.uk),但不会解析任何内部(LAN)主机名。
这里的问题是如何自动化 LAN 查找而不需要修改hosts
等。有问题的主板很可能安装在具有完全不同的 DHCP/DNS 服务器的网络中。
下面告诉我哪个服务器提供 DHCP 等。是否有一种机制可以获取此地址resolvf.conf
或类似的内容?
$ sudo grep -R "DHCPOFFER" /var/log/syslog
Jan 17 14:32:14 dev-k1s dhclient[1438]: DHCPOFFER of 192.168.1.19 from 192.168.1.1
泰亚。
[编辑1]
添加路由器的 IP 地址,该地址既是 DHCP 又是 DNS 服务器
$ sudo cat /etc/resolv.conf
nameserver 192.168.1.1
nameserver 1.1.1.1
$ ping beeb4
PING beeb4 (192.168.1.72) 56(84) bytes of data.
64 bytes from BEEB4 (192.168.1.72): icmp_seq=1 ttl=128 time=10.3 ms
64 bytes from BEEB4 (192.168.1.72): icmp_seq=2 ttl=128 time=2.49 ms
[编辑0]
~$ ping dev-k1s
PING dev-k1s (127.0.1.1) 56(84) bytes of data.
64 bytes from dev-k1s (127.0.1.1): icmp_seq=1 ttl=64 time=0.083 ms
尝试 ping 同一网络上的另一台计算机:
$ ping beeb4
ping: beeb4: Name or service not known
各种配置细节:
$ ip route
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.19
$ sudo cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 1.1.1.1
nameserver 8.8.8.8
nameserver 8.8.8.4
$ sudo cat /etc/nsswitch.conf
passwd: compat
group: compat
shadow: compat
gshadow: files
hosts: dns files
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
答案1
您混淆了 DNS 服务和主机名解析,它们未在 DNS 服务器中声明。您可以 ping dev-k1s,因为这是您打开终端的计算机的主机名。名称和 IP 地址列表应位于 /etc/hosts 文件中。你应该在 dev-k1s 服务器上做这样的事情:
~# more /etc/hosts
127.0.0.1 localhost
127.0.1.1 dev-k1s
因此,对 dev-k1s 的 ping 响应使用本地主机地址 ( 127.0.0.1) 。
如果您希望本地服务器使用其主机名响应 ping 命令,您应该在 /etc/hosts 文件底部添加 IP 地址和关联的主机名,如下例所示:
127.0.0.1 localhost
127.0.1.1 dev-k1s
xxx.xxx.xxx.xxx beeb4
无论如何,我建议您首先 ping 其 IP 地址