TFTPによるIOSの転送


Cisco IOS を TFTP で転送(アップロード/ダウンロード) する方法です。

TFTP で IOS を転送するケース

  • IOS のアップグレード(新しいバージョンへ更新)
  • IOS のダウングレード
  • バックアップ(コピーを保存)
  • フラッシュの初期化時のリカバリ

準備

  1. PC に TFTP サーバーを用意
    • SolarWinds TFTP Server(無料)
    • Tftpd64(軽くて有名)
  2. TFTP サーバーのディレクトリに IOS ファイルを置く
  3. Cisco 機器と PC のネットワークが疎通していること
  4. Cisco側のフラッシュ空き容量確認 show flash:

またはdir flash:

① Cisco → PC(IOSをバックアップ)

Cisco の IOS を TFTP サーバーへコピーする方法です。

■ コマンド

copy flash: tftp:

■ 実行例

Switch# copy flash:c2960-lanbasek9-mz.150-2.SE.bin tftp:
Address or name of remote host []? 192.168.1.10
Destination filename [c2960-lanbasek9-mz.150-2.SE.bin]?
!!
90809600 bytes copied in 120 sec (756800 bytes/sec)

TFTP サーバーのフォルダにファイルが保存されていればOK。

② PC → Cisco(IOS のアップロード/更新)

新しい IOS を Cisco 機器に転送する手順。

■ コマンド

copy tftp: flash:

■ 実行例

Switch# copy tftp: flash:
Address or name of remote host []? 192.168.1.10
Source filename []? c2960-lanbasek9-mz.152-7.E.bin
Destination filename [c2960-lanbasek9-mz.152-7.E.bin]?
Accessing tftp://192.168.1.10/c2960-lanbasek9-mz.152-7.E.bin...
Loading c2960-lanbasek9-mz.152-7.E.bin from 192.168.1.10
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK - 90809600 bytes]

③ ブートする IOS の指定(重要)

コピーしただけでは新しい IOS は起動しません。
設定が必要です。

conf t
boot system flash:c2960-lanbasek9-mz.152-7.E.bin
end
wr mem

④ 再起動

reload

起動後に確認:

show version

TFTP 転送が遅い or 失敗する原因

発生原因対処
PC のファイアウォールで TFTP ブロック69/UDP を許可
Windows Defender が止めているTFTP.exe を許可
VLAN が違う/疎通していないping 192.168.1.10 で確認
フラッシュ容量が足りない不要 IOS を削除 delete flash:xxxx.bin
ファイル名にタイプミス正しい名前を入力

【おまけ】ROMMON から IOS を復旧(TFTP recover)

もし IOS が壊れた状態で ROMMON に落ちた場合:

rommon 1> IP_ADDRESS=192.168.1.1
rommon 2> IP_SUBNET_MASK=255.255.255.0
rommon 3> DEFAULT_GATEWAY=192.168.1.254
rommon 4> TFTP_SERVER=192.168.1.10
rommon 5> TFTP_FILE=c2960-lanbasek9-mz.152-7.E.bin
rommon 6> tftpdnld