Мне нужно изменить конфигурацию удаленного (6 часов езды) клиента Cisco 871 (IOS 12.4.15T) из моего местоположения из-за новой интернет-службы в его местоположении. Чтобы быть более точным, мне нужно изменить маршрут по умолчанию, IP-адрес внешнего интерфейса (Fa4) и отключить там настройку PPPoE. К сожалению, выполнение любого из этих действий (очевидно) разорвет соединение с маршрутизатором. У меня нет настроенного модема внеполосного управления (знаю, знаю).
Есть ли способ ввести команды, которые мне нужно запустить, и заставить их выполнять одну за другой из файла на флэш-памяти: Я никогда раньше не пробовал ничего подобного. По сути, командный файл в стиле DOS - это именно то, что мне нужно. Ничего подобного, похоже, нет, кроме использования kron для выполнения команд CLI, но это указано Вот поскольку принимают только команды EXEC, а не конфигурационные. Есть ли надежда или мне нужно путешествовать?
Я считаю, что можно скопировать файл из flash: в running-config, но я не уверен на 100%. Возможно, вам лучше скопировать существующую рабочую конфигурацию в known-good-startup
, скопировав нужную конфигурацию поверх конфигурации запуска, затем перезагрузите маршрутизатор (в идеале, с кем-нибудь на месте, которого можно пройти через восстановление в стиле восстановления пароля, если новая конфигурация будет нарушена).
В качестве альтернативы, если соответствующая конфигурация может быть удобно помещена в один кадр TCP, вы можете написать код для выдачи reload in 10
команда, затем config t
и закончите со всеми соответствующими командами конфигурации, разделенными CR NL, в одном кадре.
редактировать: Затем либо войдите на маршрутизатор вручную, либо отправьте второй кадр с достаточным количеством команд в нем для отмены перезагрузки (соответствующая команда IOS reload cancel
).
Вы можете сделать это с помощью макроса tclsh.
Создать макрос
router#tclsh router(tcl)# set foo { +>conf t +>int f0/1 +>ip addr..... +>no ip route 0.0.0.0 ..... +>ip route 0.0.0.0 ..... +>exit +>exit +>}
Выполнить и выйти из tclsh:
router(tcl)#eval $foo ... router(tcl)#tclq
Проверьте это в лабораторной работе, чтобы познакомиться с tclsh в маршрутизаторах Cisco.
Если у тебя есть tftp
сервер, доступный для маршрутизатора, вы можете отредактировать свою конфигурацию там, а затем загрузить конфигурацию с tftp-сервера.
Просто будьте очень осторожны и подготовьте запасной план. Если что-то пойдет не так, вы окажетесь вне сети и вам нужно будет навестить себя или найти кого-нибудь из местных, чтобы он вам помог.
Есть ли у вас телнет доступ к роутеру? Вы можете подключиться к маршрутизатору через Telnet, скопировать текущую конфигурацию в блокнот, внести необходимые изменения и вставить содержимое блокнота обратно в маршрутизатор из режима конфигурации, и это должно сделать это.
Вы можете временно потерять соединение telnet, но маршрутизатор продолжит вставлять загруженную конфигурацию и, предполагая, что новая конфигурация работает, вы сможете снова подключиться к Telnet и сохранить ее в конфигурации запуска.
Если вы используете последнюю версию iOS, вы можете использовать IOS.sh. Как только вы сделаете term shell
, вы можете разделить команды точкой с запятой в одной строке, и они будут запускаться последовательно, как в bash
или похожие.
Вот пример однострочника, в котором я изменил маршрут:
LAB-6807#show run | incl 111.111
ip route 172.31.111.111 255.255.255.255 Loopback0
LAB-6807#term shell
LAB-6807#conf t; no ip route 172.31.111.111 255.255.255.255 Loopback0; ip route 172.31.111.111 255.255.255.255 Null0; end
Enter configuration commands, one per line. End with CNTL/Z.
LAB-6807#
*May 18 22:33:27.772: %SYS-5-CONFIG_I: Configured from console by hunter on vty1 (x.x.x.x)
LAB-6807#show run | incl 111.111
ip route 172.31.111.111 255.255.255.255 Null0
LAB-6807#
Ты можешь использовать configure replace
для отката изменений.
http://www.cisco.com/en/US/docs/ios/12_3t/12_3t7/feature/guide/gtrollbk.html#wp1131261