ネットワーク管理者のためのトラブルシュート(1)

Ciscoルータのデバッグ

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コマンドを実行しておきましょう。

また、ログを内部バッファへ取りこむようにしている場合は、内部バッファへもデバッグの結果が書き込まれます。

関連記事

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: