Ciscoルータには、デバッグ機能が備わっています。
デバッグ機能とは、ネットワークの状況をリアルタイムに表示してくれる機能のこと。たとえば、OSPFを設定したのに隣接関係が確立できないときに、原因を調査するためにDebugコマンドでOSPFのやりとりを調査したりします。
ただしこのDebugコマンドは障害調査に非常に有用であるものの、使い方を間違えるとルータが使用不能に陥る危険性があります。
DebugコマンドはルータのCPUを非常に使います。Debugコマンドを実行すると、ルータはルーティング等に使用するCPU領域を食いつぶされ、正常にルーティング出来なくなってしまう場合があります。
そのため、運用機器にDebugを実行する際は注意が必要です。できればDebugは使用しない運用が望ましいですね。
コマンドは、次のとおりです。
Router#debug [条件]
Debugコマンドはさまざまな条件の情報を取得できます。まずはどのような情報を取得できるか見てみましょう。
Router#debug ?
aaa AAA Authentication, Authorization and Accounting
access-expression Boolean access expression
all Enable all debugging
arp IP ARP and HP Probe transactions
async Async interface information
callback Callback activity
cdp CDP information
chat Chat scripts activity
compress COMPRESS traffic
confmodem Modem configuration database
cpp Cpp information
custom-queue Custom output queueing
dhcp DHCP client activity
dialer Dial on Demand
dnsix Dnsix information
domain Domain Name System
dxi atm-dxi information
eigrp EIGRP Protocol information
entry Incoming queue entries
ethernet-interface Ethernet network interface events
frame-relay Frame Relay
ip IP information
lapb LAPB protocol transactions
lex LAN Extender protocol
list Set interface or/and access list for the next debug command
llc2 LLC2 type II Information
modem Modem control/process activation
nhrp NHRP protocol
ntp NTP information
nvram Debug NVRAM behavior
packet Log unknown packets
pad X25 PAD protocol
pcbus PCbus interface information
ppp PPP (Point to Point Protocol) information
printer LPD printer protocol
priority Priority output queueing
probe HP Probe Proxy Requests
radius RADIUS protocol
rif RIF cache transactions
serial Serial interface information
smf Software MAC filter
snapshot Snapshot activity
snmp SNMP information
spanning Spanning-tree information
standby Hot standby protocol
tacacs TACACS authentication and authorization
tbridge Transparent Bridging
telnet Incoming telnet connections
tftp TFTP packets
token Token Ring information
tunnel Generic Tunnel Interface
v120 V120 information
vtemplate Virtual Template information
x25 X.25 information
実際にデバッグを試してみたいのですが、そのまえにデバッグを止めるコマンドを先に説明しておきましょう。なぜなら、先ほども説明したようにデバッグは注意して使用する必要があります。いざとなったらすぐにデバッグを止められるように準備しておくことも大事です。
デバッグを止めるコマンドは「no debug all
」 か「undebug all
」と入力すれば止めることができます。
コンソール画面上にはデバッグの出力結果が、ガンガン表示されている状況であっても、落ち着いて上記コマンドを入力してリターンキーを押せば止まるはずです。1回入力して止まらなくても何度か実行すれば止まりますので、あきらめず試してみてください。
それでは、例としてルータに流れるIPパケットの情報を表示させてみましょう。
Router#debug ip packet
May 23 00:50:11.614: IP: tableid=0, s=192.168.11.100 (local), d=192.168.11.1 (Ethernet0/0), routed via FIB
May 23 00:50:11.614: IP: s=192.168.11.100 (local), d=192.168.11.1 (Ethernet0/0), len 136, sending
May 23 00:50:11.618: IP: tableid=0, s=192.168.11.1 (Ethernet0/0), d=192.168.11.100 (Ethernet0/0), routed via RIB
May 23 00:50:11.618: IP: s=192.168.11.1 (Ethernet0/0), d=192.168.11.100 (Ethernet0/0), len 164, rcvd 3
May 23 00:50:11.695: IP: tableid=0, s=192.168.11.100 (local), d=10.1.1.1 (Ethernet0/0), routed via FIB
May 23 00:50:11.699: IP: tableid=0, s=192.168.11.100 (local), d=10.1.1.1 (Ethernet0/0), routed via FIB
May 23 00:50:12.504: IP: tableid=0, s=192.168.11.100 (local), d=10.1.1.1 (Ethernet0/0), routed via FIB
May 23 00:50:12.716: IP: tableid=0, s=192.168.11.100 (local), d=10.1.1.1 (Ethernet0/0), routed via FIB
May 23 00:50:12.720: IP: tableid=0, s=192.168.11.100 (local), d=10.1.1.1 (Ethernet0/0), routed via FIB
May 23 00:50:13.734: IP: tableid=0, s=192.168.11.100 (local), d=10.1.1.1 (Ethernet0/0), routed via FIB
「debug ip rip
」や「debug ip ospf
」といったルーティングプロトコルごとにデバッグを確認することもできますし、「debug serial interface
」などとインタフェースごとにデバッグを確認することもできます。
本当の障害が発生する前に、事前に色々と確認しておくことをお勧めします。コンソールでルータに接続している状態であれば、debugコマンドを実行すれば、画面に出力結果が表示されます。
Telnetでルータに接続した場合は、単純にdebugコマンドを実行しただけではターミナル上に出力されませんので、terminal monitor
コマンドを実行しておきましょう。
また、ログを内部バッファへ取りこむようにしている場合は、内部バッファへもデバッグの結果が書き込まれます。
ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!
これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。
もちろん無料です!!
↓メールマガジン購読はこちら↓