NEC UNIVERGE IX2215をV6プラスルーターとして設定してみた。

# 事の発端は衝動買い

YAMAHAあたりの高機能ルーターが安く売られてないかなーと
オークションサイトなどを巡回していたところ、
どうやらNECのIXシリーズが[楽天](https://search.rakuten.co.jp/search/mall/IX2215/?l-id=s_search&l2-id=shop_header_search)で安く売っているらしいとの
情報を入手、軽い気持ちで覗いてみたら3150円で売られていたので
衝動買いしてしまった。

# 機器が届くまでの事前準備

とはいえ購入したのは本体と電源ケーブルのみのセットで、
かつファームウェアがVer8ぽいのでいろいろ準備する必要がある。
（どうやらVer9からNetMeister経由でファームウェアの更新ができるみたいです）

## 準備１：コンソールケーブル購入

NEC IXシリーズはCisco互換のケーブルが使えるとのこと。
Amazonで検索するとCisco互換のケーブルが大量に売られているので
好みのものを選択。
ちなみにUSBタイプもあるが実装されているチップによっては
Windows11で使えなかったりするので注意が必要らしい。
今回は無難に[RJ45→D-Sub9Pinのもの](https://www.amazon.co.jp/gp/product/B0BHVN1VWZ/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1)を選択。

## 準備２：ファームウェアダウンロードサイトの接続申請

NEC IXシリーズのファームウェアは通常の方法ではダウンロードできない。
参考サイトをもとにダウンロードサイトへの接続申請手続きを行った。
手順は以下のとおり。

- Googleで 「NEC」 「IX」 「接続申請書」で検索
- 検索トップに出てくるPDFを印刷
- 必要事項を記入し捺印
- 記入した接続申請書をスキャナでスキャンしPDF形式で保存
- 接続申請書に記載されているメールアドレスにスキャンしたファイルを添付し送信
- 返信メールに記載されている接続情報でログインしファームウェアをダウンロード

（夜に送信した申請メールの返信が早朝に届いててびっくり…）

参考サイト：
[NECのIX2000シリーズのファームウェアアップデート(個人も入手可能) - そういうのがいいブログ](https://souiunogaii.hatenablog.com/entry/nec-ix-firmware-update)

## 準備３：ついでにNetMeisterにも登録

今後のために[NetMeister](https://www.nw-meister.jp/service/)にも登録しておく。
アカウントを作成したら忘れずに管理対象グループも作っておく。
ちなみにグループIDはルーター側からアクセスするキーとなるようで
NetMeisterの中でユニークな名称じゃないとダメぽい。
(とりあえず「家」というグループを作ってみた。）

# 機器設定

数日後無事機器が届いたので設定を開始する。
作業は以下の手順で進める。

- シリアルコンソールに接続
- スーパーリセット
- バージョン確認
- グローバルコンフィグモード
- ログインユーザとパスワードの設定
- NTPの設定
- IPアドレスの設定
- 設定の保存
- TFTPサーバ起動
- ファームウェア更新
- Webコンソール有効化
- ついでにsshも有効化
- インターネット接続（V6プラス）設定

参考サイト：
[NECルータIX2215の初期設定（その１）スーパーリセット - そういうのがいいブログ](https://souiunogaii.hatenablog.com/entry/NEC-IX2215-SuperReset)

## シリアルコンソールに接続

シリアルコンソールケーブルを右端のシリアルコンソールポートに接続する。
ターミナルはWindowsならteratermあたりが最適だと思う。
Linuxならscreenが個人的にはお勧め。

以下がシリアルポートのパラメータ。

| パラメータ | 値 |
| --- | --- |
| ボーレート | 9600bps |
| データ長 | 8bit |
| パリティ | なし |
| ストップビット | 1 |
| フロー制御 | OFF |

## スーパーリセット

購入サイトの概要欄には一応「初期化済」という記述はあるが、
精神衛生のためにも自分でスーパーリセットはしておきたい。
手順は以下の通り。

- 電源をOFF-ON
- ブートストラップローダーが起動するので、Loading中に`Ctrl+C`で止める。

```
Loading: ############## (Ctrl+c)
```

- `boot[0]>`というプロンプトに移行するので`cc`と入力しEnter。
- 本当に実行するか聞かれるので`y`を入力しEnter。
- `boot[0]>`のプロンプトに戻ったら`b`と入力しEnter。（再起動)
- しばらく待つと`Router#`というプロンプトが表示される。

```
NEC Portable Internetwork Core Operating System Software
Copyright Notices:
Copyright (c) NEC Corporation 2001-2022. All rights reserved.
Copyright (c) 1985-1998 OpenROUTE Networks, Inc.
Copyright (c) 1984-1987, 1989 J. Noel Chiappa.
Router#
```

## バージョン確認

`show version` で確認できる。
*※下の表示例はバージョンアップ後のものです。*

```
Router# show version
NEC Portable Internetwork Core Operating System Software
IX Series IX2215 (magellan-sec) Software, Version 10.7.18, RELEASE SOFTWARE
Compiled Oct 25-Tue-2022 12:37:13 JST #2 by sw-build, coregen-10.7(18)

ROM: System Bootstrap, Version 22.1
System Diagnostic, Version 22.1
Initialization Program, Version 3.1

System uptime is 1 day 1 hour 9 minutes
System woke up by reload, caused by power-on
System started at Jan 25-Wed-2023 20:15:18 JST
System image file is "ix2215-ms-10.7.18.ldc"

Processor board ID <0>
IX2215 (P1010E) processor with 262144K bytes of memory.
3 GigaEthernet/IEEE 802.3 interfaces
1 ISDN Basic Rate interface
1 USB interface
1024K bytes of non-volatile configuration memory.
32768K bytes of processor board System flash (Read/Write)

Current configuration is based on "startup-configuration"
Router#
```

## グローバルコンフィグモード

`configure`または`enable-config`でグローバルコンフィグモードに入る。
ちなみに`exit`コマンドでグローバルコンフィグモードから抜けることができる。

```
Router# configure
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#
```

## ログインユーザとパスワードの設定

管理者として使用するログインユーザを作成する。

```
Router(config)# username <username> password plain 1 <password> administrator
% User <username> has been added.
Router(config)#
```

## NTPの設定

- NTPサーバと同期パラメータを設定する。

```
Router(config)# ntp interval 3600
Router(config)# ntp retry 10
Router(config)# ntp server 210.173.160.27
Router(config)# ntp server 210.173.160.57
Router(config)# ntp server 210.173.160.87
Router(config)#
```

- 同期状況の確認

```
Router(config)# show ntp
NTP status:
  Clock is synchronized, reference is 210.173.160.27
    Rcvd: 0 requests, 27 responses
    Sent: 28 requests, 0 responses
  NTP server      VRF name                            St  Ver   Timeout   Last Receive
  210.173.160.27                                       2    3        64       22:16:27
  210.173.160.57                                       0    0        64       0:00:00
  210.173.160.87                                       0    0        64       0:00:00
Router(config)#
```

## IPアドレスの設定

ひとまずポートGE2にIPアドレスを設定してネットワーク上からIX2215が見えるようにする。

```
Router(config)# interface GigaEthernet2.0
Router(config-GigaEthernet2.0)# ip address 192.168.x.x/24
Router(config-GigaEthernet2.0)# no shutdown
Router(config-GigaEthernet2.0)# exit
Router(config)#
```

## 設定の保存

ファームアップする準備ができたので、このタイミングで設定を保存する。
この操作をしないと再起動後に今までの設定がきれいさっぱり消えるｗ

- コンフィグのチェック

```
Router(config)# check config
Check access-list configuration
  [IPSec autokey-map]
    No error
  [IPSec dynamic-map]
    No error
  [route-map]
    No error
  [class-map]
    No error
  [IPv4 filter]
    No error
  [IPv6 filter]
    No error
Check ppp-profile configuration
  Profile name is not bound on BRI0.0
  Profile name is not bound on USB-Serial0.0
Check ngn-connect-group configuration
  No error
Check map-e configuration
  No error
Check configuration status
  configuration status is already saved.
  configuration status will not need restart.
Router(config)#
```

- コンフィグを不揮発性メモリに保存

```
Router(config)# write memory
Building configuration...
% Warning: do NOT enter CNTL/Z while saving to avoid config corruption.
Router(config)# 
```

## tftpサーバの起動

ファームウェアはFTP,TFTP,USB等からダウンロードし適用可能。
今回はTFTPでダウンロードする方法をとってみた。

### windowsでtftpサーバを起動する例

- [tftpdの公式](https://pjo2.github.io/tftpd64/)から`tfptd64.464.zip`をダウンロード
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298004/b4240572-af5a-a524-ab00-1581ec23b432.png)
- zipを解凍し、適当な場所に置く
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298004/57627a02-ccb9-b524-81a8-ee929ed2757c.png)
- ファームウェアのイメージファイルを解凍したフォルダにコピー
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298004/5555b53a-e9e3-e592-e18d-9d06117376f1.png)
- `tftpd64.exe`を起動する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298004/e3197b90-6a7c-6434-1b3f-4c60cf609683.png)
- `Server Interfaces`でルータと同じネットワークセグメントのNICに変更
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298004/67ffb219-4e6b-a69f-df55-822486a5a017.png)

## ファームウェア更新

- 以下のコマンドを実行しファームウェアをアップデートする

```
Router(config)# software-update tftp://192.168.x.x/ix2215-boot-22.1-gate-ms-10.7.18.rap
```

- 不揮発性メモリの状況を確認

```
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
4977665    ix2215-ms-8.10.11.b.ldc       B
8991293    ix2215-ms-10.7.18.ldc         MA
...
Router(config)# 
```

- 再起動する

```
Router(config)# reload
```

## Webコンソール有効化

- 再起動したら、なにはともあれWebコンソールを使えるようにする

```
Router(config)# http-server ip enable
Router(config)# http-server username <username>
```

- Webブラウザで`http://<IX2215のIPアドレス>/`を開いてみる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298004/acf43d01-db22-fe43-0844-bf187eed7869.png)

## ついでにsshも有効化

ついでにsshも有効化しておく。メンテが楽ちんになる。

```
Router(config)# ssh-server ip enable
Router(config)# pki private-key generate rsa
```

## インターネット接続（V6プラス）設定

V6プラス(MAP-E)でインターネットに接続する設定を行う。
ウィザードでらくらく。

- `ログイン`をクリックし、ID・パスワードを入力する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298004/3ecef852-aad1-4e76-e0b1-d5c01e2d49b4.png)

- `かんたん設定`をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298004/08684576-4988-55e8-7de5-fec3e2a64153.png)

- `IPv6 IPoE接続`を選択し`次へ`をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298004/be33ffeb-51db-3124-a389-0bfb63afe301.png)

- そのまま`次へ`をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298004/6476ece0-b134-081f-081d-521882c5d52a.png)

- `プロバイダ`は`JPNE(v6プラス)`、
`割り当て方式`は`動的`を選択して`次へ`をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298004/591273f3-9548-e6a0-9905-8a714095e7b2.png)

- `インターネット接続`は`IPv4接続+IPv6接続`を選択、
`セキュリティ強度`はとりあえず`レベル1`を選択して`設定の確認`をクリック
*※LAN側IPアドレスは前の手順で設定されたアドレスが入っている*
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298004/40bd67be-e336-b59e-2db2-b7821f686a2a.png)

- 設定に問題がなければ`反映`をクリックし設定を反映させる。

※最後にCLIから`write memory`を実行、またはWebUIから`設定の保存`を忘れずに。

# 設定終了

これでひとまず最低限インターネットに接続できる環境が整った。
ここまでの作業で設定したコンフィグを以下に晒してみる。

```
! NEC Portable Internetwork Core Operating System Software
! IX Series IX2215 (magellan-sec) Software, Version 10.7.18, RELEASE SOFTWARE
! Compiled Oct 25-Tue-2022 12:37:13 JST #2
! Current time Jan 26-Thu-2023 15:44:13 JST
!
timezone +09 00
!
username <username> password hash <hash> administrator
!
ntp server 210.173.160.27
ntp server 210.173.160.57
ntp server 210.173.160.87
ntp retry 10
ntp interval 3600
!
ip ufs-cache max-entries 20000
ip ufs-cache enable
ip route default Tunnel0.0
ip dhcp enable
ip access-list access-list permit ip src any dest any
ip access-list web-http-acl permit ip src any dest 192.168.x.x/32
!
ipv6 ufs-cache max-entries 10000
ipv6 ufs-cache enable
ipv6 dhcp enable
ipv6 access-list block-list deny ip src any dest any
ipv6 access-list permit-list permit ip src any dest any
ipv6 access-list web-permit-list permit udp src any sport any dest any dport eq 546
ipv6 access-list web-permit-list permit udp src any sport any dest any dport eq 547
ipv6 access-list web-permit-list permit icmp src any dest any
ipv6 access-list web-permit-list permit 4 src any dest any
ipv6 access-list dynamic cache 65535
ipv6 access-list dynamic dflt-list access permit-list
!
bridge irb enable
!
proxy-dns ip enable
proxy-dns ip request both
!
ssh-server ip enable
!
http-server username <username>
http-server ip access-list web-http-acl
http-server ip enable
!
ipv6 dhcp client-profile dhcpv6-cl
  option-request dns-servers
  ia-pd subscriber GigaEthernet2.0 ::/64 eui-64
!
ipv6 dhcp server-profile dhcpv6-sv
  dns-server dhcp
!
device GigaEthernet0
!
device GigaEthernet1
!
device GigaEthernet2
!
device BRI0
  isdn switch-type hsd128k
!
device USB0
  shutdown
!
interface GigaEthernet0.0
  no ip address
  ipv6 enable
  ipv6 autoselect enable
  ipv6 autoselect ra-delay 0
  ipv6 dhcp client dhcpv6-cl
  ipv6 nd proxy GigaEthernet2.0
  ipv6 filter web-permit-list 51 in
  ipv6 filter block-list 200 in
  ipv6 filter web-permit-list 51 out
  ipv6 filter dflt-list 200 out
  no shutdown
!
interface GigaEthernet1.0
  no ip address
  shutdown
!
interface GigaEthernet2.0
  ip address 192.168.x.x/24
  ipv6 enable
  ipv6 dhcp server dhcpv6-sv
  ipv6 nd ra enable
  ipv6 nd ra other-config-flag
  bridge-group 1
  no shutdown
!
interface BRI0.0
  encapsulation ppp
  no auto-connect
  no ip address
  shutdown
!
interface USB-Serial0.0
  encapsulation ppp
  no auto-connect
  no ip address
  shutdown
!
interface Loopback0.0
  no ip address
!
interface Null0.0
  no ip address
!
interface Tunnel0.0
  tunnel mode map-e jpne
  ip address map-e
  ip tcp adjust-mss auto
  ip napt enable
  no shutdown
!
system information wan 1 GigaEthernet0.0
system information wan 2 Tunnel0.0
!
web-console system information
  o wizard easy-ipv6-ipoe jpne-ipv4-6
```

# 接続確認

スピードテストをかけてみると、
今まで300Mbpsあたりで頭打ちだった回線速度が一気に倍速に！
まあ、安物ルーターだったしなぁ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298004/f643f9ec-65e5-6203-638f-66b910f1e20c.png)