Page 1 of 4 123 ... LastLast
Results 1 to 15 of 54

Thread: Периодические задержки на ping-e

  1. #1
    Join Date
    Mar 2006
    Location
    Moscow, Russia
    Posts
    108

    Question Зависает пинг...

    wl500g deluxe, прошивка 1.9.2.7-7d-pre4, подключение к провайдеру DHCP/PPTP, с роутером общаюсь через SSH (dropbear - putty).
    Недавно обратил внимание: при попытке пинговать любой адрес проходит первый пинг
    Code:
    [admin@ROUTER root]$ ping localhost
    PING localhost.localdomain (127.0.0.1): 56 data bytes
    64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=1.2 ms
    после чего все висит. После нажатия CTRL-C выдается статистика:
    Code:
    --- localhost.localdomain ping statistics ---
    1 packets transmitted, 1 packets received, 0% packet loss
    round-trip min/avg/max = 1.2/1.2/1.2 ms
    [admin@ROUTER root]$
    Играл с опциями пинга, но ничего не помогает. В принципе, напрягает не сильно, но все же интересно, в чем причина. Может быть, повлияла установка какого-либо пакета? Такое впечатление, что сразу после заливки прошивки все было OK. Сейчас установлены: adduser, ipkg, less, mc, nano, ncurses, openssh, openssl, zlib.

  2. #2
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,353
    А type ping что говорит?

  3. #3
    Join Date
    Mar 2006
    Location
    Moscow, Russia
    Posts
    108
    Quote Originally Posted by Oleg
    А type ping что говорит?
    Code:
    [admin@ROUTER root]$ type ping
    ping is /bin/ping

  4. #4
    Join Date
    May 2006
    Location
    Екатеринбург
    Posts
    182
    Столкнулся с зависаниями ping когда поставил мониторинг соединения провайдера. Когда связь есть скрипт:
    Code:
    while true; do 
    
        if ping -c 1 $host1 > /dev/null 2>&1 || ping -c 1 $host2 > /dev/null 2>&1 ; then
    	let live_c+=1
            [ $live_c -ge $flip_trsh ] && dead_c=0
        else
            let dead_c+=1
            live_c=0
        fi
        
        if [ ! -f $online_flag ] && [ $live_c -ge $live_trsh ]; then 
            touch $online_flag
            $LOG "### $1 is ALIVE! ### count: $live_c ###"
        fi
    
        if [ -f $online_flag ] && [ $dead_c -ge $dead_trsh ]; then
            rm $online_flag
            $LOG "### $1 is DEAD! ### count: $dead_c ###"
            kill -1 pppd
        fi
        
        sleep 30
    
    done
    работает нормально. Недавно упало PPPoE и скрипт вис на пингах. Убиванием пинг процессов удалось дать ему досчитать до диагностики "ppp0 is DEAD".

    Стал проверять работу ping.
    Запускаю каждые 5 минут скрипт:
    Code:
    #!/bin/sh
    ping -c 3 192.168.1.2 > /dev/null 2>&1
    На пингуемом компе вижу только один запрос и ответ:
    Code:
    14:50:08.196001 IP ASUSRouter > KABINET: icmp 84: echo request seq 0 (DF)
    14:50:08.196053 IP KABINET > ASUSRouter: icmp 84: echo reply seq 0 (DF)
    14:55:08.374252 IP ASUSRouter > KABINET: icmp 84: echo request seq 0 (DF)
    14:55:08.374304 IP KABINET > ASUSRouter: icmp 84: echo reply seq 0 (DF)
    15:00:08.692029 IP ASUSRouter > KABINET: icmp 84: echo request seq 0 (DF)
    15:00:08.692076 IP KABINET > ASUSRouter: icmp 84: echo reply seq 0 (DF)
    А в роутере висят незавершившиеся пинги:
    Code:
    29663 root        320 S   /opt/sbin/cron
    29664 root        468 S   /bin/sh -c run-parts /opt/etc/cron.5mins
    29665 root        504 S   /bin/sh /opt/bin/run-parts /opt/etc/cron.5mins
    29668 root        500 S   /bin/sh /opt/bin/run-parts /opt/etc/cron.5mins
    29669 root        400 S   ping -c 3 192.168.1.2
    29730 root        320 S   /opt/sbin/cron
    29731 root        468 S   /bin/sh -c run-parts /opt/etc/cron.5mins
    29732 root        504 S   /bin/sh /opt/bin/run-parts /opt/etc/cron.5mins
    29735 root        500 S   /bin/sh /opt/bin/run-parts /opt/etc/cron.5mins
    29736 root        400 S   ping -c 3 192.168.1.2
    29798 root        320 S   /opt/sbin/cron
    29800 root        468 S   /bin/sh -c run-parts /opt/etc/cron.5mins
    29801 root        504 S   /bin/sh /opt/bin/run-parts /opt/etc/cron.5mins
    29805 root        516 S   /bin/sh /opt/bin/run-parts /opt/etc/cron.5mins
    29806 root        400 S   ping -c 3 192.168.1.2
    Ping из BusyBox v1.1.3 (2006.06.29-17:07+0000) прошивка 1.9.2.7-7f-pre7.

    Пинг запущеный из ssh прекрасно работает:
    Code:
    [root@ASUSRouter root]$ ping -c 3 192.168.1.2
    PING 192.168.1.2 (192.168.1.2): 56 data bytes
    84 bytes from 192.168.1.2: icmp_seq=0 ttl=128 time=0.6 ms
    84 bytes from 192.168.1.2: icmp_seq=1 ttl=128 time=0.6 ms
    84 bytes from 192.168.1.2: icmp_seq=2 ttl=128 time=0.6 ms
    
    --- 192.168.1.2 ping statistics ---
    3 packets transmitted, 3 packets received, 0% packet loss
    round-trip min/avg/max = 0.6/0.6/0.6 ms
    Подскажите может что-то я не так делаю или это ошибка?
    Last edited by TVadim; 25-10-2006 at 10:51.

  5. #5
    Join Date
    May 2006
    Location
    Екатеринбург
    Posts
    182
    Посмотрел исходники: есть версия что не приходит сигнал SIGALRM если ping вызван крона или фонового скрипта (не понимаю! ).

    Фрагмент ping.c:
    Code:
    	signal(SIGALRM, sendping);
    	if (pingcount == 0 || ntransmitted < pingcount) {	/* schedule next in 1s */
    		alarm(PINGINTERVAL);
    	} else {					/* done, wait for the last ping to come back */
    		/* todo, don't necessarily need to wait so long... */
    		signal(SIGALRM, pingstats);
    		alarm(MAXWAIT);
    	}
    Посылка сигнала ALRM извне не продвигает пинг.
    Last edited by TVadim; 26-10-2006 at 08:24.

  6. #6
    Блин, у меня та же проблема...

    Code:
    [root@gw root]$ ping -s 1 ya.ru
    PING ya.ru (213.180.204.8): 1 data bytes
    29 bytes from 213.180.204.8: icmp_seq=0 ttl=58 time=30.3 ms
    
    --- ya.ru ping statistics ---
    1 packets transmitted, 1 packets received, 0% packet loss
    round-trip min/avg/max = 30.3/30.3/30.3 ms
    ...прошивка pre8... установлено много разных пакетов дополнительно...

  7. #7
    Замечательно
    Восхитительно
    Отключите OpenSSH и запустите dropbear
    Оттуда ничего не подвисает.

    Что скажете ?

  8. #8
    Join Date
    May 2006
    Location
    Екатеринбург
    Posts
    182
    Quote Originally Posted by Lesnix
    Отключите OpenSSH и запустите dropbear
    Оттуда ничего не подвисает.
    OpenSSH не поставлен, писал выше из под dropbear не виснет.
    Виснет из под крона и из под открепленных sh скриптов.
    Last edited by TVadim; 26-10-2006 at 11:44.

  9. #9
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,353
    Я глянул патчи, которые были в последнее время были в бизибоксе, ничего особо похожего на исправление не нашёл.

    Как повторить _без_ крона? Попробовал с OpenSSH - сходу не получилось.

  10. #10
    Join Date
    May 2006
    Location
    Екатеринбург
    Posts
    182
    Запустить открепленный от терминала циклический скрипт с пингом с повторами. Похоже почему-то не создается аларм. Если счетчик равен 1 то то пинг завершается по ответу, не используя аларм.

  11. #11
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,353
    Давайте пример, пошаговый. Чтобы я сделал именно так, как Вы, после входа через dropbear или openssh.

  12. #12
    Join Date
    May 2006
    Location
    Екатеринбург
    Posts
    182
    Попробовал через dropbear и телнет - не виснет.
    Из крона виснет. Зависал и, как описано в моем первом посте, скрипт пингования провайдера, запущенный из post-mount. Но в нем счетчик пингов = 1 и завиние было когда не было ответа от проверяемых адресов.

    Для крона:
    В cron-5min создается скрипт:
    Code:
    #!/bin/sh
    ping -c 3 192.168.1.2 > /dev/null 2>&1
    И процессах будут незавершенные пинги.
    У меня это стабильно.

  13. #13
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,353
    cron из пакетов? встроенным пробовали пользоваться?

  14. #14
    Join Date
    May 2006
    Location
    Екатеринбург
    Posts
    182
    Из пакетов, про встроенный не знал.
    Проблема то выросла из пингования провайдера, там вызов из post-mount.
    А крон это тестирование.

  15. #15
    Join Date
    May 2006
    Location
    Екатеринбург
    Posts
    182
    Может это связано с памятью, например размером стека выделяемым новому процессу или еще каким-нибудь структурам данных?

Page 1 of 4 123 ... LastLast

Similar Threads

  1. Vlan configuration with Kamikaze 7.09
    By asle_500g in forum WL-500gP Q&A
    Replies: 0
    Last Post: 07-12-2007, 10:56

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •