元バンドマンITエンジニアの語り場

技術とか趣味とか日々の至福と鬱憤とか

【ネットワーク】CiscoIOSバージョンアップ手順

IOSのバージョンアップ手順についてめとめておきます。

1.手順概要

  1. IOSファイル(.bin)を入手する
  2. FTPソフトウェアをPCに準備する
  3. 対象機器のIOSファイルを転送する
  4. ブートするIOSファイルを指定する
  5. 対象機器を再起動する

2.FTPソフトウェアの準備

バージョンアップ先のISOファイルを入手している前提となります。 IOSファイルをバージョンアップ対象のNW機器に転送する必要があるため、作業用PCにFTPソフトウェアをインストールしておきます。ネットワークエンジニア界隈だと、「3CDaemon」を使うことが多い印象です。 3CDaemonを入れておくとFTPサーバ、TFTPサーバ、SYSLOGサーバ、TFTPクライアントとして使えるので何かと便利です。ネットワークエンジニアの七つ道具の一つですね。

下記リンクからダウンロードできます。 iowin.net

今回の作業ではIOSファイルをネットワーク機器に転送したいので3CDaemonを「FTP Server」として起動します。

おっと、IOS転送前に事前にフラッシュメモリに転送するbinファイルのサイズ以上の空きがあることを確認しておきましょう。

Router#dir flash:
Directory of bootflash:/

80641 drwx 4096 Dec 24 2017 01:23:45 +00:00 core
161281 drwx 4096 Dec 24 2017 01:23:45 +00:00 .rollback_timer
112897 drwx 32768 Dec 24 2017 01:23:45 +00:00 tracelogs
14 -rw- 30 Dec 24 2017 01:23:45 +00:00 throughput_monitor_params
16 -rw- 550119351 Dec 24 2017 01:23:45 +00:00 isr4300-universalk9.16.06.04.SPA.bin

3249049600 bytes total (1982152704 bytes free) ←ここでフラッシュメモリの空き容量を確認する

3. 対象機器のIOSファイルを転送

フラッシュメモリに空きがあるようならIOSファイルを転送しましょう。 対象のネットワーク機器側で、「copy ftp: flash」コマンドを実行すると対話式のコマンド入力受付画面になるので、3CDaemonを起動している作業用PCのIPアドレス、転送したいbinファイルを順番に入力していきます。

Router#copy ftp: flash
Address or name of remote host []? "xx.xx.xx.xx"
Source filename []? "転送したいbinファイル名"
Destination filename ["転送したいbinファイル名"]?
Accessing ftp://xx.xx.xx.xx/転送したいbinファイル名...
Loading "転送したいbinファイル" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK - 97206388byte]

上記が出力例です。 OKと表示されたら無事転送できているということです。 念のため「dir flash:」でちゃんとフラッシュメモリに対象のbinが保存されていることを確認しておきしょう。

ちなみに、ファイル転送はコンソール接続経由ではなくIP通信で行ったほうが早く終わります。 IPのリーチャビリティを確保できる環境ではIPによる転送をおすすめします。

4. ブートするIOSファイルを指定

IOSファイルを転送できたなら、起動時に読み込むIOSファイルを既存のものから今回転送したものに変更しますが、その前にファイル転送時にファイルが破損していないかを確認しましょう。 データ破損有無の確認は転送前後のMD5チェックサムハッシュ値)を比較することで行います。 Cisco機器でファイルのMD5チェックサムを確認するコマンドは以下です。

 verify /md5 ftp:xxxxx.bin
...................................................................................................................Done!
verify /md5 (xxxxx.bin) = ad9f9c902fa34b90de8365c3a5039a5b

比較対象のファイルが全く同一であればハッシュ値も同じ値になるはずなので、これでデータ破損有無をチェックできるので安心。 ということで起動時に読み込むIOSファイルを変更しましょう。

#boot system flash:"バージョンアップ後のbinファイル"

この段階ではまだ「show version」で表示されるバージョンに変化はありません。 設定を反映するためにはネットワーク機器の再起動を実行する必要があります。 ※「show run」だとboot system file行にbootコマンドで指定したbinファイルが表示されます

再起動したタイミングで新しいIOSで機器が立ち上がります。 「show version」でもバージョンアップ後のIOSが出力されるはずです。

これでIOSバージョンアップ作業は完了です。

5. 仕事として対応する時の注意点

個人利用のネットワーク機器のIOSをバージョンアップする際はそこまでシビアに取り組む必要はないかと思いますが、 勤務先などで業務利用している機器のバージョンアップを行う場合は事前に検証を行い、バージョンアップ前後のConfigに差分があるのか、差分がある場合、その差分は業務通信に影響があるものなのかどうかを確認しましょう。 ネットワークベンダーにバージョンアップ作業を業務委託する場合は、「バージョンアップ予定のIOSがその時のメーカー推奨であるか」「バージョンアップ予定のIOSで既知の脆弱性が発見されていないか」を確認する作業を依頼しましょう。

以上、IOSバージョンアップ手順についてまとめてみた、でした。