きたへふ(Cチーム)のブログ

ファミスタとは特に関係ありません。タブレット・スマホをご利用の方は、できればPCモードで御覧ください。

Cisco Catalystスイッチの復旧方法(例)

2011年02月20日 | ネットワーク
【最終改版日:2011/2/26】

以前、Cisco Catalystシリーズのバックアップ方法のエントリで、vlan.dat等の
バックアップ方法等を紹介しましたが、今回は実際に工場出荷状態のCatalystから
設定を元に戻す手順例を紹介します。

※ 本エントリの内容は、下手するとCatalystが起動できなくなる重大な
  トラブルが発生する可能性があります。記載内容の保証はしませんし、
  責任も持てませんので、あくまで参考情報レベルとして見てください。
  やるんだったら自己責任で!



1. 全体的な手順・用意するもの

全体的な流れ
 1. Catalystに一時用のIPアドレスを付与する
 2. TFTPで作業用PCから必要なデータを取り込む
 3. IOSのバージョンアップorダウン(必要に応じて)
 4. startup-config と vlan.datを戻して再起動

事前に準備するもの
 1. TeraTERMとTFTPサーバ(3CDaemon)の入った作業用PC
 2. 作業用PCとCatalystを繋ぐLANケーブル+Cisco用シリアルケーブル
 3. 事前にバックアップを取ったconfigとvlan.dat (とIOSのデータ)
 4. 新しいCatalyst。追加モジュール類は予め搭載しておく

作業用PCで予め設定すること
 1. 事前にバックアップしておいたconfigデータ と vlan.dat (と必要に応じて
   IOSのデータ)のファイルを、TFTPサーバのドキュメントルートとなる
   フォルダ(例: c:¥tftp等)に予めコピーしておく。

 2. 端末に仮設定用のIPアドレスを付与する。(例:192.168.1.1/24)
 3. TeraTERMでCatalystにシリアル経由でログインする。
 4. Catalystと作業用PCをLANケーブルで繋ぐ。とりあえず1番ポートでOK。



2. Catalystの操作手順 (Catalyst3750Gの場合)

必要なIOS(とライセンス)はすでに入れられているものとして、
startup-configとvlan.datをTFTPで戻す手順を記載します。


 1. シリアルログインして「Switch>」プロンプトを確認

 2. enableでスーパーユーザへ(パスワード不要)。
   「Switch#」プロンプトに変わる。

 3. show version で現在立ち上がっているIOSのバージョンを確認

 4. show running-config でデフォルトのコンフィグを確認。
   この際、デフォルトVLANにIPが振られていないことを確認する。
   
interface Vlan1
 no ip address
!


 5. config terminal で編集モードへ。「Switch(config)#」プロンプトに変更。

 6. interface vlan1 でvlan1(デフォルトVLAN)の設定モードに入る。
  「Switch(config-if)#」プロンプトに変更。

 7. デフォルトVLANにアドレスを付与する。192.168.1.2/24で付与したい場合は、
  「ip address 192.168.1.2 255.255.255.0」と入力。


 8. 一応 no shutdown でデフォルトVLANを明示的に有効化しておく。

 9. end で編集モードから抜ける。

 10. この時点ですでにIPアドレスは生きているので、端末(TFTPサーバ)と
   Catalyst間でpingが届くかどうか確認する。

enableからデフォルトVLANにIPアドレスを振るまでの実行例
Switch>en
Switch#
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#
Switch(config)#interface vlan1
Switch(config-if)#ip address 192.168.1.1 255.255.255.0
Switch(config-if)#no shutdown
Switch(config-if)#end
Switch#
00:25:44: %SYS-5-CONFIG_I: Configured from console by console
Switch#



 11. startup-config と vlan.dat の保存場所を確認する。
   Catalyst3000シリーズであれば、どちらも flash:/ 直下にある
   config.text と vlan.dat になる。
   
Switch#show flash

Directory of flash:/

2 drwx 192 Mar 1 1993 00:08:49 +00:00 c3750-ipservices-mz.122-35.SE5
506 -rwx 108 Mar 1 1993 00:08:49 +00:00 info
507 -rwx 1426 Mar 1 1993 00:35:11 +00:00 config.text ←これ
508 -rwx 5 Mar 1 1993 00:35:11 +00:00 private-config.text
509 -rwx 616 Mar 1 1993 00:18:34 +00:00 vlan.dat ←これ

15998976 bytes total (5487616 bytes free)
Switch#


 【補足:vlan.datとstartup-configの場所について(多分)】
   <vlan.dat>
    Catalyst6000シリーズ = const_nvram:/vlan.dat
    Catalyst4000シリーズ = cat4000_flash:/vlan.dat
    Catalyst3000シリーズ = flash:/vlan.dat
    Catalyst2000シリーズ = flash:/vlan.dat

   <startup-config>
    Catalyst6000シリーズ = nvram:/startup-config
    Catalyst4000シリーズ = nvram:/startup-config
    Catalyst3000シリーズ = flash:/config.text
    Catalyst2000シリーズ = flash:/config.text




 12. TFTPサーバからコンフィグとvlan.datを取り込んで、
   flash上のファイルをそのまま上書きしてしまう。


   copy tftp://[TFTPサーバのIP]/保存config [装置のstartup-configの場所]
   copy tftp://[TFTPサーバのIP]/vlan.dat [装置のvlan.datの場所]


  ※ 下記の例では、端末(TFTPサーバ)のIPアドレスは192.168.1.1、
    事前にバックアップしたコンフィグファイル名は「cat3750-conf」、
    cat3750-confとvlan.datは、どちらもTFTPサーバのドキュメント
    ルート直下に存在するものと仮定します。

  【実行コマンド例】
    copy tftp://192.168.1.1/cat3750-conf flash:config.text
    copy tftp://192.168.1.1/vlan.dat flash:vlan.dat


   この際「上書きしてええか?」という確認がされるが、そのまま実行。

Switch#copy tftp://192.168.1.1/cat3750-conf flash:config.text
Destination filename [config.text]? ←そのままEnter
%Warning:There is a file already existing with this name
Do you want to over write? [confirm] ←そのままEnter
Accessing tftp://192.168.1.1/cat3750-confg...
Loading cat3750-confg from 192.168.1.1 (via Vlan1): !!
[OK - 5343 bytes]

5343 bytes copied in 0.126 secs (42405 bytes/sec)
Switch#
Switch#copy tftp://192.168.1.1/vlan.dat flash:vlan.dat
Destination filename [vlan.dat]? ←そのままEnter
%Warning:There is a file already existing with this name
Do you want to over write? [confirm] ←そのままEnter
Accessing tftp://192.168.1.1/vlan.dat...
Loading vlan.dat from 192.168.1.1 (via Vlan1): !
[OK - 676 bytes]

676 bytes copied in 0.059 secs (11458 bytes/sec)
Switch#


 13. reloadで再起動をかける。
   この際「Saveするか?」と聞かれるが、noで回答すること。
  
Switch#reload

System configuration has been modified. Save? [yes/no]: no

Proceed with reload? [confirm] ←そのままEnter
 :
以下再起動プロセス


問題がなければ、再起動後より設定済みのコンフィグで起動します。
これ以降の操作は、(元configでパスワードが設定されていれば)、
当然ながらパスワード入力が必要になります。



おまけ. IOSを変更する方法

上記での説明は省略しましたが、IOSを更新する場合は次のような手順に
なります。
 (1) TFTPを使ってIOSのファイルをflashにコピー
 (2) conf t で編集モードへ
 (3) boot system flash:[IOSのファイル名] で次回起動するIOSを変更
 (4) endで抜ける
 (5) show boot で次回起動するIOSの情報を確認する
 (6) reload
 (7) 再起動後、show version でIOSのバージョンを確認

詳細はきちんとしたドキュメントを参照すること。
参考技術情報(Cisco社):
 コマンドライン インターフェイスを使用した Catalyst 3550 シリーズ
 スイッチでのソフトウェア イメージのアップグレード




Pocket詳解 Cisco IOSコマンド辞典
松崎 敬
秀和システム

このアイテムの詳細を見る


改訂新版 Cisco Catalyst LANスイッチ教科書
シスコシステムズ株式会社 LANスイッチワーキンググループ
インプレス

このアイテムの詳細を見る

コメント

Cisco Catalystシリーズのバックアップ方法(vlan.datの取得方法)

2010年11月21日 | ネットワーク
ネットワークのお仕事をしていると、事実上業界標準であるCisco Systems社の
製品を扱う機会が必然的に多くなるのですが、このCisco社のL3・L2スイッチ
であるCatalystシリーズは、
コンフィグ情報だけでは、(機器障害時に)元の状態に戻せないことがある
という、いやらしい運用上の欠点があります。

正確にいうとコンフィグ情報があれば、TFTPでstartup-configを上書きして
reloadかければ元に戻ることも多いですし、万が一0から再設定する場合でも、
vlan定義やインタフェース定義等を順番に設定することで戻せはしますが、
重要な機器がハード障害を起こして通信が止まった場合などは、
そんな悠長な復旧方法はやってられません。
現実には「(CEの)誰でも・即時に・確実に」戻せる体制にすることが求められます。

それで実際にCatalystを即時完全復旧させるためには、事前に
 ・コンフィグ (設定情報)
 ・vlan.dat (VLANのデータベースファイル)
を取得しておき、機器交換後にこのデータをリストアする必要があります。

そのうちコンフィグ情報(startup-configやrunning-config)については、
設定変更後に外部保存しておくのが一般的ですが、vlan.datについては
TFTP等で吸い出さないと取得できません。
このエントリでは、盲点になっているvlan.datの取得方法について紹介します。

※ リカバリ方法については、こちらのエントリを参照

参考技術情報(Cisco社):
 Cisco IOS ソフトウェアが稼働している Cisco Catalyst スイッチでの vlan.dat の管理




1. 全体的な手順・用意するもの

準備1. TFTPサーバ
 ・Catalystと通信が出来るTFTPサーバが必要です。
 ・通常は、作業用端末に3CDaemon(後述)等のTFTPサーバ環境を用意します。

準備2. Catalystを操作する環境
 ・telnetもしくはコンソールログインする環境が必要です。
 ・TFTPサーバを兼ねた作業用端末をLANケーブルでネットワークに接続し、
  telnet操作することがよくあるパターンかと思われます。

★ 全体的な手順 (操作端末=TFTPサーバと仮定します)
 (1) vlan.datを取りたいCatalystにtelnetログインし、enableする。
 (2) vlan.datの格納位置を確認する。
 (3) copy [格納位置]/vlan.dat tftp: でTFTPサーバにPUTする。
 (4) TFTPサーバに届いたvlan.datを別の場所に保管する。

TFTPサーバ(3CDaemon)の設定及び、Catalystログイン後の操作手順の詳細を
続けて説明します。



2. TFTPサーバ(3CDaemon)の設定について

※ 2011.7.16 一部追記
 下記の3CDaemonのページは、作成元の3COM社がHP社に
 合併された関係で、なくなちゃったみたいです(合掌)。



TFTPサーバは、3CDaemonというフリーソフトがお手軽です。
下記サイトからダウンロードを行い、PCにインストールします。
 ・本サイト: 3CDaemon (Windows 32bit版)のページ
 ・2010/11/20時点の最新版への直リンク: 3CDaemon ver2.0 rev10 (08/09/2006)

インストール方法は、ダウンロードしたZIPファイルを展開して、
中のsetup.exeを叩いてインストーラーを起動するだけです。



3CDaemonの起動画面

3CDaemonはTFTPサーバ機能に加え、TFTPクライアント・syslogサーバ・
FTPサーバ機能も有します。

TFTPサーバ機能を起動・停止するには左ペインの「TFTP Server」(灰色ボタン)
を押して、上から2番目の「GO」または「STOP」ボタンを押します。
デフォルトでは3CDaemon起動時にTFTPサーバ機能も起動します(設定変更可)。



3CDaemonのTFTPサーバ機能の設定画面

TFTPサーバ機能の設定項目は、デフォルトのままでも使用できますが、
個人的に次の2個所を変更することをお勧めします。

 ・「Upload/Download directory:」欄には、後でCatalystからvlan.dat
  ファイルがUploadされてくるフォルダになります。
  デフォルトでは環境変数TEMPの場所になっているので、判りやすい
  フォルダに変更することが望ましいです。
  個人的にはC:¥ftpのようなドライブ直下の英数字フォルダがお勧めです。

 ・その下の「Per-packet timeout in seconds (2-15):」の欄は、
  デフォルトで5秒が設定されています。
  普通はデフォルト値でも問題ないと思いますが、TFTPサーバと操作端末が
  異なる場合は、1発目の通信に時間がかかる可能性があるので、大きめの
  値を入れておいた方がよいかもしれません。




3. Catalyst側からの転送操作

TFTPサーバ側の準備が終わったら、続いてCatalyst側の操作を行います。

 (1) Catalystにtelnetログインする
   telnetなりシリアルコンソールなりでログインします。


 (2) enableして管理者権限へ移行する
   enableパスワードは押さえておきましょう。


 (3) コンフィグを保存していない場合は、
   copy running-config startup-config で保存する。


   初出時「vlan.datはコンフィグ保存時に作成/更新されます」と記載
   したのですが、実際には設定モードで「vlan 20」のようなコマンドで
   VLANを作成した直後にvlan.datは更新されるみたいです(汗)。
   ただし、コンフィグとvlan.datはセットで保存する必要がありますので
   コンフィグ保存も忘れないようにしましょう。


 (4) vlan.datのファイルの場所を確認する
   vlan.datが作成される場所は機種によって異なります。
    Catalyst6000シリーズ = const_nvram:/vlan.dat
    Catalyst4000シリーズ = cat4000_flash:/vlan.dat
    Catalyst3000シリーズ = flash:/vlan.dat
    Catalyst2000シリーズ = flash:/vlan.dat


   ファイルの確認を行うには次のコマンドを実行します。
    Catalyst6000シリーズ = dir const_nvram:
    Catalyst4000シリーズ = dir cat4000_flash:
    Catalyst3000シリーズ = dir flash:
    Catalyst2000シリーズ = dir flash:

   全機種共通でdir all-filesystemsコマンドで全ファイルを表示し、
   その結果から確認することも出来ます。(その代わり不必要な結果も表示
   されるので、結果からvlan.datの個所のみを抽出する必要があります)


Catalyst6506Eでのdir const_nvram:の実行例:
CAT6506#dir const_nvram:
Directory of const_nvram:/

1 -rw- 1336 <no date> vlan.dat

129004 bytes total (127668 bytes free)


 (5) vlan.datをTFTPで転送する
  vlan.datが存在することが確認できたら、このファイルをTFTPサーバに
  転送します。コマンドは次の通りです:
    Catalyst6000シリーズ = copy const_nvram:/vlan.dat tftp:
    Catalyst4000シリーズ = copy cat4000_flash:/vlan.dat tftp:
    Catalyst3000シリーズ = copy flash:/vlan.dat tftp:
    Catalyst2000シリーズ = copy flash:/vlan.dat tftp:


  <補足>
    全機種ともvlan.datはドライブ直下にあるので、
       copy flash:vlan.dat tftp:
    のようにスラッシュ無しでcopyコマンドを打っても実行できます。


  上記のcopyコマンド実行すると、いずれの場合も次の内容を聞かれるので、
  適切な値を入力し、Enterを押します。(※末尾の補足も参照)

   Address or name of remote host []?
    → TFTPサーバのIPアドレスを入力します(必須)

   Destination filename [vlan.dat]?
    → TFTPサーバに保存するファイル名を入力します。
      vlan.datのままでよければ、そのままEnterを押します。



Catalyst6506EでのTFTP転送の実行例:
CAT6506#copy const_nvram:/vlan.dat tftp:
Address or name of remote host []? 192.168.1.50
Destination filename [vlan.dat]?
!!
1336 bytes copied in 0.372 secs (3591 bytes/sec)
CAT6506#



 (6) 取り込んだvlan.datを確認・保管する
  copyコマンドが正常終了したら 3CDaemonのUpload/Download directory:で
  指定したフォルダにvlan.datファイルができていることを確認します。
  そのファイルをrunning-configと一緒に保管します。
  (機器ごとにフォルダを作っておくことをお勧めします)

  なお、Uploadフォルダにvlan.datが残った状態で別の機器からvlan.datを
  Uploadしようとすると、エラーになるのでご注意下さい。

vlan.datの重複登録エラー例:
CAT2960#copy flash:/vlan.dat tftp:
Address or name of remote host []? 192.168.1.50
Destination filename [vlan.dat]?
TFTP: error code 2 received - Not allowed to overwrite existing files.

%Error opening tftp://192.168.1.50/vlan.dat (Permission denied)
CAT2960#


vlan.datの転送作業は以上で終了となります。
実際にCatalystの運用を行う場合は、最低限
 ・最終コンフィグ
 ・vlan.dat
 ・今動いているバージョンのIOS

のデータファイルは、常に取り出せるようにしておきましょう。

スタートアップコンフィグやランニングコンフィグはvlan.datと同様に、

   copy startup-config tftp:
   copy running-config tftp:

で、TFTPサーバにコンフィグの生データを持ってくることが出来るので、
通常はvlan.datとセットで取得すると便利かと思われます。
このコンフィグ情報は(当然のことながら)テキストエディタで閲覧できます。



おまけ. copyコマンド(TFTP)の補足

copyコマンドでスイッチ内のファイルをTFTPサーバに転送する場合、
下記のようなURL表記でTFTPサーバと保存先ファイル名を先に指定することで、
対話的にTFTPサーバのIPアドレスや保存先ファイル名を入力しなくても
実行可能となります。

【文法】
 copy [元ファイル] tftp://[TFTPサーバのIP]/[保存先ファイル名]

 例: running-configをIPアドレスが192.168.1.1のTFTPサーバに
    「cat3750-confg.log」というファイル名で転送する場合

CAT3750#copy running-config tftp://192.168.1.1/cat3750-confg.log
Address or name of remote host [192.168.1.1]? ←そのままEnter
Destination filename [cat3750-confg.log]? ←そのままEnter
!!
10244 bytes copied in 8.925 secs (1148 bytes/sec)
CAT3750#




Pocket詳解 Cisco IOSコマンド辞典
松崎 敬
秀和システム

このアイテムの詳細を見る


改訂新版 Cisco Catalyst LANスイッチ教科書
シスコシステムズ株式会社 LANスイッチワーキンググループ
インプレス

このアイテムの詳細を見る

コメント