TGViewer
Патчкорд Патчкорд @patchcord · 2.9K subscribers
Post #2884 2.96K
Патчкорд Не думал что уже увижу просто vi, а не vim и тем более им придётся воспользоваться. Но в итоге именно он и спас когда пришлось править установочные скрипты на RAM диске для восстановления одного из серверов с очень странной флэшки. Попутно оказалось, что я…
Vi рулит в ситуациях когда не остаётся вариантов, а это не такая уж и редкость. Недавнее приключение - пропадает электропитание, Juniper ребутится и возвращается в аварийном Amnesiac режиме. Повод залогиниться и разобраться, но файлы побились, включая базу паролей, и тебя никуда и никак не пускает, хотя должно было бы. Ладно, есть режимы восстановления в которые можно зайти при перезагрузке, что отдельная проблема, потому что перезагружать особо не кому, а уложиться, чтобы перейти, надо в 3 секунды. Сброс на заводские настройки с кнопки, тоже, кстати, отказал.

Когда наконец попадаем в консоль FreeBSD, то понимаем что стандартный описанный способ восстановления хотя бы пароля не сработает, потому что без системной базы паролей никакая Juniper консоль не запустится, а у нас в /etc/passwd бинарная каша, а /etc/master.passwd ссылается на пустоту, и в распоряжении только тот набор системных утилит, что есть в образе FreeBSD включая vi и pwd_mkdb. Их хватает чтобы сформировать новую базу паролей /usr/sbin/pwd_mkdb -p /etc/master.passwd, скопировав содержимого оригинального файл с другого устройства, но в принципе можно найти в установочном файле, хотя закопано там очень далеко, архив на архиве и в конце образ QEMU диска. Я думаю хватило бы и одного root или стандартного BSD списка пользователей. После чего попадаем в консоль Juniper, которая уже запускается, откуда сбрасываем конфиг и ставим систему заново, но тут повезло, что того что осталось не побитого для этого хватило.

Удивительно, что за неделю до этого PaloAlto выкинул такой же фортель, сломав /etc/passwd при обновлении записав туда два раза root. К счастью, это не повлияло на возможность попадать в режим обслуживания, который, загрузился сам, ловить момент с нажатием кнопок и вводить пароли было не надо. Даже по сети доступ оставался, который у PA для управления всегда внеполосный, там правда пароль нужен, но не системный, по серийнику.

Диски с флешками, с Linux или BSD сейчас везде, и они ломаются, и к этому надо быть готовым, сохраняя не только конфиг непосредственно устройства, но и образ файловой системы, такое многие позволяют делать. Внеполосное управление обязательно. Если можете сделать так чтобы управлять питанием удалённо, для перезагрузки устройства когда надо, а не когда может удалённая сторона - сделайте, перезагружаться порой приходится по много раз, ищя варианты восстановления. И конечно удачи, совсем немного, чтобы нескучно провести майские праздники.
Telegram Патчкорд Раз уж несколько раз на глаза попалось, да и коллеги скинули ссылку на Хабр, вспомню как мы Cisco SCE «чинили». Всё как в статье - работала, перестала. При загрузке в консоли попадаем в U-Boot, видим что с ФС проблема на SD карте. Ну и потыкав немногочисленные…
  • 👍 17
  • 👎 1
More from @patchcord
  1. Sep 22, 2026В Cisco OSPF может подниматься в нескольких экземплярах на одном устройстве через конструк…
  2. Sep 21, 2026Никто не хочет TCP в датацентрах, потому что его избыточный контроль сильно замедляет все…
  3. Sep 21, 2026CAIDA какие-то очевидные вещи пишет: если сделать фильтр BGP дампов на стороне коллектора…
  4. Sep 18, 2026Давно не замечал никаких изменений в блокировках у своего провайдера, схема оставалась пон…
  5. Sep 16, 2026Подписчики делятся ссылкой, огромное спасибо за это. Интерактивная страничка со структурой…
  6. Sep 16, 2026Как ведёт себя BGP в Cisco IOS во время установки TCP сессии, но до обмена BGP сообщениями…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →