YAMAHA RTX1200でeo光ネット IPv6を利用する [特殊用途注意]

この記事はeo光ネットが提供しているIPv6インターネットにYamaha RYX1200を用いて接続する手順の備忘録です！

この設定を行うことでIPv4が一切介在しない純粋なIPv6インターネットを体験できるようになります。

時代はIPv6です！！！

::: note warn
紹介する方法ではIPv6対応サービスのみ接続できます。
IPv6アドレスやAAAAレコードが存在しないサーバーには接続できません。
IPv4と併用したい場合は各自工夫してください。
LAN1に割り当てればいけるのかも？しらんけど
:::

## 環境
* LAN1
  普段遣いするデバイスが収容されている。
  IPv6は可読性が終わっていてローカルで運用してるアクセスログなどがおかしくなるのでLAN1にIPv6の設定はしない
* LAN2
  eo光多機能ルーターのLAN側ポートに繋がっている。
  邪道。eo光電話アダプターを返して
  `pp1`はこのポートを介してPPPoE接続
* LAN3
  スイッチングハブや無線LANアクセスポイント接続し、クライアントに純粋なIPv6インターネットを提供する
* eo光多機能ルーター(eo-RT100(N1))
  回線終端装置(ONU)とRTX1200の間に挟まる
  ONU側をWANポートに、RTX1200をLAN4に接続
  ONU <-> RT100 <-> RTX1200 
  

## 前提
* eo光多機能ルーターがある場合はルーターモードを無効にする
* RTX1200でPPPoEの設定を行いIPv4インターネットに接続できる
* GUIで設定できないのでコマンドで設定投入ができる


## 作業スタート！

### 1. 現在の設定をバックアップする
   * WebGUIでもいいので現在のコンフィグをエクスポートしておく

### 2. 共通部分に設定を追加する
特権モードです
```
> Administrator
Password:
#
# ipv6 route default gateway pp 1
# ipv6 prefix 1 dhcp-prefix@pp1::/64
# ipv6 lan3 address dhcp-prefix@pp1::1/64
# ipv6 lan3 rtadv send 1 o_flag=on
# ipv6 lan3 dhcp service server
#
```

* PPPoEの論理インタフェース（１行目）
eo光に繋がっているPPPoEの論理インタフェースを設定します
私はpp1なので`pp 1`です
:::note warn
LAN2ではなく、PPPoEの論理インタフェースを設定します。
フレッツ光などでIPv6を割り当てる記事ではLAN2を使用していることがありますが、eo光環境下ではPPPoEのインタフェースを設定します。
:::
* IPv6の割り当て方式？（２行目）
eo光ではDHCPv6でIPv6アドレスが降ってくるのな？
コピペでおｋです
* クライアントを接続するインタフェース（３から６行目）
  私は`LAN3`にPCやスマホを接続するのでLAN3を指定しました。適宜置き換えてください
応用すればVLAN別に設定できるんですかね。しらんけど

### 3. IPv6のフィルタを追加
eo光ではプロバイダ側でIPv6のフィルタをしていないそうです。
なので各々フィルタを追加します。このあたりは個人の好みだと思うので適宜変更してください。
```
# ipv6 filter 201000 pass * * icmp6 * *
# ipv6 filter 201001 pass * * tcp * ident
# ipv6 filter 201002 pass * * udp * 546
# ipv6 filter 201099 pass * * * * *
# ipv6 filter dynamic 201080 * * ftp
# ipv6 filter dynamic 201081 * * domain
# ipv6 filter dynamic 201082 * * www
# ipv6 filter dynamic 201083 * * smtp
# ipv6 filter dynamic 201084 * * pop3
# ipv6 filter dynamic 201085 * * submission
# ipv6 filter dynamic 201098 * * tcp
# ipv6 filter dynamic 201099 * * udp
````
<details><summary>コピペ用</summary>


```
ipv6 filter 201000 pass * * icmp6 * *
ipv6 filter 201001 pass * * tcp * ident
ipv6 filter 201002 pass * * udp * 546
ipv6 filter 201099 pass * * * * *
ipv6 filter dynamic 201080 * * ftp
ipv6 filter dynamic 201081 * * domain
ipv6 filter dynamic 201082 * * www
ipv6 filter dynamic 201083 * * smtp
ipv6 filter dynamic 201084 * * pop3
ipv6 filter dynamic 201085 * * submission
ipv6 filter dynamic 201098 * * tcp
ipv6 filter dynamic 201099 * * udp
```
</details>

### 4. PPPoEの設定を追加
２の続きからです。PPPoEの論理インタフェースを選択します

```
# pp select 1
pp1#
pp1# ppp ipv6cp use on
pp1# ipv6 pp rip send off
pp1# ipv6 pp dhcp service client
pp1# ipv6 pp secure filter in 201000 201001 201002
pp1# ipv6 pp secure filter out 201099 dynamic 201080 201081 201082 201083 201084 201085 201098 201099
pp1#
pp1# no pp select 1
#
```
よくわからないのでコピペでおｋ？
<details><summary>コピペ用</summary>

```
ppp ipv6cp use on
ipv6 pp rip send off
ipv6 pp secure filter in 201000 201001 201002
ipv6 pp secure filter out 201099 dynamic 201080 201081 201082 201083 201084 20
1085 201098 201099
ipv6 pp dhcp service client
```
</details>

#### 5. 確認して保存
ここまでの成果です
```
# show config | grep ipv6
Searching ...
ipv6 route default gateway pp 1
ipv6 prefix 1 dhcp-prefix@pp1::/64
ipv6 lan3 address dhcp-prefix@pp1::1/64
ipv6 lan3 rtadv send 1 o_flag=on
ipv6 lan3 dhcp service server
 ppp ipv6cp use on
 ipv6 pp rip send off
 ipv6 pp secure filter in 201000 201001 201002
 ipv6 pp secure filter out 201099 dynamic 201080 201081 201082 201083 201084 20
1085 201098 201099
 ipv6 pp dhcp service client
ipv6 filter 201000 pass * * icmp6 * *
ipv6 filter 201001 pass * * tcp * ident
ipv6 filter 201002 pass * * udp * 546
ipv6 filter 201099 pass * * * * *
ipv6 filter dynamic 201080 * * ftp
ipv6 filter dynamic 201081 * * domain
ipv6 filter dynamic 201082 * * www
ipv6 filter dynamic 201083 * * smtp
ipv6 filter dynamic 201084 * * pop3
ipv6 filter dynamic 201085 * * submission
ipv6 filter dynamic 201098 * * tcp
ipv6 filter dynamic 201099 * * udp
```
確認できたら保存します
```
# save
```

#### 6. 再起動
```
# reboot
ここでコネクションが切れる
```
起動したら再度コンソールに接続してください
### 設定の成果を確認！
YAMAHA公式サイトに確認コマンドが記載されています。
https://www.rtpro.yamaha.co.jp/RT/FAQ/FLETS-HIKARI-NEXT/ipv6_pppoe.html
だいぶ通信してるけど関係ないよね

```
> show ipv6 address lan3
LAN3 scope-id 3 [up]
 Received:    74305 packets 18584745 octets
 Transmitted: 67239 packets 19979435 octets

 グローバル     2001:XXXX:XXXX:XXXX::1/64
 リンクローカル fe80::2a0:deff:fe69:d249/64
 リンクローカル ff02::1/64
 リンクローカル ff02::2/64
 リンクローカル ff02::1:2/64
 リンクローカル ff02::1:ff00:1/64
 リンクローカル ff02::1:ff69:XXXX/64

>
```
確認項目
* グローバルの表示がある

```
> show status ipv6 dhcp

DHCPv6 status

  LAN3 [server]
    state: reply

  PP[01] [client]
    state: established
    server:
      address: ::
      preference: 0
      prefix: 2001:XXXX:XXXX:XXXX::/64
      duration: 86400
      T1: 43200
      T2: 69120
      preferred lifetime: 86400
      valid lifetime: 86400
      DNS server[1]: 2001:XXXX:XXXX:XXXX::1
      DNS server[2]: 2001:XXXX:XXXX:XXXX::1
```

確認項目
* `/64`のPrefixがある
* DNSサーバーの通知がある

ここまでできたらRTX1200の設定は完了です！お疲れ様でした！

### 純粋なIPv6インターネットを楽しむ
クライアントの設定をしてIPv6インターネットを楽しみましょう！
私はLAN3にアクセスポイントを設置して確認しています。

#### Windowsの場合
1. コントロールパネルからNICのプロパティを開く
2. `インターネットプロトコル バージョン6`にチェック
    * IPアドレスやDNSは自動取得にしておいてください 
3. イーサネットや無線LANでRTX1200に接続
4. `ipconfig`で確認
```
    C:\>ipconfig
    Wireless LAN adapter Wi-Fi:
    
       接続固有の DNS サフィックス . . . . .:
       IPv6 アドレス . . . . . . . . . . . .: 2001:XXXX:XXXX:XXXX:YYYY:YYYY:YYYY:YYYY
       一時 IPv6 アドレス. . . . . . . . . .: 2001:XXXX:XXXX:XXXX:YYYY:YYYY:YYYY:YYYY
       リンクローカル IPv6 アドレス. . . . .: fe80::(省略)
       デフォルト ゲートウェイ . . . . . . .: fe80::(省略)
```

`XXXX`には「成果確認」で確認した`グローバル`や`Prefix`の値が入っていると思います。
ここで確認できるIPv6アドレスがいわゆる「グローバルアドレス」に該当するようです。

公式サイトの指示に従って接続を確認しましょう。
IPv6の設定を確認したい - eoユーザーサポート
https://support.eonet.jp/usqa/net/40006530_14139.html

最後に`インターネットプロトコル バージョン4`を無効にしておきましょう。

#### iOSの場合
Ciscoじゃないです。iPhoneとかです

1. 設定アプリからWi-Fiの設定を開く
2. 無線LANに接続する
3. インフォマークから詳細設定を開く

IPv6アドレスを選択するとIPv6アドレスの割り当てを確認できます。
Windows同様に、「成果確認」で確認した`グローバル`や`Prefix`の値から始まるアドレスがあるはずです。

公式サイトの指示に従って接続を確認しましょう。
IPv6の設定を確認したい - eoユーザーサポート
https://support.eonet.jp/usqa/net/40006530_14139.html

IPv4ネットワークとの競合が発生する場合は
1. `IPを構成`を選択し`自動`にしておく
2.  Wi-FiをOFF-ONして再接続

で解決すると思います。

### レッツブラウジング！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3978322/f015e093-32a4-f1d0-b333-69e5d481235e.png)

知　っ　て　た

IPv6アドレスがないサービスには接続できません。

* 接続できる
    * Google検索
    * Youtube
    * LINE
    * Cloudflareのプロキシが挟まるサイト
    * その他 IPv6に対応したサービス
* 接続できない
    * Yahoo Japan関連のサイト
    * Discord
    * ニコニコ動画
    * プロジェクトセカイ カラフルステージ! feat. 初音ミク
    * その他 IPv6アドレスがないサービス


### まとめ
IPv6の時代はまだまだ来ませんね！

読んでいただきありがとうございました。


### 参考
* IPv6によるインターネット接続を利用したい
    * https://support.eonet.jp/usqa/net/4096571_14139.html
* RTX1200でeo光のIPv6を使えるようにする
    * https://yoneyan.blog/tech/network/use-ipv6-of-eo-with-rtx1200/
* フレッツ 光ネクストでインターネット接続（IPv6 PPPoE）を使用するには、どうすればよいですか?
    * https://yoneyan.blog/tech/network/use-ipv6-of-eo-with-rtx1200/