Начиная с версии ПО 6.6.9 реализована поддержка функционала replace config, позволяющего вносить изменения в конфигурацию из отдельного режима называемого candidate-config, без мгновенного применения.
Доступ в candidate-config осуществляется командой configure candidate:
console#configure candidate console(config)@
Для мгновенного применения конфигурации-кандидата, необходимо выполнить команду commit at 0:
console(config)@commit at 0 The operation may take a few minutes and may cause an interruption of services. Configuration will not rolled back automatically if no confirm is followed. Do you wish to proceed? (Y/N)[N] Y
Применение конфигурации командой commit можно произвести через определенное время, от 0 до 1200 секунд, указываемое в опции at:
console(config)@commit at <0-1200> Duration of rollback timer in seconds. Specify '0' to commit configuration with no following rollback and with no need of confirm.
Без опции at конфигурация также применится мгновенно, но в течении 600 секунд необходимо подтвердить применение командой confirm, иначе произойдет откат действующей конфигурации к той, что была в running-config до применения candidate-config:
console(config)@commit The operation may take a few minutes and may cause an interruption of services. Commit will be rolled back in 600 seconds if not confirmed. Do you wish to proceed? (Y/N)[N] Y 13-Aug-2025 12:44:47 %CDB-N-COMMITCANOK: Candidate config commit was complete successfully. console(config)@confirm
Рассмотрим работу механизма на примере изменения правил acl без снятия его с интерфейса.
1. Изначально настроим следующую конфигурацию:
console#sh run ip access-list extended test deny udp any any any any ace-priority 20 exit ! ! interface TenGigabitEthernet1/0/1 service-acl input test exit ! ! end
2. Заходим в режим candidate-config:
console#configure candidate console(config)@
3. В этом режиме редактируем acl, добавляя правило permit ip any any:
console(config)@ip access-list extended test console(config-ip-al)@permit ip any any console(config-ip-al)@
4. Теперь фактически на коммутаторе имеется две конфигурации, действующая и конфигурация-кандидат:
console(config-ip-al)@do sh running-config ip access-list extended test deny udp any any any any ace-priority 20 exit ! ! interface TenGigabitEthernet1/0/1 service-acl input test exit ! ! end console(config-ip-al)@do sh candidate-config ip access-list extended test deny udp any any any any ace-priority 20 permit ip any any ace-priority 40 exit ! ! interface TenGigabitEthernet1/0/1 service-acl input test exit ! ! end
5. Применяем конфигурацию-кандидат и проверяем результат:
console(config-ip-al)@commit at 0 The operation may take a few minutes and may cause an interruption of services. Configuration will not rolled back automatically if no confirm is followed. Do you wish to proceed? (Y/N)[N] Y 30-Apr-2025 00:57:35 %CDB-N-SETORTESTVARIDERROR: Cannot delete/modify ACE While the ACL is bound to an interface or Class-map 30-Apr-2025 00:57:35 %CDB-N-COMMITCANOK: Candidate config commit was complete successfully. console#sh run ip access-list extended test deny udp any any any any ace-priority 20 permit ip any any ace-priority 40 exit ! ! interface TenGigabitEthernet1/0/1 service-acl input test exit ! ! end