У нас есть корпоративный беспроводной маршрутизатор начального уровня TP-Link TL-WVR1300G (китайская страница) в городе B, и у нас есть два физических сервера, расположенных в городе A и городе B, и мы устанавливаем магистраль VoIP (SIP) через Интернет между этими двумя сервера.

До последних дней все было хорошо: качество голосовой связи в этой магистрали VoIP стало настолько плохим, что две стороны вызова не могут слышать друг друга (или одна сторона может слышать другую сторону, но не наоборот).

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


Проверка и диагностика

Когда плохое качество голоса произошло,

  • Общий интернет-трафик в городе А не достиг полной полосы пропускания, предоставленной провайдером, даже не достиг половины полосы пропускания.
  • Я могу пропинговать IP-адрес маршрутизатора в городе B с сервера в городе A, но у меня будет большой процент потери пакетов (> 10%, я даже получил 63% один раз, пинг 100 раз через каждые 5 минут). Хотя я не буду получать процент потери пакетов больше, чем 10% каждые 5 минут, но все же, много.
  • Сотрудники в городе Б могут испытывать одновременно низкую скорость интернета.
  • Я не могу получить доступ к странице веб-администрирования маршрутизатора с помощью популярного браузера - ответа нет.
  • Ну, на самом деле, если я использую команду curl для доступа к домашней странице страницы веб-администрирования маршрутизатора утром, я могу получить ответ. Затем я попытался использовать wget -r для получения всего сайта маршрутизатора, он зависает при доступе к одному файлу .png: /webpages/themes/neoteric/img/password_unshow.png .

    --2018-11-18 13:43:03--  http://172.18.1.1/webpages/themes/neoteric/img/password_unshow.png
    正在连接 172.18.1.1:80... 已连接。
    已发出 HTTP 请求,正在等待回应... 200 OK
    长度:3365 (3.3K) [image/png]
    正在保存至: “172.18.1.1/webpages/themes/neoteric/img/password_unshow.png”
    
    172.18.1.1/webpages/themes/neoteric/img/password_unshow.png 100%[======================================================================>]   3.29K   660 B/s  用时 5.6s
    
    2018-11-18 13:43:08 (600 B/s) - 在 3372/3365 字节处发生读取错误 ((null))。重试中。
    
    --2018-11-18 13:43:09--  (尝试次数: 2)  http://172.18.1.1/webpages/themes/neoteric/img/password_unshow.png
    正在连接 172.18.1.1:80... 已连接。
    已发出 HTTP 请求,正在等待回应... ^C
    

    Теперь страница веб-администрирования маршрутизатора недоступна (без ответа), даже если для доступа к ней до 08:00 следующего дня используется командная строка.

    Но посмотрите на диапазон байтов, о котором сообщает wget : 2018-11-18 13:43:08 (600 B/s) - 在 3372/3365 字节处发生读取错误 ((null))。重试中 Размер файла png составляет 3365 байт, но wget пытается прочитать 3372 байт, который больше, чем размер файла (и он стал нулевым), почему?

  • Поэтому я отключил опцию загрузки изображений (изменив значение permissions.default.image на 2 в about: странице конфигурации) в Firefox и на следующий день зашел на страницу веб-администрирования маршрутизатора, без проблем. И я обнаружил, что есть конфигурация с именем «Автоматическая очистка», и она была запланирована на 8:00 каждый день (поэтому маршрутизатор автоматически самовосстанавливается)
  • В выходные дни, когда в городе B нет дежурных сотрудников, процент потери пакетов при пинге очень низок, даже если страница веб-администрирования маршрутизатора недоступна.

Вопросы)

  • Это явление аппаратного сбоя (сбой флэш-памяти?) что маршрутизатор не отвечает на HTTP-запрос при доступе к файлу password_unshow.png ?
  • Возможные причины, которые вызвали большой процент потери пакетов?

Обновление 2018-11-21

Я попробовал скрипт python из https://github.com/coincoin7/Wireless-Router-Vulnerability/blob/master/TplinkDiagnosticAuthenticatedRCE.txt и вошел в маршрутизатор с помощью telnet , он работает с вариантом OpenWRT, и я нашел там ' Повторные ошибки ввода-вывода при копировании некоторых файлов изображений:

root@TP-LINK:/etc/config# uname -a
Linux TP-LINK 3.3.8 #1 Wed Oct 19 19:14:51 CST 2016 mips GNU/Linux

root@TP-LINK:/etc/config# cat /etc/openwrt_version 
14.07
root@TP-LINK:/etc/config# cat /etc/openwrt_release 
DISTRIB_ID="OpenWrt"
DISTRIB_RELEASE="Barrier Breaker"
DISTRIB_REVISION="r38802"
DISTRIB_CODENAME="barrier_breaker"
DISTRIB_TARGET="ar71xx/generic"
DISTRIB_DESCRIPTION="OpenWrt Barrier Breaker 14.07"
DISTRIB_TAINTS="no-all no-ipv6 busybox"

root@TP-LINK:~# ll /www/webpages/themes/neoteric/img/password_unshow.png 
-rw-rw-r--    1 root     root          3365 Oct  8  2016 /www/webpages/themes/neoteric/img/password_unshow.png
root@TP-LINK:~# cp -p /www/webpages/themes/neoteric/img/password_unshow.png /tmp
cp: read error: Input/output error
root@TP-LINK:~# cp -p /www/webpages/themes/neoteric/img/password_shown.png /tmp
cp: read error: Input/output error
root@TP-LINK:~# cp -p /www/webpages/themes/neoteric/img/tp-link.png /tmp
cp: read error: Input/output error

root@TP-LINK:~# cp -p /www/webpages/themes/neoteric/img/icons-02.png /tmp/
root@TP-LINK:~# cp -p /www/webpages/themes/neoteric/img/icons-01.png /tmp/
root@TP-LINK:~# cp -p /www/webpages/themes/neoteric/img/loading.gif  /tmp/

root@TP-LINK:~# cp -p /www/webpages/themes/neoteric/img/refresh.png  /tmp/
cp: read error: Input/output error

Итак, похоже, что флеш-память вышла из строя.

0