Все ли внесенные изменения были записаны в файл nvram

Обновлено: 06.07.2024

Настройки по умолчанию

При первой загрузке маршрутизатор запускается с копирования различных настроек по умолчанию

  • CFE загрузчика, платформа Broadcom (актуально для старых моделей)
  • Facroy NVRAM (в новых моделях HDN и новее)
  • Прошивки

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

Что произойдет, если у меня закончится место для NVRAM?

Тут несколько вариантов

  • Невозможно сохранить все изменения
  • Содержимое NVRAM будет повреждено, что приведет к сбою в работе

Почему мне иногда нужно делать сброс к заводским настройкам по умолчанию?

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

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

Могу ли я просто восстановить свои сохраненные настройки после восстановления заводских настроек по умолчанию?

Нет. Идея восстановления заводских настроек по умолчанию состоит в том, чтобы ваш маршрутизатор начал использовать НОВЫЕ значения по умолчанию. Если вы восстановите свои сохраненные настройки, вы перезапишете эти новые значения старыми, и вы вернетесь к исходному состоянию.

Это похоже на использование ПК с поврежденной установкой Windows. Если вы переформатируете и сразу после восстановления резервной копии Ghost / TrueImage / Clonezilla поверх переформатированной Windows, вы вернетесь туда, где вы были до того, как сделали всю эту работу.

Сброс к заводским настройкам: до или после перепрошивки?

Основная цель состоит в том, чтобы использовать НОВЫЕ значения по умолчанию, которые включены в НОВУЮ прошивку, сброс к заводским настройкам по умолчанию должен быть выполнен, когда НОВАЯ прошивка уже установлена. Если вы сделаете это перед обновлением, у вас останутся СТАРЫЕ значения по умолчанию.

Как мне восстановить заводские настройки по умолчанию?

Есть несколько способов сделать это, в зависимости от вашей конкретной ситуации.

Если маршрутизатор загружается правильно, то вы можно использовать любое из следующего:

show startup-config
Показывает содержимое конфигурации, которая применяется при загрузке. Можно скопировать эти данные в буфер обмена и сохранить в файл в качестве бэкапа конфигурации. Этот файл потом можно просто вставить (с небольшими оговорками) из буфера обмена в экран консоли, дать команду wr mem, и этим восстановить конфигурацию (многие программы, автоматически сохраняющие и обновляющие конфигурацию, применяют как раз такой метод).

show running-config
Команда show running-config показывает текущую конфигурацию устройства. Running-configuration – это конфигурация, загруженная в данный момент в оперативную память роутера. Когда вы вносите изменения в оборудование, как раз эта конфигурация изменяется. НО ПОСЛЕ ПЕРЕЗАГРУЗКИ ОН ЗАМЕНЯЕТСЯ НА startup-config, так что не бойтесь испортить после перезагрузки все вернеться.

copy startup-config running-config

Отменяет все сделанные (если были) изменения в конфигурации. То же самое произойдет, если выключить/включить питание (перезагрузить устройство).

copy running-config startup-config
Сохраняет в энергонезависимой памяти все изменения, сделанные в конфигурации. Полный аналог команды write или write memory.

Как зайти в режим конфигурации cisco:

Как добавить строчку в конфигурацию:

прим добавить проброс (просто пишем строчку):

ip nat inside source static tcp 192.168.10.4 22 XXX.XXX.XXX.XXXX 22 extendable

Пример: добавить ip на интерфейсе:

interface Vlan1 (вначале указываем на каком интерфейсе)

ip address 192.168.10.4 255.255.255.0 secondary (добавляем второй, если без secondary то замените)

Как удалить строчку в конфигурацию:

Перед строчкой пишем no и пишем строчку прим:

no ip nat inside source static tcp 192.168.10.4 22 XXX.XXX.XXX.XXXX 22 extendable

Как перегрузить cisco:

reload in 1 (1 это время в минутах через сколько)

И решение как в cisco 871 открыть SSH во вне, сделать проброс порта на внутренний IP

100 команд Cisco IOS

“?”
На первый взгляд использование ? для вызова помощи кажется достаточно простым. Однако Cisco IOS кардинально отличается от других операционных систем в плане использования команды помощи. Поскольку Cisco IOS – это операционная система с командным интерфейсом, существуют тысячи команд для настройки и управления, а использование ? поможет сэкономить немало времени.
Эту команду можно применять различными способами. Во-первых, используйте ?, если не знаете какую команду написать. Например, вы можете написать ? в командной строке для вывода всех возможных команд.
Также можно использовать ?, если вы не знаете аргумент какой-либо команды. Например, можно ввести show ip ? Если команде не нужно никаких аргументов, роутер предложит только CR (возврат каретки).
Наконец, можно использовать? для просмотра всех команд, начинающихся с определённой буквы. Например, show c? покажет все команды, начинающиеся с буквы c.


show running-configuration
Команда show running-config показывает текущую конфигурацию устройства. Running-configuration – это конфигурация, загруженная в данный момент в оперативную память роутера. Когда вы вносите изменения в оборудование, как раз эта конфигурация изменяется.
Важно помнить, что конфигурация не сохраняется пока не выполнить copy running-configuration startup-configuration. Команду show running-config можно сокращать до sh run.


copy running-configuration startup-configuration
Эта команда сохранит текущие модификации в настройках (running-configuration, которая хранится в RAM), в энергонезависимую RAM (NVRAM). Если внезапно исчезнет электропитание, то данные в NVRAM сохранятся. Другими словами, если вы внесёте изменения в конфигурацию роутера или перезагрузите его, не используя перед этим данную команду, то все изменения будут утеряны. Команду можно сократить до copy run start.
Команда copy также используется для копирования текущей или стартовой конфигурации на TFTP-сервер.

  • Состояние интерфейса (вкл./выкл.)
  • Состояние протокола на интерфейсе
  • Использование
  • Ошибки
  • MTU

Более распространёнными, чем show interface являются команды:
show ip interface и show ip interface brief.
Команда show ip interface предоставляет огромное количество информации о конфигурации и состоянии протокола IP и его службах на всех интерфейсах.
Команда show ip interface brief даёт краткий обзор интерфейсов, включая IP-адрес, статусы Layer 2 и Layer 3.


no shutdown
Команда no shutdown включает интерфейс. Она используется в режиме конфигурации интерфейса. Может быть полезна при диагностике или конфигурации новых интерфейсов. Если с каким-либо интерфейсом возникла проблема, можно попробовать ввести shut и no shut. Разумеется, для того, чтобы выключить интерфейс введите shutdown. Команду можно сократить до no shut.


show ip route
Команда show ip route выводит таблицу маршрутизации роутера. Она состоит из списка всех сетей, которые доступны роутеру, их метрике (приоритет маршрутов) и шлюза. Команду можно сократить до sh ip ro. Также после неё могут быть параметры, например sh ip ro ospf (показывает всю маршрутизацию OSPF).
Для очистки всей таблицы маршрутизации необходимо выполнить clear ip route *. Для удаления конкретного маршрута необходимо указать адрес сети после команды, например clear ip route 1.1.1.1.


show version
Команда show version показывает регистр конфигурации (в основном настройки загрузки маршрутизатора), когда последний раз роутер загружался, версию IOS, имя файла IOS, модель устройства, а также количество оперативной и флэш-памяти. Команду можно сократить до sh ver.


debug
У команды debug есть много параметров, и она не работает без них. Эта команда предоставляет детальную отладочную информацию по конкретному приложению, протоколу или службе. Например, debug ip route будет сообщать вам каждый раз, когда маршрут добавляется или удаляется из роутера.

show startup-config
Показывает содержимое конфигурации, которая применяется при загрузке. Можно скопировать эти данные в буфер обмена и сохранить в файл в качестве бэкапа конфигурации. Этот файл потом можно просто вставить (с небольшими оговорками) из буфера обмена в экран консоли, дать команду wr mem, и этим восстановить конфигурацию (многие программы, автоматически сохраняющие и обновляющие конфигурацию, применяют как раз такой метод).


copy startup-config running-config
Отменяет все сделанные (если были) изменения в конфигурации. То же самое произойдет, если выключить/включить питание (перезагрузить устройство).


copy running-config startup-config
Сохраняет в энергонезависимой памяти все изменения, сделанные в конфигурации. Полный аналог команды write или write memory.


write
Сохраняет в энергонезависимой памяти все изменения, сделанные в конфигурации. Полный аналог команды write memory или copy running-config startup-config.


show flash
Показывает размер, свободное место и содержимое (в виде списка) энергонезависимой памяти, которая работает с точно так же, как диск. На этом диске хранятся файлы, с которых записана IOS и конфигурация циски (startup-config и другие). Файлами можно манипулировать командами IOS.


terminal monitor
Переключает вывод debug-информации с консольного порта (RS232) на консоль, подключенную через сетевой интерфейс.


(no) service password-encryption
Команда, которая показывает пароли enable в конфиге в (открытом)закрытом виде


show flash: all
Показывает статус flash - сколько занято, свободно, контрольные суммы, сколько банков и их параметры, тип микросхем памяти.

show vlan (show vlans sh vlans)
Показать существующие vlan и привязку к ним физических интерфейсов.


erase nvram
Очистка конфигурации (startup-config и другая информация), полный сброс энергонезависимой памяти.


end
Полный выход из режима configure. Тот же эффект дает Ctrl-Z.


exit
Шаг назад по дереву конфигурирования (например, выход из реж. конфигурирования одного из интерфейсов).


no vlan n
Удалить vlan n.


(no) shutdown
Административно (включить) выключить сетевой интерфейс.


show vtp status
Показать конфигурацию режима VTP.
vtp mode <server|client>
Включить требуемый режим работы VTP.


show debugging
Показать накопленную (в памяти) статистику отладки.
undebug all
Полностью выключить отладку.


traceroute aaa.bbb.ccc.ddd
Аналог tracert aaa.bbb.ccc.ddd - показать маршрут до указанного IP.


show process cpu
Показать статистику загрузки процессора (в том числе и каждой задачей).


show process cpu history
Показать статистику загрузки процессора с временными графиками.


who
Показать сеансы администраторов, залогинившихся в терминал циски. Выводит примерно следующее:
Line User Host(s) Idle Location
* 98 vty 0 ciadmin idle 00:00:00 10.50.9.152
Interface User Mode Idle Peer Address


ssh -v 2 -l root a.b.c.d
Подсоединиться к <. > по SSH версии 2.


no banner login
Удаляет из конфига все строки banner login (приветствие при логине).


show interfaces port-channel n
Показывает состояние канала портов под номером n, какие порты туда входят.


show ip eigrp neighbors
Показывает EIGRP-соседей, какими интерфейсами с ними контакт, номер EIGRP-процесса.
show ip eigrp interfaces
Показывает список интерфейсов, вовлеченных в EIGRP, номер EIGRP-процесса.
show ip eigrp traffic
show ip eigrp topology
Показывает статистику работы EIGRP, номер EIGRP-процесса.


snmp-server community <строка_пароль> [номер access-листа]
Команда вводится в режиме глобального конфигурирования. Настраивает доступ к внутреннему snmp-серверу для специального ПО (например, чтобы CiscoWorks Device Fault Manager мог собирать статистику о состоянии оборудования). Параметр <строка_пароль> представляет собой community-string, который используется для аутентификации при подключении. Если указать RW, то будет разрешен полный доступ (чтение и запись) в SNMP базу данных устройства (можно не только считывать состояние, но и менять параметры устройства), если RO, то доступ будет только на чтение. Номер access-листа позволяет отфильтровать нежелательные подключения.


setup
Команда setup привилегированного режима запускает мастера первоначальной настройки.


terminal history size n
Команда, меняющая количество запоминаемых ранее введенных команд (n max 256).


telnet IP-адрес
Команда позволяет подключиться к другой циске. <Ctrl+Shift+6> позволяет приостановить сеанс Telnet (не разрывая его) и вернуться к собственной командной строке устройства. Команда disconnect без параметров позволяет разорвать последнее приостановленное соединение, а resume без параметров возобновляет последнее приостановленное соединение.


show diag [номер слота]
Команда показывает подробную информацию о материнской плате устройства Cisco и/или об установленных в слоты адаптерах.


show environment
Команда на некоторых устройствах (чаще дорогих и продвинутых) показывает состояние вентиляторов и температуру устройства, иногда значение питающих напряжений.

show ip sockets
Команда показывает открытые порты и активные соединения устройства Cisco.


show ip traffic
Команда показывает подробную инфо по трафику протоколов IP (много всего, в том числе количество пакетов broadcast и multicast), ICMP, TCP, BGP, IP-EIGRP, PIMv2, IGMP, UDP, OSPF, ARP и об ошибках.


show sessions
Команда показывает информацию приостановленных сессиях Telnet.


show snmp
Команда показывает статистику протокола SNMP (полезно при настройке и проверке работы протокола).


show tcp
Команда показывает подробную статистику о всех открытых соединениях с устройством Cisco


verify flash:имя_файла_IOS
Команда позволяет проверить целостность файла (проверяются контрольные суммы). Полезно выполнить после копирования IOS во флеш (например, при обновлении IOS-а).


clear ip nat translation *
Очистка таблицы NAT, обычно применяемая при смене правил NAT.

Примеры:


Посмотреть таблицу MAC адресов свитча
show mac-address-table


Посмотреть статистику VLAN
или show vlan brief
или show vlan id 20
или show vlan name students
или show vlan summary


Посмотреть статистику портов свитча
show interfaces vlan 20
show interfaces fa0/18 switchport

Базовые команды для конфигурирования CISCO Switch

Отказ от ответственности

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

Введение

Начнем с того, что вообще такое эта NVRAM и зачем она вдруг понадобилась авторам спецификации UEFI, с учетом того, что до этого все спокойно пользовались для хранения своих настроек CMOS SRAM на батарейке и не жужжали. О «логическом» уровне NVRAM я уже рассказывал немного, а здесь постараюсь рассказать подробнее о «физическом».
Итак, NVRAM — это такая специальная область данных, в которой хранятся те UEFI-переменные, у которых установлен атрибут Non-Volatile. Самые популярные переменные такого рода — это Setup, в которой хранится большая часть текущих настроек из BIOS Setup, BootXXXX/BootOrder/BootNext, управляющие порядком загрузки, PK/KEK/db/dbx/dbt, отвечающие за работу SecureBoot, MonotonicCounter, защищающий от replay-атак на предыдущую пятёрку, и множество других, конкретный список зависит от вендора, модели платы и версии её прошивки.

  1. Если в драйвере NVRAM есть ошибка, то он может разрушить не только свои данные, но и данные соседей, в том числе и том, в котором хранится код, тогда после перезагрузки машина встанет колом, и восстановить её из такого состояния будет весьма непросто.
  2. Каждая запись в NVRAM (а их обычно делают несколько при каждом включении и каждой перезагрузке) снижает ресурс SPI-чипа, и при некоторых условиях (к примеру, при постоянно высокой температуре, что не редкость для промышленных ПК) уже через 3-5 лет ресурс этот полностью вырабатывается и система начинает вести себя очень странно. При этом никаких аналогов SMART, EXT_CSD или автоматического wear-out leveling'а производители SPI-чипов 25-ой серии не предоставляют, и я уже пару раз видел системы, на которых чип просто «устал» до полной неработоспособности и его пришлось менять.
  3. Невозможно сбросить разрушенный или неправильный NVRAM перемычкой или выниманием батарейки, нужно стирание при помощи внешнего по отношению к хранилищу SPI-устройства. Некоторое производители имитируют поведение привычного пользователям джампера CLEAR_CMOS при помощи специального DXE-драйвера, храня в CMOS SRAM (которая до сих пор есть, но теперь она значительно меньше, т.к. хранятся в ней только часы и пара флагов) флаг NVRAM_IS_VALID. Если при следующей загрузке флаг этот оказывается сброшен, то выполняется восстановление значений по умолчанию для переменных вроде Setup. К сожалению, очень часто это не помогает, т.к. до загрузки этого драйвера была целая фаза PEI, в которой тоже были модули с запросами к NVRAM, и если запросы удовлетворить не получилось — то и восстановить ничего не выйдет, ибо загрузка прекратится раньше.

Требования к NVRAM

При реализации «физического» уровня NVRAM производителям прошивок пришлось решать множество вопросов: как обеспечить быстрый доступ к переменным на чтение (читаются они во время загрузки достаточно активно), как снизить нагрузку на флеш-память при записи, как хранить переменные таким образом, чтобы не дублировать общие для нескольких переменных данные (vendor GUID'ы, к примеру), как восстановить хотя бы часть данных после сбоя, и так далее. При этом, предложенный Intel при выпуске стандарта EFI 1.10 формат хранилища данных NVRAM оказался хоть и простым, но удовлетворяющим далеко не всем вышеперечисленным требованиям, плюс его формат не был описан в спецификации UEFI PI , т.е. выбор реализации NVRAM оставили конечным вендорам.

Какие бывают форматы

Прежде, чем говорить о форматах, поговорим немного об их названиях. Каждый вендор, следуя давней традиции назвать свою страну «страной» или «землей», а её народ — «людьми», называет свой формат «форматом хранения NVRAM», что несколько мешает их различать. Но нам повезло: т.к. NVRAM обычно хранится внутри специального тома с относительно произвольной структурой, то у заголовков хранилищ имеются сигнатуры, и эти сигнатуры у каждого формата оказались разными. Вот по сигнатурам я их и буду называть, хотя эта терминология еще не устоялась.

Первым исторически и по распространенности оказался предложенный Intel на заре развития EFI формат VSS, который в стандарте UEFI 2.3.1C был расширен для поддержки защищенных переменных, используемых для реализации SecureBoot, а также получил пару расширений от компании Apple, используемых только в их прошивках. Рядом с данными в формате VSS может храниться блок FTW , данные из которого помогают восстановить NVRAM в случае аварийно неоконченной записи (помните, что «питание компьютера можно отключить» в любую секунду). После внедрения SecureBoot понадобилось хранить значения по умолчанию для его переменных, для чего некоторые вендоры добавили к тому же формату блок FDC (тоже названный по сигнатуре), где эти «умолчания» и хранятся.

Почти сразу оказалось, что хранить NVRAM исключительно формате VSS вовсе не обязательно, поэтому кто-то из вендоров (не знаю точно, кто был первым, по моему это был Phoenix) реализовал ему на замену формат EVSA, в котором появилась дедупликация GUID'ов и имен переменных, зато пропали возможности FTW. Формат это не получил особого распространения, но иногда все же нет-нет, да встречается в старых прошивках времен UEFI 2.1. Для своих хранилищ EVSA используют те же самые основной и дополнительный тома NVRAM, что и VSS, поэтому разбор структуры этих томов, как я уже говорил, занятие весьма увлекательное.

В Apple пошли еще дальше, и добавили в те же многострадальные тома еще два блока данных — SVS, формат которого совпадает с обычным VSS с точностью до сигнатуры, и Fsys, формат которого в Apple придумали с нуля.

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

Формат VSS и его вариации


Данные NVRAM во всех виденных мной UEFI-совместимых прошивках, кроме основанных на коде AMI (о которых я расскажу в части, посвященной формату NVAR), хранятся в одном или нескольких томах с GUID FFF12B8D-7696-4C8B-A985-2747075B4F50 (он же EFI_SYSTEM_NV_DATA_FV_GUID, я его называю «основным»), либо с GUID 00504624-8A59-4EEB-BD0F-6B36E96128E0 (его я называю «дополнительным»).
Оба тома имеют разреженную структуру, поэтому приходится просматривать их байт за байтом в поисках сигнатур хранилищ и блоков. Заголовок хранилища VSS выглядит следующим образом:
Не все пока еще умеют разбирать структуры языка C на лету, поэтому есть смысл показать ту же самую структуру на скриншоте:

Легко видно, что перед нами заголовок хранилища VSS с соответствующей сигнатурой , общим размером 0xFFB8 байт, правильно отформатированное и с верными данными .
Apple иногда использует такой же заголовок, но с другой сигнатурой — $SVS. Зачем так сделано — не знаю, think different, видимо.
Сразу после заголовка хранилища начинаются хранящиеся в нем переменные. Располагаются они друг за другом, и на всех архитектурах, кроме IA64 (она же Itanium), для которой упоминается требование выравнивания начала переменных по восьмибайтовой границе, но у меня просто нет образов прошивок для этой архитектуры, чтобы проверить это утверждение.

Форматов переменных за десятилетнюю историю VSS накопилось три штуки: старый, использовавшийся до UEFI 2.3.1C, его расширение от Apple с дополнительным полем для CRC32, и новый, внедрение которого потребовалось для поддержки SecureBoot. Возможно, есть еще какие-то другие, но найти образы с ними мне пока не удалось, может быть у читателей получится.

Standard


Если вручную разбирать ничего не хочется, можно воспользоваться последней альфа-версией UEFITool NE, из него том NVRAM со скриншотов выше выглядит так:

Apple CRC

Примерно пару лет назад в Apple решили, что их переменным не хватает контрольной суммы, и поэтому добавили к заголовку выше еще одно поле, в котором хранится CRC32-контрольная сумма блока данных переменной. Этот формат Apple использует по сей день, и, скорее всего, продолжит использовать в будущем. Заголовок его выглядит вот так:
Скриншоты прикладывать не буду, там все совершенно по аналогии, скажу только, что Apple использует дополнительный атрибут 0x80000000 (CRC_USED), чтобы отличать свой заголовок от стандартного.

Authenticated


После того, как UEFI Forum принял решение использовать NVRAM для хранения ключей, используемых технологией SecureBoot, понадобилась доработка формата. Новые переменные получили заголовок следующего вида:
На скриншоте такая переменная выглядит примерно так:

Маркер тот же, что и у обычных переменных, состояние в данном случае 0x3F (VARIABLE_ADDED), атрибуты — 0x27 (BS+NV+RT+TA ), счетчик не задействован, зато задействована временная метка в формате EFI_TIME, индекс в БД публичных ключей также не задействован, размер имени — 0x08, размер данных — 0x64D, GUID — D719B2CB-3D3A-4596-A3BC-DAD00E67656F, а зовут эту переменную dbx.


В UEFITool эта же переменная выглядит вот так:

Wireless Comprehensive Advanced Technology. Build your network now.

Wi-CAT LLC

Снова по nvram.

Не вполне понятны команды:

buf_get - buffered get value from nvram for <platform>

genwlconfig - generate config file from nvram for <platform>

genstaticroutes - generate static routes scripts from nvram for <platform>
geniptablesrules - generate iptables rules from nvram for <platform>

renew - это вроде ясно - конфиг заливается из предзагруженного файла с переменными.

По поводу сохранения файла с конфигом из nvram (чтоб забрать его удаленно) пока предположил, что это можно сделать как-то типа:
nvram_show 2860 > /tmp/dev.cfg и потом забрать его SCP. или просто слить из вывода nvram_show 2860 через SSH во время сессии .

Теперь по поводу настройки "сырого" устройства через консоль известными параметрами. как делать лучше?

--подключиться по ССХ и через nvram_set менять/записывать каждую переменную индивидуально .
--подключиться по ССХ; слить "сырой" конфиг (через nvram_show как описано выше) в файл; забрать его на машину; изменить необходимые переменные; залить файл обратно на устройство; записать переменные из файла в nvram через renew - т.е. все за раз .

Не вполне понятны команды:

buf_get - buffered get value from nvram for <platform>

genwlconfig - generate config file from nvram for <platform>

genstaticroutes - generate static routes scripts from nvram for <platform>
geniptablesrules - generate iptables rules from nvram for <platform>

renew - это вроде ясно - конфиг заливается из предзагруженного файла с переменными.

По поводу сохранения файла с конфигом из nvram (чтоб забрать его удаленно) пока предположил, что это можно сделать как-то типа:
nvram_show 2860 > /tmp/dev.cfg и потом забрать его SCP. или просто слить из вывода nvram_show 2860 через SSH во время сессии .

Теперь по поводу настройки "сырого" устройства через консоль известными параметрами. как делать лучше?

--подключиться по ССХ и через nvram_set менять/записывать каждую переменную индивидуально .
--подключиться по ССХ; слить "сырой" конфиг (через nvram_show как описано выше) в файл; забрать его на машину; изменить необходимые переменные; залить файл обратно на устройство; записать переменные из файла в nvram через renew - т.е. все за раз .

Читайте также: