Jump to content
  • 0

"Сломался" entware и отвалился dropbear


OmegaTron

Question

Намедни душа наконец не выдержала поэта и что-то наконец радикально наковырнулось. Всё началось, как это обычно водится, с флуда в syslog. В него по кругу сыпали однотипные сообщения

2019-02-04 08:54:01    Kernel.Warning    192.168.1.10    Feb  4 08:54:00 ndm: kernel: do_page_fault(): sending SIGSEGV to sh for invalid read access from 00000034
2019-02-04 08:54:01    Kernel.Warning    192.168.1.10    Feb  4 08:54:00 ndm: kernel: epc = 76fcc818 in libuClibc-1.0.17.so[76f92000+a1000]
2019-02-04 08:54:01    Kernel.Warning    192.168.1.10    Feb  4 08:54:00 ndm: kernel: ra  = 0042dac4 in busybox[400000+89000]

и

2019-02-04 08:54:01    User.Error    192.168.1.10    Feb  4 08:54:00 ndm: Opkg::Manager: /opt/etc/ndm/netfilter.d/002rules: exit соdе -1.
2019-02-04 08:54:01    User.Error    192.168.1.10    Feb  4 08:54:00 ndm: Opkg::Manager: /opt/etc/ndm/netfilter.d/001rules: exit соdе -1.
2019-02-04 08:54:01    User.Error    192.168.1.10    Feb  4 08:54:00 ndm: Opkg::Manager: /opt/etc/ndm/netfilter.d/002rules: exit соdе -1.

и dropbear при этом начисто отвалился. Попытки стрясти текущий лог у вебморды, как это в подобных случаях бывает успеха не возымели - загрузка /ci/log.txt ушла в глухой loop. После ребута флуд прекратился, но вот dropbear так и не зацепился - в логе мелькнула вот такая строчка

2019-02-04 09:05:47    User.Info    192.168.1.10    Jan 30 04:33:46 ndm: Opkg::Manager: /opt/etc/init.d/rc.unslung: dropbear already running.

если верить файлу self-теста процессов dropbear'a в наличии не было вообще. Я уж грешным делом подумал, что покрешилась ФС т.к. Омни в логах жаловался, что стоит флешку чекнуть т.к. что-то с ней не так, но таки нет - find I/O ошибок не выдавал, а e2fsck нашёл лишь одну слегка поломанную ноду

Inode 655373 is in use, but has dtime set.  Fix? yes

теперь вопрос - что это было, что поломалось и как "починить" ?

Edited by OmegaTron
Link to comment
Share on other sites

13 answers to this question

Recommended Posts

  • 1
1 час назад, OmegaTron сказал:

. После ребута флуд прекратился, но вот dropbear так и не зацепился - в логе мелькнула вот такая строчка


2019-02-04 09:05:47    User.Info    192.168.1.10    Jan 30 04:33:46 ndm: Opkg::Manager: /opt/etc/init.d/rc.unslung: dropbear already running.

 

Данная ошибка "already running" часто возникает при наличии не удаленного pid файла от сервиса. Если не меняли запуск то

688 root      2716 S    /opt/sbin/dropbear -p 22 -P /opt/var/run/dropbear.pid

важно удалить файл "/opt/var/run/dropbear.pid"

  • Thanks 1
Link to comment
Share on other sites

  • 0

Сообщение вернул - движку не понравились строки с "code" без тегов внутри тега code и он отожрал весь текст после этого. Заменил на кириллицу, теперь всё ОК.

Edited by OmegaTron
Link to comment
Share on other sites

  • 0
15 минут назад, Александр Рыжов сказал:

Если перегрузиться без флешки, сообщения об ошибках есть?

Какие конкретно ? Те, что флудом шли ? Они ушли после первого же ребута. А вот dropbear так и не поднялся. Завтра буду под микроскопом изучать что там с бинарниками, правами и скриптами. Глянул пока скрипты мелькнувшие в логах - с ними всё ОК. Некоторые процессы вполне себе инициализировались. Например lighttpd.

Edited by OmegaTron
Link to comment
Share on other sites

  • 0
16 минут назад, vasek00 сказал:

важно удалить файл "/opt/var/run/dropbear.pid"

ОК, сейчас потру через ftp и ребутну.

upd: Помогло, спасибо ;) Интересно, что это в этот раз приключилось и почему привело к таким плачевным последствиям ?

Edited by OmegaTron
Link to comment
Share on other sites

  • 0
4 часа назад, Le ecureuil сказал:

Издеваетесь над устройством, вот оно и не выдержало )

В том то и дело, что как раз наоборот. У меня стоит минимальный набор пакетов - lighttpd, tar, jq, xmlstarlet и прочая мелочёвка типа полного grep'a и sed'a необходимая для нормальной работы в шеллом. Пронзать неевклидовы пространства я от роутера не требую и обычно стараюсь его игнорировать. Недавно его нестабильность (аптайм редко держится больше 1-3 дней) меня вконец задолбала и я завёл своп (128 мб) и zram (16 мб при 64 RAM), вероятно это косвенно и послужило причиной недавних проблем (тут мне так никто и не сказал, что это за ошибки и с чем они связаны).

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

Edited by OmegaTron
Link to comment
Share on other sites

  • 0

Дело в том, что Omni II не рассчитывался на то, что на нем будет использоваться opkg. От слова совсем.

Во времена его запуска даже такого компонента не было.

Естественно, что постоянные проблемы с заканчивающимся ОЗУ могут иметь место, все же 64 Мб реально мало даже для всех сетевых функций, которые есть в полном наборе компонентов в 2.15.

Если есть претензии к нему при работе без opkg, то тут возможна (все в  жизни бывает) аппаратная неисправность - при наличии показаний его можно заменить через техподдержку.

Link to comment
Share on other sites

  • 0
3 часа назад, Le ecureuil сказал:

Дело в том, что Omni II не рассчитывался на то, что на нем будет использоваться opkg. От слова совсем.

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

4 часа назад, Le ecureuil сказал:

Естественно, что постоянные проблемы с заканчивающимся ОЗУ могут иметь место, все же 64 Мб реально мало даже для всех сетевых функций, которые есть в полном наборе компонентов в 2.15.

Я не так давно перечислял список компонентов, ну да повторюсь

base,corewireless,dhcpd,ftp,igmp,ip6,opkg,opkg-kmod-fs,opkg-kmod-netfilter,opkg-kmod-netfilter-addons,pingcheck,ppe,pppoe,storage,udpxy,usb

ОЗУ занято не более чем на половину (как раз те самые 32 мб), а из entware там постоянно висят лишь lighttpd который крайне редко используется, socat, который пишет syslog, да dropbear.

4 часа назад, Le ecureuil сказал:

Если есть претензии к нему при работе без opkg, то тут возможна (все в  жизни бывает) аппаратная неисправность - при наличии показаний его можно заменить через техподдержку.

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

Link to comment
Share on other sites

  • 0

Однако проблема и решение по прежнему актуальны даже пять лет спустя. У меня перезапустился роутер и пропал доступ к SSH.
У меня используется opkg для размещения subversion-сервера на Keenetic Ultra KN-1811, с доступом svn+ssh.

В очередной раз обыденно запускаю svn up и получаю ошибку. Т.к. с момента настройки svn-сервера прошло уже много времени, то я и забыл что у меня ssh-сервер входит в opkg, полез сначала в компоненты, увидел «SSH сервер» выключен, установил и ещё некоторое время протупил, пока сообразил что нужно входить с логином admin и паролем от веб-интерфейса. Потом понял что это «SSH сервер» не до Linux (до которого впрочем тоже можно добраться). Потом полистал логи, поискал там ssh, погуглил и понял что нужно искать dropbear. Погуглил ошибку и вот набрёл этот пост. Осталось только сообразить что /opt отображается на устройство, которое используется на OpenPKG и что там нужно удалить /var/run/dropbear.pid по сути. Удалили — и ура, svn снова работает.

Может в какую-нибудь следующую версию opkg добавить удаление этого /opt/var/run/dropbear.pid в каком-нибудь из стартовых скриптов?

Link to comment
Share on other sites

  • 0
3 часа назад, Rage Steel сказал:

Может в какую-нибудь следующую версию opkg добавить удаление этого /opt/var/run/dropbear.pid в каком-нибудь из стартовых скриптов?

Есть же решение:

 

  • Thanks 1
Link to comment
Share on other sites

  • 0
30 минут назад, Mechanics сказал:

Есть же решение

Спасибо тебе, добрый человек, за конкретное решение. Единственное что можно дополнить, это указать конкретный файл конфигурации — у меня это был etc/init.d/S51dropbear на файловой системе, отданной под opkg.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...