Configuration Change Notification and Logging
目次
はじめに
まず最初にお詫びです。
前回の記事で、次回予告の内容を間違って書いてしまいました。すみません。
今回の内容は、12.3(4)Tから追加された
Configuration Change Notification and Logging
という機能についてのお勉強です。
名前からも想像できるとおり、設定内容が変わったらそれを記録したり、Syslog
で記録・通知できる機能です。
Feature Overview
12.3(4)T以前のIOSでは、running-configuraionを書き変えたときどんな設定
に変わったか、というのを記録することはできませんでした。
以前の設定と新しい設定の内容を比較するには、古いコンフィグと新しいコン
フィグを一行一行比較する必要がありました。
この場合、変更となった設定項目は何とかわかりますが、何の設定をどんな順
序で、というのまではわかりませんでした。
この機能では、設定されたコンフィグをシーケンシャルに、また、どのユーザ
が何経由で(consoleなのかvtyなのか)変更したのか、更に何時そのコマンド
が実行されたのが、が記録できるようになりました。
Restrictions
この機能には、2つの制限事項があります。
-execモード、configモードで投入された完全なコマンドだけがLoggingされます。
-copyコマンドでコピーされた場合、Loggingされません。
ひとつめの項目には、補足が必要でしょう。Loggingされない例としては、以
下の2つがあります。
-コマンドが間違っていた場合、そのコマンドはLoggingされません。
-コマンドの途中で?(ヘルプ)を実行した場合、そのコマンドはLoggingされません。
Configuration Log
Loggingできる内容には、以下のようなものがあります。
-正しく実行されたコマンド
-そのコマンドを実行したユーザ名
-そのコマンドが実行された時間
-設定が変えられた順番を示すシーケンス番号
他にもパーサー(Parser)が返すreturn codeも記録できると書いてありますが、
これは内部的に記録されるようです。
どんなコマンドが投入されたかはshow archive log configコマンドで確認す
ることができます。
Configuration Change Notifications & Config Change Logging
この機能を有効にして、更にSyslogへのLoggingも有効にすると設定変更が行
われる度に、Syslogサーバへ通知することができます。
Syslogへの記録は、ユーザごと、セッションごとで行われます。
showコマンドで確認すると、こんな感じで出力されます。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Router# sh archive log config al idx sess user@line Logged command 1 1 console@console | logging enable 2 1 console@console | exit 3 1 console@console | exit 4 2 console@console |ipv6 unicast-routing 5 2 console@console |ip multicast-routing 6 2 console@console |do sh archive log config 7 3 console@console |bridge irb 8 3 console@console |bridge 1 protocol ieee 9 3 console@console |interface bvi 1 10 3 console@console | exit 11 4 console@console |!exec: enable 12 4 console@console |!exec: enable ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
execでのコマンドは!execと書かれてLoggingされます。
Usernameコマンドを利用してLocalでの認証を行っている場合、consoleと書か
れているところにLoginしたusernameが表示されます。
Configuring Config Change Notification & Config Change Logging
以下に設定のステップを示します。
Step1
Router# conf t
まず、Global Configuration Modeに移ります。
Step2
Router(config)# archive
Archive Configuration Modeに移ります。
Step3
Router(config-archive)# log config
Configuration Change Logger Configuration Modeに移ります。
Step4
Router(config-archive-log-config)# logging enable
設定変更のLogging機能をenableにします。DefaultはDisableです。
Step5
Router(config-archive-log-config)# logging size entries
Loggingするエントリ数を設定します。指定できる値は、1~1000です。Default
は100エントリとなっています。このエントリがいっぱいになると、古いエント
リから上書きされます。
この設定はOptionalです。
Step6
Router(config-archive-log-config)# hydekeys
Loggingされたファイルの中にパスワード情報が残らないようにします。この
設定はOptionalです。
Step7
Router(config-archive-log-config)# notify syslog
Syslogに通知できるようにします。この設定はOptionalです。
Configuration Example
以下に設定例を示します。
ここでは、Loggingされるエントリ数を500、Syslogへの通知を有効にしていま
す。Syslogへの通知を行う場合は、外部のSyslogサーバに転送するか、内部バ
ッファに保存するか、あるいは両方設定するかがありますが、ここでは外部の
Syslogサーバへのみ通知しています。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Router# conf t Router(config)# archive Router(config-archive)# log config Router(config-archive-log-config)# logging enable Router(config-archive-log-config)# logging size 500 Router(config-archive-log-config)# notify syslog Router(config-archive-log-config)# exit Router(config-archive)# exit Router(config) logging 1.1.1.1 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Further Reading
DocumentへのLinkです。
Cisco IOS 12.4 Configuration Guide
By 『Overseas and Beyond』 Koichi
http://overseasandbeyond.blogspot.com/