从ubuntu 12.04升级后,我遇到了一个奇怪的ping问题.到14.04.
我无法使用主机名ping,但使用ip它可以正常运行.我没有其他服务或程序的任何其他DNS问题.
我作为普通用户工作,但不是root用户.
作为root用户主机和dig可以将dnsname解析为ip.
busyBox ping也适用于主机名.
原文链接:/ubuntu/347904.html我无法使用主机名ping,但使用ip它可以正常运行.我没有其他服务或程序的任何其他DNS问题.
我作为普通用户工作,但不是root用户.
作为root用户主机和dig可以将dnsname解析为ip.
busyBox ping也适用于主机名.
这是错误:
root@myhost:~# ping ubuntu.com ping: unknown host ubuntu.com
这有效:
root@myhost:~# host ubuntu.com ubuntu.com has address 91.189.94.40 ubuntu.com mail is handled by 10 mx.canonical.com. root@myhost:~# ping 91.189.94.40 -c 1 PING 91.189.94.40 (91.189.94.40) 56(84) bytes of data. 64 bytes from 91.189.94.40: icmp_seq=1 ttl=53 time=16.1 ms root@myhost:~# busyBox ping ubuntu.com -c 1 PING ubuntu.com (91.189.94.40): 56 data bytes 64 bytes from 91.189.94.40: seq=0 ttl=53 time=16.189 ms user@myhost:~$ping ubuntu.com -c 1 PING ubuntu.com (91.189.94.40) 56(84) bytes of data. 64 bytes from ovinnik.canonical.com (91.189.94.40): icmp_seq=1 ttl=53 time=16.1 ms
文件/etc/nsswitch.conf
root@myhost:~# cat /etc/nsswitch.conf # /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed,try: # `info libc "Name Service Switch"' for information about this file. passwd: compat group: compat shadow: compat hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis
一些额外的信息.谢谢strace tip. appamor不活跃.
strace:打开/etc/resolv.conf似乎是个问题,但是根本不行
root@myhost:~# strace -e open ping -c 1 ubuntu.com open("/etc/ld.so.cache",O_RDONLY|O_CLOEXEC) = 3 open("/lib/x86_64-linux-gnu/libcap.so.2",O_RDONLY|O_CLOEXEC) = 3 open("/lib/x86_64-linux-gnu/libc.so.6",O_RDONLY|O_CLOEXEC) = 3 open("/etc/resolv.conf",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/etc/nsswitch.conf",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/etc/ld.so.cache",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/lib/x86_64-linux-gnu/tls/x86_64/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/lib/x86_64-linux-gnu/tls/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/lib/x86_64-linux-gnu/x86_64/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/lib/x86_64-linux-gnu/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/usr/lib/x86_64-linux-gnu/tls/x86_64/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/usr/lib/x86_64-linux-gnu/tls/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/usr/lib/x86_64-linux-gnu/x86_64/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/usr/lib/x86_64-linux-gnu/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/lib/tls/x86_64/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/lib/tls/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/lib/x86_64/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/lib/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/usr/lib/tls/x86_64/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/usr/lib/tls/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/usr/lib/x86_64/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/usr/lib/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) ping: unknown host ubuntu.com +++ exited with 2 +++
getent:
root @ myhost:〜#getent hosts ubuntu.com
91.189.94.40 ubuntu.com
getcap:
root@myhost:~# getcap -rv /bin/ping /bin/ping
权限:
root@myhost:/etc# ls -lha /etc/resolv.conf lrwxrwxrwx 1 root root 29 Jan 9 11:11 /etc/resolv.conf -> ../run/resolvconf/resolv.conf root@myhost:/etc# ls -lha /run/resolvconf/resolv.conf -rw-r--r-- 1 root root 237 Jan 10 08:52 /run/resolvconf/resolv.conf root@myhost:/etc# ls -lha /etc/hosts -rw-r--r-- 1 root root 485 Jan 8 09:15 /etc/hosts root@myhost:/etc# ls -lha /etc/nsswitch.conf -rw-r--r-- 1 root root 513 Jan 8 09:08 /etc/nsswitch.conf
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 213.133.98.98 nameserver 213.133.99.99 nameserver 213.133.100.100