У нас есть корпоративный беспроводной маршрутизатор начального уровня 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
Итак, похоже, что флеш-память вышла из строя.