LinuxForum.Fans
Тема

Почему так долго выполняется пинг?

Автор: nkl 8 сообщений 2000 просмотров
#268436

В общем свершилось то, к чему я шел последнюю неделю, а по большому счету и весь последний год. Я впервые завел Linux-машину в windows домен! Как вы могли понять, радости у меня полные штаны!
Но вдруг возникла проблема с пингованием доменных машин или может это не проблема вовсе а специфика работы комады ping в Linux, объясните новичку. Уж очень долго каждый пинг отправляется, ну т.е. не так как в командной строке windows, пакет прошел и тут же выведена строка с его статистикой, получается строчка за строчкой появляется каждую секунду.
А на то, что бы ping вывел на терминал эти строки:

Показать
text
nkl@ws303-02:~$ ping srvr001.kcc.local
PING srvr001.kcc.local (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_req=1 ttl=128 time=0.256 ms
64 bytes from 192.168.0.1: icmp_req=2 ttl=128 time=0.272 ms
^C64 bytes from 192.168.0.1: icmp_req=3 ttl=128 time=0.137 ms

--- srvr001.kcc.local ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 40037ms rtt min/avg/max/mdev = 0.137/0.221/0.272/0.062 ms

ушло чуть больше минуты, хотя судя по результату видно, что пинг проходит очень быстро.
А вот если таким образом пинговать тот же сервер:

Показать
text
nkl@ws303-02:~$ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_req=1 ttl=128 time=0.152 ms
64 bytes from 192.168.0.1: icmp_req=2 ttl=128 time=0.251 ms
64 bytes from 192.168.0.1: icmp_req=3 ttl=128 time=0.153 ms
64 bytes from 192.168.0.1: icmp_req=4 ttl=128 time=0.208 ms
^C
--- 192.168.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.152/0.191/0.251/0.041 ms

то строчки вылетают так же быстро как и в cmd. Что не так с моей сетью, что влияет на такую задержку вывода результата?

#268468

А, я кажется понял. Т.е. сам пинг-запрос проходит очень быстро, задержку вызывает именно разрешение этого доменного имени на DNS Windows. Но постойте господа, неужели винда так долго простейшую запись из блокнтоа извлекает? Ведь в сети сейчас никакой нагрузки вообще нет.

#268485

У вас в резолв.конф описано несколько неймсерверов, такт вот первіе по списку не отвечают... потому и задержка...
попробуйте сделать
dig serv1.domain.name

и увидите что запрос тупит...

#268649

В /etc/resolv.conf когда-то было несколько неймсерверов, в частности когда втыкал 3g модем. Сейчас слава богу заработал нормальный инет, правда до моей убнты он доходит через UserGate, но все же он есть. Вследствие чего мой resolv.conf выглядит так:

Показать
text
nkl@ws303-02:~$ 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
#    Prosto pizdec kakoito!
nameserver 127.0.0.1
search kcc.local
domain kcc.local
nameserver 192.168.0.1

#268659
"nkl" написал:
nameserver 127.0.0.1
На локальной машине поднят DNS сервер? Если да, вопросы к нему, если нет, это не должно в обычных условиях давать подобную задержку.
Далее, проблема скорее в .local, зарезервированном под mdns и привет от avahi:

"nkl" написал:
kcc.local

Покажите результат:
$ grep hosts: /etc/nsswitch.conf

Выполните
$ strace -rT ping -c1 srvr001.kcc.local
и посмотрите, где фактически происходит задержка.

#269339

Нет, на локальной машине нет DNS-сервера.
Вот результаты команда, которые вы просили:

Показать
text
nkl@ws303-02:~$ grep hosts: /etc/nsswitch.conf
hosts:          files dns
nkl@ws303-02:~$ strace -rT ping -c1 srvr001.kcc.local
     0.000000 execve("/bin/ping", ["ping", "-c1", "srvr001.kcc.local"], [/* 41 vars */]) = 0 <0.000263>
     0.000659 brk(0)                    = 0x86ec000 <0.000017>
     0.000129 fcntl64(0, F_GETFD)       = 0 <0.000018>
     0.000102 fcntl64(1, F_GETFD)       = 0 <0.000017>
     0.000098 fcntl64(2, F_GETFD)       = 0 <0.000018>
     0.000104 access("/etc/suid-debug", F_OK) = -1 ENOENT (No such file or directory) <0.000023>
     0.000178 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) <0.000021>
     0.000122 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77c6000 <0.000021>
     0.000130 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) <0.000021>
     0.000129 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 <0.000024>
     0.000115 fstat64(3, {st_mode=S_IFREG|0644, st_size=63473, ...}) = 0 <0.000018>
     0.000174 mmap2(NULL, 63473, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb77b6000 <0.000021>
     0.000103 close(3)                  = 0 <0.000018>
     0.000105 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) <0.000021>
     0.000131 open("/lib/i386-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 <0.000026>
     0.000128 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000\226\1\0004\0\0\0"..., 512) = 512 <0.000020>
     0.000156 fstat64(3, {st_mode=S_IFREG|0755, st_size=1713640, ...}) = 0 <0.000018>
     0.000166 mmap2(NULL, 1723100, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7611000 <0.000021>
     0.000110 mmap2(0xb77b0000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19f) = 0xb77b0000 <0.000030>
     0.000125 mmap2(0xb77b3000, 10972, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb77b3000 <0.000024>
     0.000117 close(3)                  = 0 <0.000018>
     0.000129 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7610000 <0.000020>
     0.000111 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7610900, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 <0.000020>
     0.000253 mprotect(0xb77b0000, 8192, PROT_READ) = 0 <0.000024>
     0.000112 mprotect(0x8050000, 4096, PROT_READ) = 0 <0.000022>
     0.000108 mprotect(0xb77e9000, 4096, PROT_READ) = 0 <0.000021>
     0.000101 munmap(0xb77b6000, 63473) = 0 <0.000029>
     0.000162 socket(PF_INET, SOCK_RAW, IPPROTO_ICMP) = -1 EPERM (Operation not permitted) <0.000026>
     0.000127 getuid32()                = 1000 <0.000017>
     0.000104 setuid32(1000)            = 0 <0.000019>
     0.000218 brk(0)                    = 0x86ec000 <0.000017>
     0.000101 brk(0x870d000)            = 0x870d000 <0.000020>
     0.000121 getpid()                  = 8039 <0.000018>
     0.000112 open("/etc/resolv.conf", O_RDONLY|O_CLOEXEC) = 3 <0.000032>
     0.000139 fstat64(3, {st_mode=S_IFREG|0644, st_size=254, ...}) = 0 <0.000018>
     0.000174 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77c5000 <0.000020>
     0.000104 read(3, "# Dynamic resolv.conf(5) file fo"..., 4096) = 254 <0.000028>
     0.000148 read(3, "", 4096)         = 0 <0.000019>
     0.000109 close(3)                  = 0 <0.000020>
     0.000099 munmap(0xb77c5000, 4096)  = 0 <0.000029>
     0.000112 stat64("/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=254, ...}) = 0 <0.000026>
     0.000190 open("/etc/resolv.conf", O_RDONLY|O_CLOEXEC) = 3 <0.000027>
     0.000121 fstat64(3, {st_mode=S_IFREG|0644, st_size=254, ...}) = 0 <0.000018>
     0.000159 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77c5000 <0.000019>
     0.000096 read(3, "# Dynamic resolv.conf(5) file fo"..., 4096) = 254 <0.000025>
     0.000134 read(3, "", 4096)         = 0 <0.000018>
     0.000100 close(3)                  = 0 <0.000020>
     0.000098 munmap(0xb77c5000, 4096)  = 0 <0.000025>
     0.000130 socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3 <0.000026>
     0.000116 connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) <0.000042>
     0.000202 close(3)                  = 0 <0.000024>
     0.000099 socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3 <0.000023>
     0.000101 connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) <0.000033>
     0.000215 close(3)                  = 0 <0.000023>
     0.000093 open("/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 3 <0.000025>
     0.000120 fstat64(3, {st_mode=S_IFREG|0644, st_size=491, ...}) = 0 <0.000018>
     0.000149 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77c5000 <0.000019>
     0.000093 read(3, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 491 <0.000026>
     0.000141 read(3, "", 4096)         = 0 <0.000018>
     0.000087 close(3)                  = 0 <0.000020>
     0.000086 munmap(0xb77c5000, 4096)  = 0 <0.000026>
     0.000115 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 <0.000024>
     0.000105 fstat64(3, {st_mode=S_IFREG|0644, st_size=63473, ...}) = 0 <0.000018>
     0.000148 mmap2(NULL, 63473, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb77b6000 <0.000021>
     0.000090 close(3)                  = 0 <0.000017>
     0.000090 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) <0.000022>
     0.000123 open("/lib/i386-linux-gnu/libnss_files.so.2", O_RDONLY|O_CLOEXEC) = 3 <0.000027>
     0.000121 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\32\0\0004\0\0\0"..., 512) = 512 <0.000020>
     0.000129 fstat64(3, {st_mode=S_IFREG|0644, st_size=47040, ...}) = 0 <0.000018>
     0.000152 mmap2(NULL, 50180, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7603000 <0.000021>
     0.000096 mmap2(0xb760e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa) = 0xb760e000 <0.000028>
     0.000122 close(3)                  = 0 <0.000018>
     0.000106 mprotect(0xb760e000, 4096, PROT_READ) = 0 <0.000023>
     0.000097 munmap(0xb77b6000, 63473) = 0 <0.000028>
     0.000102 open("/etc/host.conf", O_RDONLY|O_CLOEXEC) = 3 <0.000026>
     0.000107 fstat64(3, {st_mode=S_IFREG|0644, st_size=92, ...}) = 0 <0.000018>
     0.000148 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77c5000 <0.000020>
     0.000092 read(3, "# The \"order\" line is only used "..., 4096) = 92 <0.000027>
     0.000125 read(3, "", 4096)         = 0 <0.000018>
     0.000086 close(3)                  = 0 <0.000019>
     0.000086 munmap(0xb77c5000, 4096)  = 0 <0.000025>
     0.000107 open("/etc/hosts", O_RDONLY|O_CLOEXEC) = 3 <0.000024>
     0.000105 fstat64(3, {st_mode=S_IFREG|0644, st_size=242, ...}) = 0 <0.000018>
     0.000148 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77c5000 <0.000019>
     0.000091 read(3, "127.0.0.1\tlocalhost\n127.0.1.1\tws"..., 4096) = 242 <0.000025>
     0.000136 read(3, "", 4096)         = 0 <0.000018>
     0.000089 close(3)                  = 0 <0.000019>
     0.000086 munmap(0xb77c5000, 4096)  = 0 <0.000024>
     0.000115 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 <0.000024>
     0.000106 fstat64(3, {st_mode=S_IFREG|0644, st_size=63473, ...}) = 0 <0.000018>
     0.000147 mmap2(NULL, 63473, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb77b6000 <0.000020>
     0.000089 close(3)                  = 0 <0.000017>
     0.000090 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) <0.000022>
     0.000122 open("/lib/i386-linux-gnu/libnss_dns.so.2", O_RDONLY|O_CLOEXEC) = 3 <0.000028>
     0.000122 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\v\0\0004\0\0\0"..., 512) = 512 <0.000020>
     0.000125 fstat64(3, {st_mode=S_IFREG|0644, st_size=22080, ...}) = 0 <0.000017>
     0.000150 mmap2(NULL, 24700, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb75fc000 <0.000021>
     0.000096 mmap2(0xb7601000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4) = 0xb7601000 <0.000027>
     0.000116 close(3)                  = 0 <0.000017>
     0.000094 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) <0.000019>
     0.000107 open("/lib/i386-linux-gnu/libresolv.so.2", O_RDONLY|O_CLOEXEC) = 3 <0.000024>
     0.000112 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260&\0\0004\0\0\0"..., 512) = 512 <0.000017>
     0.000120 fstat64(3, {st_mode=S_IFREG|0644, st_size=83776, ...}) = 0 <0.000015>
     0.000150 mmap2(NULL, 96296, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb75e4000 <0.000018>
     0.000087 mprotect(0xb75f7000, 4096, PROT_NONE) = 0 <0.000022>
     0.000088 mmap2(0xb75f8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13) = 0xb75f8000 <0.000026>
     0.000110 mmap2(0xb75fa000, 6184, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb75fa000 <0.000022>
     0.000103 close(3)                  = 0 <0.000015>
     0.000108 mprotect(0xb75f8000, 4096, PROT_READ) = 0 <0.000020>
     0.000094 mprotect(0xb7601000, 4096, PROT_READ) = 0 <0.000020>
     0.000092 munmap(0xb77b6000, 63473) = 0 <0.000026>
     0.000102 stat64("/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=254, ...}) = 0 <0.000023>
     0.000214 socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 3 <0.000022>
     0.000107 connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 16) = 0 <0.000027>
     0.000131 gettimeofday({1344835522, 468992}, NULL) = 0 <0.000015>
     0.000105 poll([{fd=3, events=POLLOUT}], 1, 0) = 1 ([{fd=3, revents=POLLOUT}]) <0.000018>
     0.000125 send(3, "\31\17\1\0\0\1\0\0\0\0\0\0\7srvr001\3kcc\5local\0\0"..., 35, MSG_NOSIGNAL) = 35 <0.000142>
     0.000259 poll([{fd=3, events=POLLIN}], 1, 5000) = 1 ([{fd=3, revents=POLLIN}]) <0.000308>
     0.000408 ioctl(3, FIONREAD, [51])  = 0 <0.000017>
     0.000141 recvfrom(3, "\31\17\205\200\0\1\0\1\0\0\0\0\7srvr001\3kcc\5local\0\0"..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, [16]) = 51 <0.000018>
     0.000229 close(3)                  = 0 <0.000021>
     0.000118 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3 <0.000020>
     0.000094 connect(3, {sa_family=AF_INET, sin_port=htons(1025), sin_addr=inet_addr("192.168.0.1")}, 16) = 0 <0.000020>
     0.000107 getsockname(3, {sa_family=AF_INET, sin_port=htons(42261), sin_addr=inet_addr("192.168.0.16")}, [16]) = 0 <0.000016>
     0.000103 close(3)                  = 0 <0.000019>
     0.000090 dup(2)                    = 3 <0.000015>
     0.000080 fcntl64(3, F_GETFL)       = 0x2 (flags O_RDWR) <0.000014>
     0.000084 fstat64(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 <0.000015>
     0.000143 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77c5000 <0.000019>
     0.000093 _llseek(3, 0, 0xbfc1e710, SEEK_CUR) = -1 ESPIPE (Illegal seek) <0.000015>
     0.000133 write(3, "ping: icmp open socket: Operatio"..., 48ping: icmp open socket: Operation not permitted
) = 48 <0.000033>
     0.000124 close(3)                  = 0 <0.000014>
     0.000078 munmap(0xb77c5000, 4096)  = 0 <0.000027>
     0.000108 exit_group(2)             = ?

Судя по нему такой задержки вообще нет. В чем проблема не пойму. Ну да ладно, меня это сейчас не сильно волнует. Машине в домен прописана, резольвинг идет, а вот войти под доменной учетной записью не получается. Помогите в соседней тем пожалуйста, в чем может быть проблема?

#269402

"nkl" написал:
Судя по нему такой задержки вообще нет.
У вас выполнение ping завершилось сообщением об ошибке:
ping: icmp open socket: Operation not permitted

"nkl" написал:
на локальной машине нет DNS-сервера.
Уберите/закомментируйте в resolv.conf строку "nameserver 127.0.0.1".
Войдите или зарегистрируйтесь, чтобы ответить.