1. コマンド一覧

このシナリオで重要なコマンド一覧は以下の通りです。

Router(config)# logging subsystem <subsystem> <severity>
Router(config)# logging subsystem all <severity>
Router(config)# logging buffered <size> [ cyclic | one-time ]
Router(config)# syslog ip enable
Router(config)# syslog ip host <host>
Router(config)# syslog ip facility <facility>

2. 仕様説明

2.1. logging

IXシリーズはデフォルトでloggingは無効になっています。 logginを有効にしたいならば、以下のコマンドでsubsystem毎にseverityを定義します。 なお、subsystemにはtelnet, ssh, ospf, vrrp, natなどが存在します。 例えば、telnetを有効にすればルータへのログイン・ログアウトを記録する事ができます。

Router(config)# logging subsystem <subsystem> <severity>

若干乱暴ですが、以下のコマンドで全subsystemに対するログを有効にする事ができます。 ただし、全subsystemのログを有効にするのは、ログの量が多すぎるのでお勧めできません。

Router(config)# logging subsystem all <severity>

以下のコマンドで出力されたログをメモリ内に保存する事ができます。 保存するログの量やローテートするかを指定する事もできます。 なお、メモリに保存されたログですので再起動と同時に消えてしまう事に注意して下さい。 もし、再起動直前のログ調査が必要ならば後述のsyslogサーバへの転送設定を行って下さい。

Router(config)# logging buffered <size> [ cyclic | one-time ]

2.2. syslog

以下のコマンドでsyslogサーバへのログ転送を有効にします。

Router(config)# syslog ip enable

syslogサーバのIPアドレスおよびfacilityを指定します。

Router(config)# syslog ip host <host>
Router(config)# syslog ip facility <facility>

2.3. 表示に関する設定

以下のコマンドで、メモリ内に展開されるログについて、時刻の表示形式を変更します。 なお、変更されるのはメモリ内のログのみで、syslogには適用されません。

Router(config)# logging timestamp [{ datetime | timeofday | uptime }]

syslogの送信元IPアドレスを明示指定する事ができます。 明示的な指定がないと障害時や構成変更時に送信元IPアドレスが変わってしまいログが見づらくなってしまいます。 送信元をLoopback Addressのような不変の値を使用するようにすると、ログが管理しやすくなります。

Router(config)# syslog ip source

3. 動作確認環境

以下の構成で動作確認を行います。


            ::100    ::254           .254     ::200
 +---------+ .100     .254 +--------+.254      .200 +---------+
 | Host100 +---------------+ IX2215 +---------------+ Host200 |
 +---------+          G1.0 +--------+ G0.0          +---------+
            192.168.0.0/24           150.0.0.0/24
            2001::/64                2001:150::/64
 [Host100]
route add 150.0.0.0 mask 255.255.255.0 192.168.0.254

 [IX2215]
ip route 0.0.0.0/0 150.0.0.254
!
interface GigaEthernet1.0
  ip address 192.168.0.254/24
  ipv6 address 2001::254/64
  no shutdown
!
interface GigaEthernet0.0
  ip address 150.0.0.254/24
  ipv6 address 2001:150::254/64
  no shutdown
!
username cisco password plain cisco
telnet-server ip enable

初期設定の全文は以下を参照下さい。

4. syslog / loggingの設定

4.1. logging 有効化

以下のコマンドを入力し、telnetに関するログ出力を有効にします。

logging subsystem tels info

4.2. local buffer

以下のコマンドでログをメモリ内に保存する事ができます。 メモリ内の保存ですので再起動と同時に消えてしまいます。 もし、障害直前のログが知りたいならば、後述のsyslogサーバへの転送設定が必要です。

logging buffered

ルータから一度ログアウトした後にログインします。 show loggingコマンドでログを確認する事ができます。

R254(config)# show logging
Buffer logging enabled, 131072 bytes, type cyclic
  6 messages (1-6), 399 bytes logged, 0 messages dropped

Log Buffer (1-6):
TELS.003: Disconnected client 192.168.0.100, server 192.168.0.254
TELS.001: Connected client 192.168.0.100, server 192.168.0.254
TELS.003: Disconnected client 192.168.0.100, server 192.168.0.254
TELS.001: Connected client 192.168.0.100, server 192.168.0.254
TELS.003: Disconnected client 192.168.0.100, server 192.168.0.254
TELS.001: Connected client 192.168.0.100, server 192.168.0.254
R254(config)#

4.3. syslogサーバへの転送

syslogサーバへの転送設定は以下3行です。 syslogの転送を有効にし、syslogサーバのIPアドレスとfacilityを指定します。

syslog ip enable
syslog ip host 192.168.0.100
syslog facility local6

何らかの方法でsyslogサーバを構築します。3cdaemonを使用しても良いですし、VMware等でLinuxサーバを構築しても良いでしょう。 syslogサーバにログが転送された事を確認します。

# cat /var/log/nec_ix.log
Jan 26 20:57:39 192.168.0.254  TELS[001]: Connected client 192.168.0.100, server 192.168.0.254
Jan 26 20:57:41 192.168.0.254  TELS[003]: Disconnected client 192.168.0.100, server 192.168.0.254