[2018年版]RTX1200の初期設定 - IPv4/IPv6

# 始めに
発売は2008年10月とWindows7が生まれるより前、もう十年も前ですね。
中小企業・SOHO向けのVPNルーターで、後継機のRTX1210の出た今となってはリース解放品などが中古に出回り安く入手できます。
生産終了品ですが、現時点(2018年7月)で最新のファームウェアは2018年5月リリースと一応まだサポートは続いているっぽい？
参考: http://www.rtpro.yamaha.co.jp/#fw_release
おおよそこの記事の内容は RTX810 や RTX1210 などヤマハの別のルーターでも参考にできるはずです。
最新機種になればWebGUIがリッチになり、ファームウェアが更新されると使えるコマンドが増えていくのですが、大幅な範囲でコマンドは共通です。

わたしの環境は NURO 光で ONU のルーター機能をオフにできないので、

```
インターネット
|
ONU 
|  192.168.1.1
|
|---------- LAN_A 192.168.1.0/24  
|
|  192.168.1.2
RTX1200
|  192.168.100.1
|
|---------- LAN_B 192.168.2.0/24
```
という二重ルーターでの運用になります。


## 初期化
販売店の方でやってもらっていると思いますが、中古なので一応初期化します。
電源ケーブルは本体に直接つながっています。電源がオフ(STANDBY)になっていることを確認してコンセントに接続します。
![rtx1200_back_file(1).jpg](https://qiita-image-store.s3.amazonaws.com/0/100313/c85c9040-8d9b-8461-4646-6671b335473b.jpeg)
初期化は microSD + USB + DOWNLOAD の3つのボタンを同時に押しながら電源を入れます。
![rtx1200_front_file(1).jpg](https://qiita-image-store.s3.amazonaws.com/0/100313/aa71433e-4dec-c1ad-4818-09bf6ad724a8.jpeg)

## 接続
PC等との接続はL2スイッチになっているLAN1を使用しました。
ONUとの接続(WANポート)は任意のポートを使用できるのでLAN2に接続しました。

# 設定
RTX1200の設定方法はWeb GUIを使用する方法とコマンドを使って行う2種類があります。
コマンドは全ての機能を担っており、代表的な機能の設定を行えます。
そのため、全部をコマンドで行うかおおまかにWebGUIで設定して追加でコマンドを使って詳細設定をしていく形になります。
私は初めてだったので後者で行っていきます。
設定されている設定コマンドを表示する`show config`というコマンドがあるので、WebGUIで設定した後それを見るとこんな感じのコマンドたたくのかと勉強になります。

## WebGUIによる初期設定
UI が古いですが、概ねこちら[高速回線（光ファイバー）を利用する（RTX1200 GUI設定例）](https://network.yamaha.com/setting/router_firewall/internet/internet_connect/opticalfiber_gui)に従うと良いでしょう。
### 設定画面を開く
IPアドレスの初期設定は 192.168.100.1 になります。
LAN1に直接接続したPCでブラウザを開き、アドレスバーに 192.168.100.1 と入力します。
始めにユーザー名パスワードを求められますが、初期設定ではどちらも設定されていないので、
どちらも空欄のままOKをクリックします。
### 設定ウィザードを開く
管理者用ページに入ります。
同様にユーザー名・パスワードを求められますがどちらも空欄のままOKをクリックします。
管理者用ページに入ったら左ペインのウィザードをクリックしてメインペインの初期設定ウィザードをクリックします。
新規ウィンドウが開いて初期設定が始まります。
パスワードもこのウィザードの一環で設定します。
### 3.日付・時刻を合わせます。
NTPサーバーは[こちらの記事 (【負荷OK】Public NTPサーバの一覧)](https://qiita.com/halpas/items/5a451ead0b13f6792595)を参考にしました。
### 6.接続方法を確認します。
私の環境はNURO光でPPPoEの設定が必要無かったので「WANの設定 2/6」では「CATVインターネット、またはPPPoEを用いない端末型接続(Yahoo! BBなど)」を選択しました。
8.DNSサーバーアドレスを指定します。
DNSサーバーはONUの設定で変えていれば指定せず、
そうで無いなら手動でGoogleやCloudflareのDNSを設定すると良いでしょう。

## コンソールで設定を行う
とりあえずインターネットにも接続できるようになりました。
コマンドで詳細設定をしていく前にそもそもコマンドでの設定のやり方をおさらいします。
全てのコマンドの用法は次のリンク先で分かります。
参考: [Yamaha ルーターシリーズ コマンドリファレンス](http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/)

### コンソールにログインする
LAN側に接続したPCから `telnet` で設定コンソールにログインします。
LAN側IPアドレスは特に変更していなければ前述の通り `192.168.100.1` なので、それを前提に話を進めます。
ターミナルを起動します。Windows 10 環境なので、 PowerShell Core 6.0.2 を使用しました。
Windows 10の場合、 `telnet` は WSL を使うか、オプション機能を有効にすることで使用出来ます。

#### WSL の場合
Microsoftストアから任意のWSLをインストールしてから

```
PS> wsl telnet 192.168.100.1
```

#### オプション機能の場合
PowerShellを管理者として起動し、

```PowerShell
Enable-WindowsOptionalFeature -Online -FeatureName TelnetClient
```

再起動は不要なので、そのままあるいはユーザーとしてPowerShellを開き直してから

```
PS> telnet 192.168.100.1
```

#### 共通

上記 `telnet` コマンドを叩くと、パスワードを求められるので初期設定ウィザードで設定したパスワードを入力してEnterを押します。

```
> administrator
```

再度パスワードを求められるのでパスワードを入力してEnterを押します。

### コンソールの初期設定を行う
#### 文字コード
参考: [4.19 コンソールの言語とコードの設定](http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/setup/console_character.html)
まず初期設定ではシフトJISになっているので、UTF-8などの環境では文字化けします。
UTF-8 を設定したいところですが、UTF-8 はファームウェア Rev.14.01 系以降のものでないと使えません。
RTX1200 の場合 Rev.10 系なので使えません。
そこで文字化けしない ASCII を選択します。

```
# console character en.ascii
```

あとはお好み。

#### ログアウトまでの時間
参考: [4.45 ログインタイマの設定](http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/setup/login_timer.html)
初期設定では 300 秒間操作が無いと自動的にログアウトさせられます。
セキュリティのことを考えるとあまり長いのも考え物なので、妥当な設定でしょう。
しかし、最初は調べながら設定することも多く、割と過ぎてしまうことが多かったので、調べながら連続的に設定したいときは時間を延ばしておき、終わったらまた 元に戻しておくと良いでしょう。

```
# login timer 1800
```

戻すとき

```
# no login timer
```

#### プロンプトの表示
参考: [4.18 コンソールのプロンプト表示の設定](http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/setup/console_prompt.html)
初期設定だと標準ユーザーのプロンプトは

```
>
```

administrator だと

```
#
```

これだけだとぱっと見でなんのプロンプトか分かりにくいので、例えば

```
# console prompt '[RTX1200] '
```

と設定しました。
クォーテーションでくくることで末尾にスペースを含ませることができます。
以下の様に表示されるようになります。

```
[RTX1200] >
[RTX1200] #
```

#### 1行の表示文字数
参考: [4.20 コンソールの表示文字数の設定](http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/setup/console_columns.html)
初期設定だと表示文字数は 80 と小さめです。
普段使っているターミナルエミュレータの横幅に合わせておくと良いでしょう。
最大200なので、例えば、

```
# console columns 200
```

#### 出力の表示行数
参考:[4.21 コンソールの表示行数の設定](http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/setup/console_lines.html)
出力が長い場合に何行まで一気に表示するかを設定します。
ターミナルエミュレータの画面サイズに合わせてということはできません。
初期設定では 24 行で個人的には比較的ちょうどよく思いました。
そのままでも良いでしょう。
微調整したい方は

```
# console lines 30
```

などと、表示を止めず下まで表示してからスクロールで戻りたいという方は

```
# console lines infinity
```

#### 適用する
コマンド実行直後に反映されるコマンドもありますが、多くの場合即座に反映されません。
コマンドを一通り実行した後問題無ければ、

```
# save
```

を実行しましょう。

#### 設定一覧を表示する

```
# show config
```

で、GUI で設定したコマンド含め全ての設定がコマンド形式で表示されます。
自分が設定したコマンドを確認すると同時に、 GUI で設定された IPv4 の設定等のコマンドを読み解いておくと良いでしょう。


## IPv6 IPoE のインターネット接続設定を行う
一通りウィザードで設定を終えるとインターネット通信が行えるようになります。
しかし、IPv4 のみです。
なので、IPv6 で通信を行えるようにコマンドで追加設定していきます。
[ヤマハ公式の設定例:(フレッツ光ネクスト インターネット(IPv6 IPoE)接続 : コマンド設定)](https://network.yamaha.com/setting/router_firewall/flets/flets_other_service/ipv6_ipoe-rtx1200)を参考にしました。
このうち、DHCP の Information Request は使わない、つまり `ir=on` はつけない設定にしました。
また、 `ident` は拒否する設定にしました。
ついでに `UPnP` を使う設定にしておくと便利です。

結果としては以下のような感じになります。

```
ipv6 routing on
ipv6 route default gateway dhcp lan2
ipv6 lan1 address ra-prefix@lan2::/64
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
ipv6 prefix 1 ra-prefix@lan2::/64
ipv6 lan2 dhcp service client
ipv6 lan2 secure filter in 1010 1011 2000
ipv6 lan2 secure filter out 3000 dynamic 100 101 102 103 104 105 106
ipv6 filter 1010 pass * * icmp6 * *
ipv6 filter 1011 pass * * udp * 546
ipv6 filter 2000 reject * * * * *
ipv6 filter 3000 pass * * * * *
ipv6 filter dynamic 100 * * ftp
ipv6 filter dynamic 101 * * domain
ipv6 filter dynamic 102 * * www
ipv6 filter dynamic 103 * * smtp
ipv6 filter dynamic 104 * * pop3
ipv6 filter dynamic 105 * * tcp
ipv6 filter dynamic 106 * * udp

upnp use on
```

これで IPv4, IPv6 の両方でインターネット接続できるようになったはずです。