IXルータのファームウェアバージョンアップ

## はじめに
一般のご家庭・・・失礼しました。
`逸般の誤家庭`には極普通なIXルータのファームウェアアップデートについてです。

IX2105で実施していますが、他のIXルータでもだいたい同じかなと思います。

## ファームウェアダウンロード
ファームウェアをダウンロードします。
と言っても、普通にはダウンロード出来ないので、NECにソフトウェアダウンロードサイトへの接続申請書を送付します。

接続申請書はブラウザで「IX」「NEC」「接続申請書」と検索すれば多分出てきます。
以下リンクです。

http://www.express.nec.co.jp/idaten/network/ix/setsuzokushinseisho.pdf

申請書を記載してNECの窓口へメールで送付すると数時間でサイトURLとパスワードが送られてきます。
あとは使用許諾書に同意して必要なファームウェアをダウンロードしてきてください。

ダウンロードするとzipファイルになっていると思うので、回答しておきましょう。
rapファイルが入っているはずです。

## TFTPサーバ用意
TFTPサーバを構築してもいいですが、私はBlackJumboDogをPCにインストールして利用しています。

https://forest.watch.impress.co.jp/library/software/blackjmbdog/

インストールすると「Launch BJD.exe」という名前になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1675077/1b35ebe6-cde7-fd5c-53be-29b7232c1003.png)

起動するとこんな感じです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1675077/0ac62f6c-0f45-88fd-2375-9771a1cff77f.png)

オプション(O) > TFTPサーバ(T)　を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1675077/c0adc867-de73-bd5a-4844-27f74edd1a38.png)

このような画面が出ます。
最初は「TFTPサーバを使用する」のチェックボックスにチェックが入っていないので、チェックをしましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1675077/879df566-482d-dab9-7145-30342b32a752.png)

ACLタブをクリックし、「指定したアドレスからのアクセスのみを」の設定を「禁止する」にしましょう。
わざわざIP記載して許可するのも面倒ですからね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1675077/7a3221e5-0356-7096-08bf-98770859756b.png)

また基本設定タブ移動し、作業フォルダを設定しましょう。
これはTFTPクライアント(今回はIXルータ)がTFTP接続したときに読込フォルダです。
デスクトップに「TFTP」という名前のフォルダを作成し、そこに設定してもいいです。
指定した作業フォルダにダウンロードしてきたファームウェア(rapファイル)を入れておきましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1675077/c400e5fd-6ff0-a0be-9550-ca338bcdf82c.png)

これで基本的な設定は終わりです。
OKボタンを押しましょう。

そうするとTFTPサーバが開始されることがわかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1675077/84095171-a3d1-1d28-3528-9a416651b32a.png)

## 作業をする前に
IXルータのファームウェアバージョンアップは再起動をして完了します。
そのため、もしアップデートするIXルータをインターネット接続に用いている場合はバックアップ用のルーターに切り替えるか、通信断が発生することを周知してから作業を実施してください。

ちなみに私はIX2105*2台で極一般的な冗長構成を取っています。

## コンフィグ取得
作業前には必ずコンフィグを取得しましょう。
なんなら事前コンフィグ、作業ログ、事後コンフィグを分けて取得しておきましょう。
`show running-config`

## バージョン確認
これからアップデートするIXルータのバージョンを確認しておきましょう。
コマンドは`show version`です。

```
router(config)# show version
NEC Portable Internetwork Core Operating System Software
IX Series IX2105 (magellan-sec) Software, Version 9.4.15A, MAINTENANCE RELEASE SOFTWARE
Compiled Oct 24-Mon-2016 18:22:04 JST #2 by sw-build, coregen-9.4(15)

ROM: System Bootstrap, Version 13.1
System Diagnostic, Version 13.1
Initialization Program, Version 13.1

System uptime is 1 week 5 days 21 hours 42 minutes
System woke up by reload, caused by command execution
System started at Jun 09-Thu-2022 00:25:13 JST
System image file is "ix2105-ms-9.4.15.a.ldc"

Processor board ID <0>
IX2105 (MPC8314E) processor with 131072K bytes of memory.
2 GigaEthernet/IEEE 802.3 interfaces
512K bytes of non-volatile configuration memory.
16384K bytes of processor board System flash (Read/Write)

Current configuration is based on "startup-configuration"
router(config)#
```

どうやらファームウェアバージョンは9.4.15みたいです。
```
System image file is "ix2105-ms-9.4.15.a.ldc"
```
本稿記載時点で最新は10.2.40なのでかなり古いですね。



## TFTPサーバと疎通確認
アップデート予定のIXルータへログイン、特権モードへ入ってTFTPサーバと疎通確認をしましょう。
私は192.168.2.250にTFTPサーバを構築しているので、そこにルータ(192.168.1.1)からPingを打ちます。
```
router(config)# ping 192.168.2.250
PING 192.168.1.1 > 192.168.2.250 56 data bytes
64 bytes from 192.168.2.250: icmp_seq=0 ttl=63 time=0.524 ms
64 bytes from 192.168.2.250: icmp_seq=1 ttl=63 time=0.436 ms
64 bytes from 192.168.2.250: icmp_seq=2 ttl=63 time=0.440 ms
64 bytes from 192.168.2.250: icmp_seq=3 ttl=63 time=0.442 ms
64 bytes from 192.168.2.250: icmp_seq=4 ttl=63 time=0.383 ms

--- 192.168.2.250 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 0.383/0.445/0.524
router(config)#
```
もし疎通できない場合はネットワークに問題があります。
ルートの確認やACL、FWポリシーの確認をしてください。


## ファームウェアアップデート
TFTPサーバとの疎通が取れたらファームウェアアップデートを実行しましょう。
コマンドは`software-update tftp://<TFTPサーバIP>/<ファームウェアファイル名>`です。
今回のTFTPサーバのIPは192.168.2.250
ファームウェアファイルはix2105-boot-19.1-gate-ms-10.2.40.rapです。
この値は各環境で変わるので調整してください。

```
router(config)# software-update tftp://192.168.2.250/ix2105-boot-19.1-gate-ms-10.2.40.rap
% Downloading ..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................
TFTP transfer complete, 7564000 bytes, MD5 = cfc3aecfee388e9bd82ebcfac16f3844
% Check ...... done
% Update file name is ix2105-ms-10.2.40.ldc
% Writing ..................................................................................................................................................................................................................................................................................................................................................................................................................................... done
% Software update completed.
router(config)#
```
ファームウェアのアップデートが終わると`% Software update completed.`と表示されます。
だいたい5分くらいで終わります。

## ファイル確認
ファームウェアのアップデートコマンドを実行し、成功しましたがちゃんとファイルがフラッシュ内にあるか確認します。
コマンドは`show flash`です。

```
router(config)# show flash
Codes: M - Main-side, B - Backup-side, N - Newfile, R - Runnable
       A - Active-file, + - Next-boot, * - Bootmode-entry
Length     Name                          Status
5186185    ix2105-ms-9.4.15.a.ldc        MA
1766       SYSTEM-PRIVATE-KEY
6545515    ix2105-ms-10.2.40.ldc         N+

[11919544 bytes used, 2226618 available, 14146162 total]
13824 Kbytes of processor board System flash (Read/Write)
router(config)#
```
ix2105-ms-9.4.15.a.ldcのステータスは[MA]で、ix2105-ms-10.2.40.ldcのステータスは[N+]です。

これはメインで動いているファイルが[MA]、新しく取得して次の起動時に適用されるのが[N+]という意味です。
なので、再起動後に新しいファームウェアが適用されることになります。

## 再起動
ルータを再起動します。
再起動コマンドは`reload`です。
本当にリロードするか確認してくるので[yes]と入力してエンターキーを押します。

```
router(config)# reload
Notice: The router will be RELOADED. This is to ensure that
        the peripheral devices are properly initialized.
Are you sure you want to reload the router? (Yes or [No]):yes
```


## 確認
再度`show flash`コマンドを打って、確認しましょう。
```
router(config)# show flash
Codes: M - Main-side, B - Backup-side, N - Newfile, R - Runnable
       A - Active-file, + - Next-boot, * - Bootmode-entry
Length     Name                          Status
5186185    ix2105-ms-9.4.15.a.ldc        B
1766       SYSTEM-PRIVATE-KEY
6545515    ix2105-ms-10.2.40.ldc         MA

[11919544 bytes used, 2226618 available, 14146162 total]
13824 Kbytes of processor board System flash (Read/Write)
router(config)#
```
ちゃんとix2105-ms-10.2.40.ldcの方がメインになっています。
これでアップデートは完了です。