Hallo liebe Linuxer!
Mein Name ist Alex und ich bin ein *nix-einsteiger.
Nun wollte ich mit Arch ein wenig rumexperimentieren, jedoch spielt ping irgendwie nicht mit.
Umgebung: Ein integrierter Router mit DCHP-Server an einer ADSL-Leitung, dahinter ein 16P-Switch, dahinter die Maschine.
Installiert: Arch vom aktuellen Live-Medium. Installation frisch, weitläufig Installationszustand.
Netzwerkeistellungen werden aus einem netctl-profil geladen. Alle Einstellungen fest (kein DHCP auf der Maschine).
IPs extern (z.B.: 8.8.8.8) als auch intern
erreichbar. Kommunikation i.O.
Hostnamen lassen sich ohne Probleme mit host, nslookup oder dig
auflösen (sowohl lokale als auch globale).
Aber dennoch geschieht folgendes:
root@xxx ~# ping www.google.com
ping: unknown host www.google.com
[2] root@xxx ~# ping localhost
ping: unknown host localhost
Dabei zeigt strace folgendes:
root@xxx ~# strace ping www.google.com
execve("/usr/bin/ping", ["ping", "www.google.com"], [/* 19 vars */]) = 0
brk(0) = 0x23fa000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=51609, ...}) = 0
mmap(NULL, 51609, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f0be574f000
close(3) = 0
open("/usr/lib/libcap.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\25\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=16872, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0be574e000
mmap(NULL, 2112096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f0be5337000
mprotect(0x7f0be533b000, 2093056, PROT_NONE) = 0
mmap(0x7f0be553a000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f0be553a000
close(3) = 0
open("/usr/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \33\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=2035252, ...}) = 0
mmap(NULL, 3852848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f0be4f8a000
mprotect(0x7f0be512d000, 2097152, PROT_NONE) = 0
mmap(0x7f0be532d000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a3000) = 0x7f0be532d000
mmap(0x7f0be5333000, 14896, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f0be5333000
close(3) = 0
open("/usr/lib/libattr.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\24\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=18736, ...}) = 0
mmap(NULL, 2113912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f0be4d85000
mprotect(0x7f0be4d89000, 2093056, PROT_NONE) = 0
mmap(0x7f0be4f88000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f0be4f88000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0be574d000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0be574c000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0be574b000
arch_prctl(ARCH_SET_FS, 0x7f0be574c700) = 0
mprotect(0x7f0be532d000, 16384, PROT_READ) = 0
mprotect(0x7f0be4f88000, 4096, PROT_READ) = 0
mprotect(0x608000, 4096, PROT_READ) = 0
mprotect(0x7f0be575c000, 4096, PROT_READ) = 0
munmap(0x7f0be574f000, 51609) = 0
brk(0) = 0x23fa000
brk(0x241b000) = 0x241b000
capget({_LINUX_CAPABILITY_VERSION_3, 0}, NULL) = 0
capget({_LINUX_CAPABILITY_VERSION_3, 0}, {CAP_CHOWN|CAP_DAC_OVERRIDE|CAP_DAC_READ_SEARCH|CAP_FOWNER|CAP_FSETID|CAP_KILL|CAP_SETGID|CAP_SETUID|CAP_SETPCAP|CAP_LINUX_IMMUTABLE|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW|CAP_IPC_LOCK|CAP_IPC_OWNER|CAP_SYS_MODULE|CAP_SYS_RAWIO|CAP_SYS_CHROOT|CAP_SYS_PTRACE|CAP_SYS_PACCT|CAP_SYS_ADMIN|CAP_SYS_BOOT|CAP_SYS_NICE|CAP_SYS_RESOURCE|CAP_SYS_TIME|CAP_SYS_TTY_CONFIG|CAP_MKNOD|CAP_LEASE|CAP_AUDIT_WRITE|CAP_AUDIT_CONTROL|CAP_SETFCAP, CAP_CHOWN|CAP_DAC_OVERRIDE|CAP_DAC_READ_SEARCH|CAP_FOWNER|CAP_FSETID|CAP_KILL|CAP_SETGID|CAP_SETUID|CAP_SETPCAP|CAP_LINUX_IMMUTABLE|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW|CAP_IPC_LOCK|CAP_IPC_OWNER|CAP_SYS_MODULE|CAP_SYS_RAWIO|CAP_SYS_CHROOT|CAP_SYS_PTRACE|CAP_SYS_PACCT|CAP_SYS_ADMIN|CAP_SYS_BOOT|CAP_SYS_NICE|CAP_SYS_RESOURCE|CAP_SYS_TIME|CAP_SYS_TTY_CONFIG|CAP_MKNOD|CAP_LEASE|CAP_AUDIT_WRITE|CAP_AUDIT_CONTROL|CAP_SETFCAP, 0}) = 0
capget({_LINUX_CAPABILITY_VERSION_3, 0}, NULL) = 0
capset({_LINUX_CAPABILITY_VERSION_3, 0}, {0, CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0
prctl(PR_SET_KEEPCAPS, 1) = 0
getuid() = 0
setuid(0) = 0
prctl(PR_SET_KEEPCAPS, 0) = 0
getuid() = 0
geteuid() = 0
capget({_LINUX_CAPABILITY_VERSION_3, 0}, NULL) = 0
capget({_LINUX_CAPABILITY_VERSION_3, 0}, {0, CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0
capset({_LINUX_CAPABILITY_VERSION_3, 0}, {CAP_NET_RAW, CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0
socket(PF_INET, SOCK_RAW, IPPROTO_ICMP) = 3
capget({_LINUX_CAPABILITY_VERSION_3, 0}, NULL) = 0
capget({_LINUX_CAPABILITY_VERSION_3, 0}, {CAP_NET_RAW, CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0
capset({_LINUX_CAPABILITY_VERSION_3, 0}, {0, CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0
getpid() = 774
open("/etc/resolv.conf", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied)
uname({sys="Linux", node="sb-srv01", ...}) = 0
socket(PF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 4
connect(4, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 EACCES (Permission denied)
close(4) = 0
socket(PF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 4
connect(4, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 EACCES (Permission denied)
close(4) = 0
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("/usr/lib/tls/x86_64/libnss_dns.so.2", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied)
stat("/usr/lib/tls/x86_64", 0x7fffc55477f0) = -1 EACCES (Permission denied)
open("/usr/lib/tls/libnss_dns.so.2", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied)
stat("/usr/lib/tls", 0x7fffc55477f0) = -1 EACCES (Permission denied)
open("/usr/lib/x86_64/libnss_dns.so.2", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied)
stat("/usr/lib/x86_64", 0x7fffc55477f0) = -1 EACCES (Permission denied)
open("/usr/lib/libnss_dns.so.2", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied)
stat("/usr/lib", 0x7fffc55477f0) = -1 EACCES (Permission denied)
write(2, "ping: unknown host www.google.co"..., 34ping: unknown host www.google.com
) = 34
exit_group(2) = ?
+++ exited with 2 +++
Besonders verwundert mich dabei:
open("/etc/resolv.conf", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied)
open("/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied)
[/b]
Die Berechtigungen stimmen:
root@xxx ~# ls -l /etc/nsswitch.conf
-rw-r--r-- 1 root root 258 7. Jul 20:59 /etc/nsswitch.conf
root@xxx ~# ls -l /etc/resolv.conf
-rw-r--r-- 1 root root 48 7. Jul 20:24 /etc/resolv.conf
nslookup kann auf die Dateien zugreifen:
root@xxx ~# strace nslookup www.google.com
...
...
open("/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 4
...
open("/etc/resolv.conf", O_RDONLY) = 4
...
...
write(1, "Non-authoritative answer:\n", 26Non-authoritative answer:
) = 26
write(1, "Name:\twww.google.com\n", 21Name: www.google.com
) = 21
write(1, "Address: 173.194.69.106\n", 24Address: 173.194.69.106
) = 24
write(1, "Name:\twww.google.com\n", 21Name: www.google.com
) = 21
write(1, "Address: 173.194.69.103\n", 24Address: 173.194.69.103
) = 24
write(1, "Name:\twww.google.com\n", 21Name: www.google.com
) = 21
write(1, "Address: 173.194.69.147\n", 24Address: 173.194.69.147
) = 24
write(1, "Name:\twww.google.com\n", 21Name: www.google.com
) = 21
write(1, "Address: 173.194.69.104\n", 24Address: 173.194.69.104
) = 24
write(1, "Name:\twww.google.com\n", 21Name: www.google.com
) = 21
write(1, "Address: 173.194.69.99\n", 23Address: 173.194.69.99
) = 23
write(1, "Name:\twww.google.com\n", 21Name: www.google.com
) = 21
write(1, "Address: 173.194.69.105\n", 24Address: 173.194.69.105
) = 24
epoll_ctl(3, EPOLL_CTL_DEL, 20, {EPOLLIN, {u32=20, u64=20}}) = -1 ENOENT (No such file or directory)
epoll_ctl(3, EPOLL_CTL_DEL, 20, {EPOLLOUT, {u32=20, u64=20}}) = -1 ENOENT (No such file or directory)
close(20) = 0
kill(783, SIGTERM) = 0
--- SIGTERM {si_signo=SIGTERM, si_code=SI_USER, si_pid=783, si_uid=0} ---
rt_sigreturn() = 0
write(1, "\n", 1
) = 1
close(3) = 0
brk(0x7c9000) = 0x7c9000
munmap(0x7fea5e872000, 2198408) = 0
munmap(0x7fea610b6000, 266240) = 0
exit_group(0) = ?
+++ exited with 0 +++
Kollegen von mir haben schon auf apparmor/SELinux/liz getippt. Alles geprüft, nichts davon aktiv.
Was könnte da schief laufen?
Bin kräftig am verzweifeln. google hat mich da leider auch nicht wirklich weit gebracht....
Schon mal vielen Dank!!!
Achja:
root@xxx ~# which ping
/usr/bin/ping
Habe es aber auch schon mit /bin/ping probiert...
root@xxx ~# ping -c 3 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=50 time=34.7 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=50 time=32.7 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=50 time=33.6 ms
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 32.741/33.711/34.738/0.843 ms