非 root 用户无法使用 Ping。
[ethan@EthanPC yaourt]$ ping -c 3 www.bing.com
ping: unknown host www.bing.com
[root@EthanPC yaourt]# ping -c 3 www.bing.com
PING any.edge.bing.com (204.79.197.200) 56(84) bytes of data.
64 bytes from a-0001.a-msedge.net (204.79.197.200): icmp_seq=1 ttl=117 time=14.5 ms
64 bytes from a-0001.a-msedge.net (204.79.197.200): icmp_seq=2 ttl=117 time=18.3 ms
64 bytes from a-0001.a-msedge.net (204.79.197.200): icmp_seq=3 ttl=117 time=17.5 ms
--- any.edge.bing.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 14.546/16.819/18.377/1.647 ms
我正在使用 Arch Linux。有什么想法吗?
答案1
问题不在于ping
它本身,而在于将域名解析为 IP 地址所涉及的操作系统组件。(请注意,它没有说“打开套接字:不允许操作”;而是说“未知主机”)。
确保所有这些文件都可以被所有人读取,并且chmod a+rX
根据需要:
/etc/nsswitch.conf
/lib/libnss_dns-*.so
/etc/resolv.conf
(通常是有问题的一个)。
通过getent hosts www.bing.com
或进行验证curl https://www.bing.com
。