Archive ConfigはsyslogサーバやFTPサーバを用いて、Cisco機の設定を世代管理する方法です。パスワードを伏字にしたり一定時間間隔で設定を保存したりする機能も備わっています。
コマンド一覧
このシナリオで重要なコマンド一覧は以下の通りです。
Router(config)# archive Router(config-archive)# log config Router(config-archive-log-cfg)# logging enable Router(config-archive-log-cfg)# logging size <num> Router(config-archive-log-cfg)# notify syslog Router(config-archive-log-cfg)# hidekeys
構成図
R1 e0/0をHostOSのLoopback Adapterと接続します。なお、HostOSでは3CDaemonを用いてsyslogサーバとFTPサーバを起動させています。
Lo0 e0/0 +--------+.101 .1+--------+ | HostOS +--------+ R1 | +--------+ +--------+ 192.168.1.0/24
[R1] interface Ethernet0/0 ip address 192.168.1.1 255.255.255.0 no shutdown
設定全文は下記ファイルです。詳細設定は下記を参照ください。
仕様説明
config chage notification
以下のような設定でconfigの変更をsyslogで通知する事ができます。logging size <num>はconfigの変更を貯めるqueueの長さの設定で、hidekeysはパスワードを伏字にする設定です。
Router(config)# archive Router(config-archive)# log config Router(config-archive-log-cfg)# logging enable Router(config-archive-log-cfg)# logging size <num> Router(config-archive-log-cfg)# notify syslog Router(config-archive-log-cfg)# hidekeys
archive config
以下のような設定でconfigの世代管理をする事ができます。write-memoryは設定保存と同時にconfigをremoteへ転送する設定で、time-periodは自動的にconfigをremoteへ転送する間隔の設定です。
Router(config)# archive Router(config-archive)# path <url> Router(config-archive)# write-memory Router(config-archive)# time-period <min>
config chage notification
設定投入
以下の設定を投入し、configの変化をsyslogサーバへ通知するようにします。また、パスワードに関しては伏字で通知するようにします。
[R1] archive log config logging enable logging size 500 notify syslog hidekeys ! logging 192.168.1.101
動作確認
動作確認のため、以下の設定変更を行います。
[R1] username cisco secret sanjose enable secret cisco
showコマンドより、どのようなログがsyslogとして転送されたかを確認します。また、パスワードを含む設定は伏字になっている事も確認します。
[R1] R1#show archive log config all idx sess user@line Logged command 1 1 console@console | logging enable 2 1 console@console | logging size 500 3 1 console@console | exit 4 1 console@console | log config 5 1 console@console | exit 6 1 console@console | log config 7 1 console@console | notify syslog 8 1 console@console | hidekeys 9 1 console@console | exit 10 1 console@console | exit 11 2 console@console |username cisco secret ***** 12 2 console@console |!config: USER TABLE MODIFIED 13 2 console@console |enable secret ***** R1#
syslogサーバには以下のようなログが記載されている事が確認できます。
Jan 09 01:02:26 192.168.1.1 33: *Mar 1 00:09:34.451: %SYS-5-CONFIG_I: Configured from console by console Jan 09 01:02:31 192.168.1.1 34: *Mar 1 00:09:39.723: %SYS-5-CONFIG_I: Configured from console by console Jan 09 01:06:04 192.168.1.1 35: *Mar 1 00:13:12.751: %PARSER-5-CFGLOG_LOGGEDCMD: User:console logged command:notify syslog Jan 09 01:06:08 192.168.1.1 36: *Mar 1 00:13:16.307: %PARSER-5-CFGLOG_LOGGEDCMD: User:console logged command:hidekeys Jan 09 01:06:14 192.168.1.1 37: *Mar 1 00:13:22.911: %PARSER-5-CFGLOG_LOGGEDCMD: User:console logged command:exit Jan 09 01:06:16 192.168.1.1 38: *Mar 1 00:13:24.371: %PARSER-5-CFGLOG_LOGGEDCMD: User:console logged command:exit Jan 09 01:06:19 192.168.1.1 39: *Mar 1 00:13:28.259: %SYS-5-CONFIG_I: Configured from console by console Jan 09 01:07:08 192.168.1.1 40: *Mar 1 00:14:16.503: %PARSER-5-CFGLOG_LOGGEDCMD: User:console logged command:username cisco secret ***** Jan 09 01:07:08 192.168.1.1 41: *Mar 1 00:14:16.503: %PARSER-5-CFGLOG_LOGGEDCMD: User:console logged command:!config: USER TABLE MODIFIED Jan 09 01:07:15 192.168.1.1 42: *Mar 1 00:14:24.039: %PARSER-5-CFGLOG_LOGGEDCMD: User:console logged command:enable secret ***** Jan 09 01:07:25 192.168.1.1 43: *Mar 1 00:14:33.319: %SYS-5-CONFIG_I: Configured from console by console
archive config
設定投入
以下のコマンドを投入し、configをFTPサーバで世代管理できるようにします。
[R1] archive path ftp://192.168.1.101/r1.cfg write-memory time-period 1440 ! ip ftp username cisco ip ftp password sanjose
動作確認
write memoryコマンドを数回発行します。その後、設定がFTPサーバにて管理されている事を確認します。
[R1] R1#write memory Building configuration... [OK] Writing r1.cfg-1 ! R1# R1# R1#write memory Building configuration... [OK] Writing r1.cfg-2 ! R1# R1# R1#show archive The next archive file will be named ftp://192.168.1.101/r1.cfg-3 Archive # Name 0 1 ftp://192.168.1.101/r1.cfg-1 2 ftp://192.168.1.101/r1.cfg-2 <- Most Recent 3 4 5 6 7 8 9 10 11 12 13 14 R1#
rollback
FTPサーバに保存された設定を使用して、設定のrollbackができる事を確認します。rollbackにはconfigure replaceコマンドを使用します。
[R1] R1#conf t Enter configuration commands, one per line. End with CNTL/Z. R1(config)#line vty 0 4 R1(config-line)#login local R1(config-line)#^Z R1# R1#configure replace ftp://192.168.1.101/r1.cfg-2 This will apply all necessary additions and deletions to replace the current running configuration with the contents of the specified configuration file, which is assumed to be a complete configuration, not a partial configuration. Enter Y if you are sure you want to proceed. ? [no]: yes Loading r1.cfg-2 ! [OK - 1011/4096 bytes] Total number of passes: 0 Rollback Done R1# *Mar 1 01:15:36.119: Rollback:Acquired Configuration lock. R1# R1#show running-config | section line vty line vty 0 4 login R1#