CDP(Cisco Discovery Protocol)

CCIE R&S candidate の作業ログ。

CDP(Cisco Discovery Protocol)

トポロジは昨日と一緒。

R2#sh cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
                  S - Switch, H - Host, I - IGMP, r - Repeater

Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID
R3               Fas 0/0            153         R S I     3725      Fas 0/1
R1               Fas 0/1            153         R S I     3725      Fas 0/0
R2#sh ver | inc IOS
Cisco IOS Software, 3700 Software (C3725-ADVENTERPRISEK9-M), Version 12.4(15)T14, RELEASE SOFTWARE (fc2)
R2#sh cdp neigh detail
-------------------------
Device ID: R3
Entry address(es):
  IP address: 192.168.23.3
Platform: Cisco 3725,  Capabilities: Router Switch IGMP
Interface: FastEthernet0/0,  Port ID (outgoing port): FastEthernet0/1
Holdtime : 179 sec

Version :
Cisco IOS Software, 3700 Software (C3725-ADVENTERPRISEK9-M), Version 12.4(15)T14, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Compiled Tue 17-Aug-10 12:08 by prod_rel_team

advertisement version: 2
VTP Management Domain: ''
Duplex: half

デバイスのバージョン

R2(config)#no cdp run

R2#sh run | inc cdp
no cdp log mismatch duplex
no cdp run
R1(config)#no cdp run

特定のインターフェース(スタブネットワークで PC、サーバー等が接続される側)にはこういう無効化設定をすることが多いっぽい。
無駄にトラフィックを消費するので喋らせる意味もない。
さらにはインターネット側に面するインターフェースにCDPを無効にする。
IOS のバージョンからプラットフォームまでバレるのでセキュリティ上の理由からである。

R1(config)#cdp run
R1(config)#int f1/0
R1(config-if)#no cdp enable

別に CDP のフレームを観測するデバイスは Cisco のデバイスである必要はなく、 CDP フレームを解釈できるものであれば(Wireshark等)まるわかりである。

Wireshark で覗き見(合法)。

cdp

でフィルタをかけている。

イーサネットフレームの送信元と宛先を確認してみる。

宛先アドレスは I/G ビットが立っているのでマルチキャストMACアドレスとなっている。
送信元はユニキャストMACアドレス。

読める、読めるぞ!

R1#sh cdp
Global CDP information:
    Sending CDP packets every 30 seconds
    Sending a holdtime value of 90 seconds
    Sending CDPv2 advertisements is  enabled
R1#sh cdp interface f0/0
FastEthernet0/0 is up, line protocol is up
  Encapsulation ARPA
  Sending CDP packets every 30 seconds
  Holdtime is 90 seconds
R1#sh cdp interface f1/0

R1#
R2#sh cdp neigh
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
                  S - Switch, H - Host, I - IGMP, r - Repeater

Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID
R3               Fas 0/0            178         R S I     3725      Fas 0/1
R1               Fas 0/1            72          R S I     3725      Fas 0/0

cdp table のクリア

R2#clear cdp table
R2#sh cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
                  S - Switch, H - Host, I - IGMP, r - Repeater

Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID
R2#

特定のエントリの詳細のみ表示。

R2#show cdp entry ?
  *     all CDP neighbor entries
  WORD  Name of CDP neighbor entry

R2#show cdp entry R1
-------------------------
Device ID: R1
Entry address(es):
  IP address: 192.168.12.1
Platform: Cisco 3725,  Capabilities: Router Switch IGMP
Interface: FastEthernet0/1,  Port ID (outgoing port): FastEthernet0/0
Holdtime : 74 sec

Version :
Cisco IOS Software, 3700 Software (C3725-ADVENTERPRISEK9-M), Version 12.4(15)T14, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Compiled Tue 17-Aug-10 12:08 by prod_rel_team

advertisement version: 2
VTP Management Domain: ''
Duplex: half

CDP のトラフィック統計情報を見る。
CDP version 2 のパケットのみ送受信している。

R2#sh cdp traffic
CDP counters :
    Total packets output: 812, Input: 681
    Hdr syntax: 0, Chksum error: 0, Encaps failed: 0
    No memory: 0, Invalid packet: 0, Fragmented: 0
    CDP version 1 advertisements output: 0, Input: 0
    CDP version 2 advertisements output: 812, Input: 681

CDP 統計情報をリセットする

R2#clear cdp counters
R2#sh cdp traffic
CDP counters :
    Total packets output: 0, Input: 0
    Hdr syntax: 0, Chksum error: 0, Encaps failed: 0
    No memory: 0, Invalid packet: 0, Fragmented: 0
    CDP version 1 advertisements output: 0, Input: 0
    CDP version 2 advertisements output: 0, Input: 0

ちなみに CDP に相当する LLDP が IEEE802.1AB で標準化されたマルチベンダの Layer 2 プロトコル。
Link Layer Discovery Protocol

遠くにあるデバイスの接続インターフェースもわかるし便利だね。

References

  1. Ciscoデバイスの操作 – CDP(Cisco Discovery neighbors)

ヤフオクで落札した Cisco Catalyst スイッチにパスワードがかかったままだったので初期化した

先日来から実機検証していて特定のプラットフォーム依存ぽい例を検証するために Catalyst 2950 をヤフオクで落札しました。
いつものようにコンソールケーブルつないでスイッチの起動してログイン、 en, sh ver あたり入力できたら評価しておわりと思っていたんですが、今回は勝手が違いました。

Switch>en
Password:
Password:
Password:
% Bad secrets

イネーブルシークレットが設定されている。。。。(しかもどっかのコンフィグが残ったままと思しきホスト名)
見なかったことにしてさっそくコンフィグの初期化に取り掛かります。
まずはモードボタンを押し続けると。

C2950 Boot Loader (C2950-HBOOT-M) Version 12.1(11r)EA1, RELEASE SOFTWARE (fc1)
Compiled Mon 22-Jul-02 17:18 by antonino
WS-C2950SX-24 starting...
Base ethernet MAC Address: 00:19:2f:fc:ac:c0
Xmodem file system is available.

The system has been interrupted prior to initializing the
flash filesystem.  The following commands will initialize
the flash filesystem, and finish loading the operating
system software:

    flash_init
    load_helper
    boot

switch: flash_init
Initializing Flash...
flashfs[0]: 4 files, 1 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 7741440
flashfs[0]: Bytes used: 3140608
flashfs[0]: Bytes available: 4600832
flashfs[0]: flashfs fsck took 5 seconds.
...done initializing flash.
Boot Sector Filesystem (bs:) installed, fsid: 3
Parameter Block Filesystem (pb:) installed, fsid: 4
switch: load_helper
switch: dir flash:
Directory of flash:/

2    -rwx  3132298   <date>               c2950-i6q4l2-mz.121-22.EA13.bin
3    -rwx  77        <date>               private-config.text
5    -rwx  5002      <date>               config.text
6    -rwx  1048      <date>               multiple-fs

4600832 bytes available (3140608 bytes used)

Ciscoデバイスの管理 – Catalystスイッチ – パスワードリカバリー

switch: rename flash: config.text flash:config.text.old
Unknown cmd: rme
switch: rename flash: config.text flash
Unknown cmd: rename
switch: config
Unknown cmd: config
switch: rename flash: config.text flash: config.text.old
usage: rename <old_name> <new_name>
switch: rename flash:config.text flash:config.text.old

switch: boot
Loading "flash:/c2950-i6q4l2-mz.121-22.EA13.bin"...#############################
#########################################################

(snip)

POST: System Board Test : Passed
POST: Ethernet Controller Test : Passed
ASIC Initialization Passed

POST: FRONT-END LOOPBACK TEST : Passedcisco WS-C2950SX-24 (RC32300) processor (revision M0) with 20957K bytes of memory.
Processor board ID FOC1037Z1E9
Last reset from system-reset
Running Standard Image
24 FastEthernet/IEEE 802.3 interface(s)
2 Gigabit Ethernet/IEEE 802.3 interface(s)

32K bytes of flash-simulated non-volatile configuration memory.
Base ethernet MAC Address: 00:19:2F:FC:AC:C0
Motherboard assembly number: 73-8135-08
Power supply part number: 34-0965-01
Motherboard serial number: FOC10341U7G
Power supply serial number: DTH10274Z6H
Model revision number: M0
Motherboard revision number: A0
Model number: WS-C2950SX-24
System serial number: FOC1037Z1E9

         --- System Configuration Dialog ---

Would you like to enter the initial configuration dialog? [yes/no]:
00:00:13: %SPANTREE-5-EXTENDED_SYSID: Extended SysId enabled for type vlan
00:00:17: %SYS-5-RESTART: System restarted --
Cisco Internetwork Operating System Software
IOS (tm) C2950 Software (C2950-I6Q4L2-M), Version 12.1(22)EA13, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2009 by cisco Systems, Inc.
Compiled Fri 27-Feb-09 22:20 by amvarma
00:00:17: %SNMP-5-COLDSTART: SNMP agent on host Switch is undergoing a cold start
% Please answer 'yes' or 'no'.
Would you like to enter the initial configuration dialog? [yes/no]: no



Press RETURN to get started!


00:00:40: %LINK-5-CHANGED: Interface Vlan1, changed state to administratively down

起動した・・・

Switch>en
Switch#rename flash:config.text.old flash:config.text
Destination filename [config.text]?
Switch#copy flash:config.text system:running-config
Destination filename [running-config]?
5002 bytes copied in 2.752 secs (1818 bytes/sec)
Switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#no enable secret

Switch(config)#^Z
Switch#
*Mar  1 00:11:41.065: %SYS-5-CONFIG_I: Configured from console by console
Switch(config)#no enable password

ブート時のメッセージを見てみる。

00:00:13: %SPANTREE-5-EXTENDED_SYSID: Extended SysId enabled for type vlan
*Mar  1 00:00:18.055: %SYS-5-CONFIG_I: Configured from memory by console
*Mar  1 00:00:18.244: %SYS-5-RESTART: System restarted --
Cisco Internetwork Operating System Software
IOS (tm) C2950 Software (C2950-I6Q4L2-M), Version 12.1(22)EA13, RELEASE SOFTWARE
 (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2009 by cisco Systems, Inc.
Compiled Fri 27-Feb-09 22:20 by amvarma
*Mar  1 00:00:18.244: %SNMP-5-COLDSTART: SNMP agent on host Switch is undergoin
g a cold start Switch Switch Configuration Script V.4.0.0 / Switch_SX-TC-24.cfg
Switch>

Catalystスイッチ – boot system flashコマンド

Switch#show boot
BOOT path-list:
Config file:          flash:/config.text
Private Config file:  flash:/private-config.text
Enable Break:         no
Manual Boot:          no
HELPER path-list:
NVRAM/Config file
      buffer size:    32768
Timeout for Config
          Download:    0 seconds
Config Download
       via DHCP:       disabled (next boot: disabled)

Switch#copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]

今回は設定ファイルは消して工場出荷時に戻したかったので

erase startup-config
reload

です。

[confirm]
[OK]
Erase of nvram: complete
Switch#reloa
*Mar  1 00:01:41.537: %SYS-7-NV_BLOCK_INIT: Initalized the geometry of nvramd
Proceed with reload? [confirm]

*Mar  1 00:01:50.221: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload Command.

本当にありがとうございました。

Cisco Fundamentals: ping, traceroute, debug

CCIE R&S candidate の作業ログ。

Tips

sh int f0/13 するときに画面分割してコンソール接続してるとあと少しで見えそうなのにもう一回スペース入れる必要があったりして微妙に面倒なときがある。
そんなときは terminal length 0 便利。 terminal length 30 とかでもいいかもしれないけど。

ping

拡張ping

R1#
R1#ping
Protocol [ip]:
Target IP address: 172.18.1.2
Repeat count [5]: 100
Datagram size [100]: 1500
Timeout in seconds [2]:
Extended commands [n]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 100, 1500-byte ICMP Echos to 172.18.1.2, timeout is 2 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Success rate is 100 percent (100/100), round-trip min/avg/max = 1/2/4 ms
R1#ping
Protocol [ip]:
Target IP address: 172.18.1.2
Repeat count [5]: 100
Datagram size [100]: 1500
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: f0/0
% Invalid source. Must use same-VRF IP address or full interface name without spaces (e.g. Serial0/1)
Source address or interface: FastEthrnet0/0
% Invalid source. Must use same-VRF IP address or full interface name without spaces (e.g. Serial0/1)
Source address or interface: FastEthernet0/0
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 100, 1500-byte ICMP Echos to 172.18.1.2, timeout is 2 seconds:
Packet sent with a source address of 172.18.1.1
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Success rate is 100 percent (100/100), round-trip min/avg/max = 1/2/4 ms

R1#ping 172.18.1.2 ?
  data      specify data pattern
  df-bit    enable do not fragment bit in IP header
  repeat    specify repeat count
  size      specify datagram size
  source    specify source address or name
  timeout   specify timeout interval
  validate  validate reply data
  <cr>

この記事より前に CCIE R&S Official Cert Guide Vol.1 で苦戦してたのでいろいろ前後している。
うるさいスイッチの音に耐えられなくなってきたので以下は GNS3 で構築したラボ上でのPoC。

VPC1

ip 192.168.1.254 255.255.255.0 192.168.1.1
save

VPC2

ip 192.168.4.254 255.255.255.0 192.168.4.4
save

R1

conf t
int f1/0
ip addr 192.168.1.1 255.255.255.0
no shut
int f0/0
ip addr 192.168.12.1 255.255.255.0
no shut
router ospf 1
network 192.168.0.0 0.0.255.255 area 0
end
wr

R2

conf t
int f0/1
ip addr 192.168.12.2 255.255.255.0
no shut
int f0/0
ip addr 192.168.23.2 255.255.255.0
no shut
router ospf 1
network 192.168.0.0 0.0.255.255 area 0
end
wr

R3

conf t
int f0/1
ip addr 192.168.23.3 255.255.255.0
no shut
int f0/0
ip addr 192.168.34.3 255.255.255.0
no shut
router ospf 1
network 192.168.0.0 0.0.255.255 area 0
end
wr

R4

conf t
int f0/1
ip addr 192.168.34.4 255.255.255.0
no shut
int f1/0
ip addr 192.168.4.4 255.255.255.0
no shut
router ospf 1
network 192.168.0.0 0.0.255.255 area 0
end
wr

GNS3 2.1.1 入れてみたけど不安定だ。
ネイバー関係ロストしたり。
macOS High Sierra になってから GNS3 も Cisco VIRL も、仮想化ハイパーバイザである VMware Fusion も 10 になりいろんなものがバージョンアップされていろいろ不安定になっている。
ちょっとアップグレード早すぎたんじゃないかと思った。

R1#sh ip ro
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.12.0/24 is directly connected, FastEthernet0/0
O    192.168.4.0/24 [110/31] via 192.168.12.2, 00:19:17, FastEthernet0/0
O    192.168.23.0/24 [110/20] via 192.168.12.2, 00:19:17, FastEthernet0/0
O    192.168.34.0/24 [110/30] via 192.168.12.2, 00:19:17, FastEthernet0/0
C    192.168.1.0/24 is directly connected, FastEthernet1/0
R1#ping
Protocol [ip]:
Target IP address: 192.168.4.4
Repeat count [5]: 100
Datagram size [100]: 1500
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: FastEthernet1/0
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 100, 1500-byte ICMP Echos to 192.168.4.4, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.1
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Success rate is 100 percent (100/100), round-trip min/avg/max = 16/44/88 ms

R1#ping 192.168.4.4 ?
  data      specify data pattern
  df-bit    enable do not fragment bit in IP header
  repeat    specify repeat count
  size      specify datagram size
  source    specify source address or name
  timeout   specify timeout interval
  validate  validate reply data
  <cr>

above example equivalent following:

インターフェース名は省略せずに入力する必要がある。

R1#ping 192.168.4.4 repeat 100 size 1500 source FastEthernet 1/0

Type escape sequence to abort.
Sending 100, 1500-byte ICMP Echos to 192.168.4.4, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.1
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Success rate is 100 percent (100/100), round-trip min/avg/max = 16/41/80 ms

traceroute

traceroute コマンド。

R1#trace 192.168.4.4

Type escape sequence to abort.
Tracing the route to 192.168.4.4

  1 192.168.12.2 16 msec 20 msec 20 msec
  2 192.168.23.3 40 msec 36 msec 40 msec
  3 192.168.34.4 40 msec 64 msec 84 msec

R1#trace 192.168.4.4 ?
  numeric  display numeric address
  port     specify port number
  probe    specify number of probes per hop
  source   specify source address or name
  timeout  specify time out
  ttl      specify minimum and maximum ttl
  <cr>

拡張trace

ping 同様

R1#trace
Protocol [ip]:
Target IP address: 192.168.4.4
Source address: FastEthernet1/0
% Invalid source address
R1#trace
Protocol [ip]:
Target IP address: 192.168.4.4
Source address: 192.168.1.1
Numeric display [n]: y
Timeout in seconds [3]:
Probe count [3]: 4
Minimum Time to Live [1]:
Maximum Time to Live [30]:
Port Number [33434]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Type escape sequence to abort.
Tracing the route to 192.168.4.4

  1 192.168.12.2 24 msec 16 msec 24 msec 20 msec
  2 192.168.23.3 20 msec 20 msec 20 msec 20 msec
  3 192.168.34.4 44 msec 60 msec 20 msec 44 msec

R1#trace 192.168.4.254

Type escape sequence to abort.
Tracing the route to 192.168.4.254

  1 192.168.12.2 8 msec 4 msec 8 msec
  2 192.168.23.3 20 msec 24 msec 28 msec
  3 192.168.34.4 36 msec 36 msec 20 msec
  4 192.168.4.254 60 msec 52 msec 36 msec

R1#traceroute 192.168.4.254 probe 4

Type escape sequence to abort.
Tracing the route to 192.168.4.254

  1 192.168.12.2 12 msec 20 msec 16 msec 12 msec
  2 192.168.23.3 32 msec 20 msec 20 msec 16 msec
  3 192.168.34.4 28 msec 36 msec 36 msec 52 msec
  4 192.168.4.254 76 msec 52 msec 68 msec 48 msec

DNS lookup の無効化

トレース先のIPの逆引きをするから遅い。
ちなみに GNS3 ではデフォルトでは投入済みである。

R1#sh run | inc domain
no ip domain lookup

グローバルコンフィギュレーションモードで DNS ルックアップをするようにしてみた。

R1(config)#ip domain-lookup

体感数十倍遅くなった。

R1#traceroute 192.168.4.254

Type escape sequence to abort.
Tracing the route to 192.168.4.254

  1 192.168.12.2 28 msec 24 msec 20 msec
  2 192.168.23.3 32 msec 48 msec 20 msec
  3 192.168.34.4 20 msec 56 msec 20 msec
  4 192.168.4.254 72 msec 40 msec 72 msec

R1#sh run | inc domain
R1#

さて元に戻す

R1(config)#no ip domain lookup
R1(config)#^Z
R1#
*Mar  1 00:41:40.035: %SYS-5-CONFIG_I: Configured from console by console

この場合はハイフン有り無しどっちでもいいっぽい。

R1#sh run | inc domain
no ip domain lookup

存在しないノードを指定する

R1#traceroute 192.168.4.111

Type escape sequence to abort.
Tracing the route to 192.168.4.111

  1 192.168.12.2 12 msec 20 msec 20 msec
  2 192.168.23.3 28 msec 20 msec 16 msec
  3 192.168.34.4 48 msec 20 msec 40 msec
  4  *  *  *
  5  *  *  *
  6  *  *  *
  7  *  *  *
  8  *  *  *
  9  *  *  *
 10  *  *  *

Ctrl+Shift+6 は Windows の場合有効だが Mac (当方 iTerm2 使用)では使えない。

よかった、よかった、と思ったら、Key mappingを作らなくても Ctrl+^ でHEX 1Eが送れることが発覚しました。 ガ〜ン。
もちろんTerminalからも送れます。

Ctrl+^ (HEX 1Es)
R1#traceroute 192.168.4.111

Type escape sequence to abort.
Tracing the route to 192.168.4.111

  1 192.168.12.2 12 msec 20 msec 8 msec
  2 192.168.23.3 24 msec 20 msec 28 msec
  3 192.168.34.4 28 msec 24 msec 40 msec
  4  *
R1#

ホンマや。

debug

負荷が高い。
必要なトラフィックに絞って実行する。

R1#debug ip icmp
ICMP packet debugging is on
R1#ping 192.168.4.4

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.4.4, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 24/32/40 ms
R1#
*Mar  1 01:08:24.303: ICMP: echo reply rcvd, src 192.168.4.4, dst 192.168.12.1
*Mar  1 01:08:24.323: ICMP: echo reply rcvd, src 192.168.4.4, dst 192.168.12.1
*Mar  1 01:08:24.367: ICMP: echo reply rcvd, src 192.168.4.4, dst 192.168.12.1
*Mar  1 01:08:24.391: ICMP: echo reply rcvd, src 192.168.4.4, dst 192.168.12.1
*Mar  1 01:08:24.431: ICMP: echo reply rcvd, src 192.168.4.4, dst 192.168.12.1

オフるには。

R1#no debug all
All possible debugging has been turned off

あるいは

R1#undebug all
All possible debugging has been turned off

debug all を稼働環境で使うと機器が停止するらしい。

rm -rf /

をやってはいけないと言われるのと同様にやってみたくなるのが人間の性である。

そして下記コマンドも負荷が高いとのこと。

show tech-support

入力したら YAMAHA の show techinfo の比じゃない量の出力がされた(5分ぐらいたった今でも出力し続けている)。
考えうるあらゆるものを出力している。

show techinfo はサポート窓口に問合せるときに使う機器の技術情報を出力するコマンドで
ログ、コンフィグ、機器の状態が一切の出力される。

さあ、本日のフィナーレとして debug all コマンドを投入してみようじゃないか。

R1#debug all

This may severely impact network performance. Continue? (yes/[no]): yes

おっ、確認してくるなんで親切じゃないですか。

ッターン。

とめどなくデバッグログが出力される。

undebug all

全然入力できない、というか受け付けない。

改行コード込みで Ctrl+V 連打してるがまったく効果がない。

GNS3 上でプロセスごとリセットかけて復旧。
debug all の危険性がよくわかった。

References

  1. Ciscoデバイスの操作 – Cisco IOSネットワーク診断ツール ping, trace, debug

Cisco の技術者認定試験における私のスタンス

導入

ちょっと主語が大きすぎるだろうか?
最近やっと CCNAv3.0 R&S (Routing and Switching) のトラックを取得することができました。
今は CCNPv2.0 の ROUTE 試験のトラックの学習をしています。

なので CCNAv3.0 R&S レベルの時点での私のネットワークの技術習得に関する考えを書いています。
他のブログ記事でコンフィグとトポロジー、GNS プロジェクトファイルを載せている理由も書いています。
すでに CCNP, CCIE 持ってるしマルチベンダでバリバリやってるぜって人は時間を無駄にしたくない人はそっ閉じしてください。
マサカリ投げたい人ははてブやコメント欄でどうぞ。
あくまで一個人の意見です。

お前誰だよ?

現場ではインフラ側で YAMAHA ルーター等を中心に中小ブランチネットワークや拠点間の VPN 設計・実装等をやっています。
どちらかというとサーバー要素多めで、最近はオンプレで食っていくには小手先のネットワーク知識じゃだめだなと思って Cisco の技術者認定資格の取得に力を入れています。

ネットワークの技術の学習方法

私は実機、シミュレータで実際に動かしてみないとその技術のコンセプトが理解できないたちなので、
テキストや問題集に載っているやつは実際にトポロジを組んでシミュレーターで動かしてコマンド打ち込んでルーターの動きがどう変わるかちゃんと見て理解した上で進めています。

実機をいつ使うか?

実機使うのは本当に基礎的なトピックを理解するために使います。

  1. 物理層(L1)、データリンク層(L2)の細かい動きを確認して実機の動きとシミュレーター上での動きはどう違うのか理解する。
    1. Cisco VIRL で IOSvL2 で STP 実験してみようと思ったらリンク状態が全二重じゃなくて半二重になってて全然意味わからなかったときとかあります。
    2. MDI 同士、MDI-X 同士をつなぐときはクロスケーブル使わないと物理層レベルでだけ up してデータリンク層レベルでは down するよとか。
    3. 今まで Auto MDI/MDI-X に頼ってばかりいましたけど、Cisco ルーター同士をストレート(今市場に大量に出回っているのがこればっかし)直結すると no shut してもリンクアップしなくて困ったりとか。
  2. ロールオーバー(シリアルコンソール)ケーブルをつなぐときはクロスケーブル(だいたいこっちでいい)、ストレートケーブル間違えると正常につなげらんないよとか。
  3. 新しいコンセプトの Hello World 的な構成を試す時とか(RIP, EIGRP, OSPF)。
  4. STP の三角形とか、自分自身につないでループする構成とか(下記)。

ループ接続のイラスト | かわいいフリー素材集 いらすとや

シミュレーターの使い所

シミュレーターを使うのは基本的なこと理解したらようし複数台構成してもっと深いコンセプトを理解するぞってときにやります。
正直 CCNP レベルになってくるとルーターの数 5 台のトポロジとか解説に平気で出てくるので毎回実機使ってたらやってらんないので GNS3 や Cisco VIRL を使っています。。。。
初めてのコンセプトの実装・検証は上記のとおり実機でやります。

実務的な面

いくらシミュレーターで検証しようが、 Visio トポロジーをきれいに書こうが実際にデプロイされるのは物理的な環境です。
いざネットワーク機器の実機や VyOS の VM を目の前にして慌てるようでは目も当てられません。

Cisco 試験の方法論

本読んでひたすら問題集解いて試験 Pass できる人はいいなあと思います。
コンセプト理解しただけで他のベンダのネットワーク機器のマニュアル読んでふんふん設計・設定できるほど私は頭良くないので。。。

まあ、コンセプト理解するだけじゃなくて試験対策として問題集、や ping-t やりまくるのは必要ですけど。
最近は円安が進んで試験の値段がどんどん値上がりしています。
一回落ちると 4 万近くが吹っ飛んでいきます。
順当に CCNP ROUTE, SWITCH, TSHOOT に Pass したとしても 12 万近く吹っ飛ぶわけです。
軽い気持ちで受けられないわけです。
まあ、試験自体は東京の Pearson VUE に登録してお気に入りの試験センター見つけた休みの日にらふらっと行って当日受験なんてことも普通にできますけど。

まとめ

ということでテキストを読むだけでなく、コンセプトをちゃんと(私が)理解するためにテキストには書かれないコンフィグをちゃんと載せて、 GNS3 のプロジェクトファイルも載せているわけです。