Cisco Catalist 2960L-16PSのファームウェアアップデート方法

Wired

自宅にProxmox仮想環境を2基構築しているのですが、検証構築などをしているとスイッチAruba 2530-8PSではポートが足らなくなってきたため、新たにCisco C2690L-16PSを入手しました。

Ciscoスイッチは職場では触れる機会はありますが、個人で導入するのは初めてです。

今回はUSBメモリを使ったファームウェアアップデートをやってみましたので備忘録として記事にします。

スイッチ外観

C2960Lはファンレス機のため、リアに大きな放熱フィンがついています。

電源ケーブルのコンセント形状はC13で、一般の3P電源ケーブルが使用できます。

Arubaは突起があるC15だったので、電源ケーブルが特殊でした。

ファンレス機で静音ですので、一般家庭での使用にも適すると思います。

 

必要機材

Ciscoスイッチはシリアルコンソールケーブルが必須になります。

私はサンワサプライのUC-SGT1をLANコネクタ変換器を接続して使っています。

初期設定

Ciscoスイッチは何も設定しない場合は、単なるノンインテリジェントHUBとして動作しますので、ファームをアップデートするための最低限の設定を投入します。

スイッチに電源を入れ、シリアルケーブルを接続して、起動すると対話形式の設定を聞かれるので[no]を入力して抜けます。

Would you like to enter the initial configuration dialog? [yes/no]: no
Would you like to terminate autoinstall? [yes]:

コンフィグモードに入り、適当なホスト名をつけます。

Switch#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#hostname Switch-2960L

Vlan1(no Vlan)にIPアドレスを設定します。

Switch-2960L(config)#
Switch-2960L(config)#interface vlan 1
Switch-2960L(config-if)#ip address 192.168.10.3 255.255.255.0
Switch-2960L(config-if)#no shutdown

一度、全I/Fを起動します。

Switch-2960L(config)#interface range gigabitEthernet 0/1-16
Switch-2960L(config-if-range)#no shutdown

LAN経由のSSHでログインするため、各種設定を投入します。

Switch-2960L(config)#ip default-gateway 192.168.10.1
Switch-2960L(config)#ip domain-name falconblog.org
Switch-2960L(config)#crypto key generate rsa modulus 2048
Switch-2960L(config)#username root privilege 15 secret XXXXXXXXXXX
Switch-2960L(config)#line vty 0 4
Switch-2960L(config-line)#transport input ssh
Switch-2960L(config-line)#login local
Switch-2960L(config-line)#end

Webコンソールを起動するため、Webコンソール用パスワードとhttpサーバー起動をします。

Switch(config)# enable password YYYYYYYY
Switch(config)# ip http server

pingを発行して、系内のIPアドレスにアクセスできることを確かめます。

witch-2960L#ping 192.168.10.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/3/6 ms

以上の設定でteratermのSSHでアクセスできるようになります。

webコンソールは[http://(スイッチのIPアドレス)]で入れるようになります。

Web GUIソフトがインストールされていない時代の機器の場合、CLIでソフトをインストールする必要があります。(後述します)

ファームウェアバージョン確認

Switch-2960L#show version
Cisco IOS Software, C2960L Software (C2960L-UNIVERSALK9-M), Version 15.2(5c)E, RELEASE SOFTWARE (fc1)

Version 15.2(5c)Eでした。購入時から一度もバージョンアップされていないと思います。

シスコのサイトを見ると、Criticalな脆弱性が発見されていますので、速やかにupdateしたほうが良さそうです。

ファームウェア入手

C2960Lのファームウェアは、Cisco HPでアカウントを作成することで入手することができます。

執筆時点ではアカウント作成は無料でした。

※注記:Ciscoファームウェアは保守契約を締結している顧客にしか提供されませんでしたが、最近はL2スイッチに限って無償で公開されるようになり、中古でも選びやすくなりました。

ファームウェアはIOSとWEBコンソールの2つがあります。

WEBコンソールも動作状況を確認する上では便利ですので、2つともダウンロードしておけば良いでしょう。

最新(latest)バージョンの右にあるをクリックするとダウンロードができます。

今回D/Lしたファイルは次の2つです。

  • c2960l-universalk9-mz.152-7.E13.bin
  • c2960l-universalk9-tar.152-7.E13.tar

ファーム転送にはUSBメモリが便利

スイッチのファームウェアの転送方法と言えば、一昔前はFTPでしたが、現在の主流はUSBやWebブラウザに移行していますので、今回はUSBメモリを使いました。

FAT32にフォーマットしたUSBメモリにD/Lしたファイルをコピーし、スイッチのUSBポートに差すだけです。

シリアルコンソールを差していると、メモリ本体が物理干渉することがあるので、薄型のメモリを使う必要がありました。

USBを差し込んだら、以下コマンドでファイルが読み取れることを確認します。

Switch-2960L#dir usbflash0:
Directory of usbflash0:/

    4  -rw-    16273408  Feb 26 2026 09:51:40 +09:00  c2960l-universalk9-mz.152-7.E13.bin
    5  -rw-    31744000  Feb 26 2026 09:51:58 +09:00  c2960l-universalk9-tar.152-7.E13.tar

3955228672 bytes total (3907059712 bytes free)

UHS-Ⅱの高速USBメモリは、なぜか認識できませんでした。

今回はレガシーなUSBメモリで認識してくれました。

IOSアップデート作業

アップデート作業もCLIで行います。

Webでもできますが、この時代のスイッチは、Webコンソールの完成度がイマイチのため、CLIでやる方がいいと思います。

ファームウェアをUSBメモリから本体flashにコピーします。

Switch-2960L#copy usbflash0:c2960l-universalk9-mz.152-7.E13.bin flash:
Destination filename [c2960l-universalk9-mz.152-7.E13.bin]? 
%Warning:There is a file already existing with this name 
Do you want to over write? [confirm]
Copy in progress...CCCCC
~中略~
16273408 bytes copied in 48.048 secs (338691 bytes/sec)

転送できていることを確認します。

Switch-2960L#dir flash:
Directory of flash:/

  773  -rwx        3096   Mar 1 2026 00:15:06 +09:00  multiple-fs
 1027  -rwx        5490   Mar 1 2026 00:15:06 +09:00  private-config.text
 1025  -rwx        2798   Mar 1 2026 00:15:06 +09:00  config.text
  516  drwx        2048   Mar 4 2023 13:09:40 +09:00  c2960l-universalk9-mz.152-5c.E
  637  drwx        2048   Mar 4 2023 13:09:40 +09:00  dc_profile_dir
  258  -rwx    16273408   Mar 1 2026 18:29:24 +09:00  c2960l-universalk9-mz.152-7.E13.bin
  783  drwx        2048   Jan 1 2000 13:28:14 +09:00  c2960l-universalk9-mz.152-7.E13
  781  drwx        2048   Jan 1 2000 13:29:39 +09:00  flashupdate
    2  drwx        2048   Mar 1 1993 09:00:02 +09:00  lost+found

244711424 bytes total (136474624 bytes free)

ベリファイを行い、HPに記載されているチェックサムと合致することを確認します。

Switch-2960L#verify /md5 flash:c2960l-universalk9-mz.152-7.E13.bin
......................................................................
~中略~
........Done!
verify /md5 (flash:c2960l-universalk9-mz.152-7.E13.bin) = b62445613a6187536880967fb0938df5

ブートファイルを書き直し、running-configをstartup-configにコピーし、再起動します。

# ブートファイルの変更
Switch-2960L(config)#boot system flash:c2960l-universalk9-mz.152-7.E13.bin

# ブートファイルの確認
Switch-2960L#show boot
BOOT path-list      : flash:c2960l-universalk9-mz.152-7.E13.bin
Config file         : flash:/config.text
Private Config file : flash:/private-config.text
Enable Break        : yes
Manual Boot         : no
Allow Dev Key         : yes
HELPER path-list    : 
Boot optimization   : disabled
NVRAM/Config file
      buffer size:   524288
Timeout for Config
          Download:    0 seconds
Config Download 
       via DHCP:       disabled (next boot: disabled)

# startupに変更 →これ忘れると旧ファームでの起動に戻る
Switch-2960L#copy running-config startup-config
Destination filename [startup-config]? 
Building configuration...
[OK]

# 再起動
Switch-2960L#reload
Proceed with reload? [confirm]

再起動後にバージョン確認します。

Switch-2960L#show version
Cisco IOS Software, C2960L Software (C2960L-UNIVERSALK9-M), Version 15.2(7)E13, RELEASE SOFTWARE (fc3)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2025 by Cisco Systems, Inc.
Compiled Mon 15-Sep-25 12:56 by mcpre

ROM: Bootstrap program is C2960L boot loader
BOOTLDR: C2960L Boot Loader (C2960L-HBOOT-M) Version 15.2(5r)E3, RELEASE SOFTWARE (fc2)

Switch-2960L uptime is 14 minutes

以上でIOSファームウェアの書き換えは終了です

Webコンソールアップデート作業

WebコンソールのアップデートをCLIで行うには、USBからFlashへコピーして、[archive download-sw]コマンドを行うだけでした。

# WebファームをUSBからflashへコピー
Switch-2960L#copy usbflash0:c2960l-universalk9-tar.152-7.E13.tar flash; :
Destination filename [c2960l-universalk9-tar.152-7.E13.tar]? 
Copy in progress...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
~中略~
31744000 bytes copied in 91.953 secs (345220 bytes/sec)

# flashの中身を確認
Switch-2960L#dir flash:
Directory of flash:/

 1030  -rwx    31744000   Mar 1 2026 18:32:08 +09:00  c2960l-universalk9-tar.152-7.E13.tar
  773  -rwx        3096   Mar 1 2026 00:15:06 +09:00  multiple-fs
 1027  -rwx        5490   Mar 1 2026 00:15:06 +09:00  private-config.text
 1025  -rwx        2798   Mar 1 2026 00:15:06 +09:00  config.text
  516  drwx        2048   Mar 4 2023 13:09:40 +09:00  c2960l-universalk9-mz.152-5c.E
  637  drwx        2048   Mar 4 2023 13:09:40 +09:00  dc_profile_dir
  258  -rwx    16273408   Mar 1 2026 18:29:24 +09:00  c2960l-universalk9-mz.152-7.E13.bin
  783  drwx        2048   Jan 1 2000 13:28:14 +09:00  c2960l-universalk9-mz.152-7.E13
  781  drwx        2048   Jan 1 2000 13:29:39 +09:00  flashupdate
    2  drwx        2048   Mar 1 1993 09:00:02 +09:00  lost+found

244711424 bytes total (136474624 bytes free)

# archive download-swコマンドでアップデート
Switch-2960L#archive download-sw /overwrite flash:c2960l-universalk9-tar.152-7.E13.tar
extracting info (109 bytes)
examining image...
extracting c2960l-universalk9-mz.152-7.E13/info (612 bytes)
Image info:
    Version Suffix: universalk9-152-7.E13
    Image Name: c2960l-universalk9-mz.152-7.E13.bin
    Version Directory: c2960l-universalk9-mz.152-7.E13
    Ios Image Size: 16282112
    Total Image Size: 31744512
    Image Feature: IP|LAYER_2|SSH|3DES|MIN_DRAM_MEG=128
    Image Family: C2960L
    Image Minimum DRAM required: 134217728
Extracting files...
~中略~
Deleting existing version...
Deleting c2960l-universalk9-mz.152-7.E13...done.
New software image installed in c2960l-universalk9-mz.152-7.E13
Configuring system to use new image...done.

アップデートが完了すればWebブラウザからログインし、アップデートできたことを確認します。

Webコンソールはドラッグアンドドロップでアップデートできます。

面倒な方はWeb経由でもいいと思います。

以上でアップデート作業は完了です。

Ciscoスイッチは勉強になる

CiscoスイッチはデフォルトでONになっていない機能が多々あるため、初期設定のCLI操作が少々大変です。

ただネットワーク機器業界のリファレンス機ですから、情報も豊富で困ることはまずないです。

次回は一般的な初期設定について記載したいと思います。

タイトルとURLをコピーしました