NEC IX2215を使ってフレッツ光クロスでIPoE+固定IP接続

# はじめに
これは[KMC Advent Calendar 2023](https://adventar.org/calendars/8840)の10日目の記事です。
昨日はutgwkkさんの[今年飲んだビール](https://blog.utgw.net/entry/2023/12/09/155609)でした。
最近はビールを飲まないことにハマっています。

本記事ではフレッツ光クロス用のルータとしてNEC IX2215を用いて設定を行います。
契約形態はIPv6 IPoE+v6プラス固定IP(IPIP)1本です。

# 自前でルータを用意する場合の注意
光クロスではレンタルルータ(HGW)を借りていた場合はMAP-E の機能を提供する JPNE ソフトウェアがHGW向けになるようで、自前ルータでMAP-E接続することはできません。そのため、HGWのレンタルを解約した上で、JPNEソフトウェアの配信を自前ルータ用に変更してもらう必要があります。私の契約したプロバイダでは変更することができないと言われたため、変更可能なプロバイダに乗り換えました。プロバイダと契約する前によく確認しておきましょう。
フレッツ網における JPNE ソフトウェアの配信については「徹底解説v6プラス」という本の第6章に詳しく解説されています[^1]。

# IX2215について
NEC IX2215は1000BASE-Tを10ポート持つVPNルータです。
フレッツ光は10G/10Gなので帯域不足ではありますが、無事使えてくれていますし、常時1G出ています。
今回の設定はNEC IXシリーズでは共通して使えるものになっていると思います。

# IXの設定
それではIXにconfigを投入していきます。

## IPv6 IPoE+v6プラス
光クロスではひかり電話の契約がない場合でもIPv6プレフィックスの払い出しはDHCPv6-PDにより行われます。多くは光ネクスト向けの設定事例集[^2][^3]から引用しています。
また、動的IPを利用する場合にはIPv4 over IPv6はMAP-Eが利用されますが、固定IPを利用する場合にはJPIXで運用されているBRまでIPv4 over IPv6のIPIPトンネルを張ります。
各種変数はご自身の環境に合った値を設定してください。
```
UPDATE-SERVER-URL: アップデートサーバのURL
USERNAME: ユーザ名
PASSWORD: パスワード
IF-ID: インタフェースID（インタフェース識別子） 入力例) ipv6 interface-identifier 00:XX:XX:XX:XX:00:00:00
BR-ADDRESS: BRのIPv6アドレス
IP-ADDRESS: IPv4グローバルアドレス
```
```
ip ufs-cache max-entries 20000
ip ufs-cache enable
ip route default Tunnel0.0
ip dhcp enable
!
ipv6 ufs-cache max-entries 10000
ipv6 ufs-cache enable
ipv6 dhcp enable
!
proxy-dns ip enable
proxy-dns ip request both
!
ddns enable
!
ip dhcp profile dhcpv4-sv
  dns-server 192.168.1.1
!
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
!
ddns profile v6plus-update
  url UPDATE-SERVER-URL
  query user=USERNAME&pass=PASSWORD
  transport ipv6
  source-interface GigaEthernet2.0
  update-interval 10
!
interface GigaEthernet0.0
  no ip address
  ipv6 enable
  ipv6 traffic-class tos 0
  ipv6 dhcp client dhcpv6-cl
  no shutdown
!
interface GigaEthernet2.0
  ip address 192.168.1.1/24
  ip dhcp binding dhcpv4-sv
  ipv6 enable
  ipv6 interface-identifier IF-ID
  ipv6 dhcp server dhcpv6-sv
  ipv6 nd ra enable
  ipv6 nd ra other-config-flag
  no shutdown
!
interface Tunnel0.0
  tunnel mode 4-over-6
  tunnel destination BR-ADDRESS
  ip address IP-ADDRESS/32
  ip tcp adjust-mss auto
  ip napt enable
  no shutdown
```
以上の設定でインターネットに接続できるようになります。
IPv6はGigaEthernet0.0、IPv4はTunnel0.0を経由してインターネットに接続されます。

## VLAN設定
続いてVLANの設定を行います。
今回はGi2:1.2に.1Qtag 20、Gi:2:1.4に.1Qtag 40を設定しています。
```diff_yang
  ip ufs-cache max-entries 20000
  ip ufs-cache enable
  ip route default Tunnel0.0
  ip dhcp enable
  !
  ipv6 ufs-cache max-entries 10000
  ipv6 ufs-cache enable
  ipv6 dhcp enable
  !
  proxy-dns ip enable
  proxy-dns ip request both
  !
  ddns enable
  !
-  ip dhcp profile dhcpv4-sv
-    dns-server 192.168.1.1
+  ip dhcp profile dhcpv4-sv-2
+    dns-server 192.168.20.1
+  !
+  ip dhcp profile dhcpv4-sv-4
+    dns-server 192.168.40.1
  !
  ipv6 dhcp client-profile dhcpv6-cl
    option-request dns-servers
-  ia-pd subscriber GigaEthernet2.0 ::/64 eui-64
+  ia-pd subscriber GigaEthernet2.1.2 ::/64 eui-64
  !
- ipv6 dhcp server-profile dhcpv6-sv
-   dns-server dhcp
+ ipv6 dhcp server-profile dhcpv6-sv-2
+   dns-server dhcp
+ !
+ ipv6 dhcp server-profile dhcpv6-sv-4
+   dns-server dhcp
  !
  ddns profile v6plus-update
    url UPDATE-SERVER-URL
    query user=USERNAME&pass=PASSWORD
    transport ipv6
    source-interface GigaEthernet2.0
    update-interval 10
  !
+ device GigaEthernet2
+   vlan-group 1 port 1 2 3 4 5 7
+ !
  interface GigaEthernet0.0
    no ip address
    ipv6 enable
    ipv6 traffic-class tos 0
    ipv6 dhcp client dhcpv6-cl
    no shutdown
  !
  interface GigaEthernet2.0
-    ip address 192.168.1.1/24
-    ip dhcp binding dhcpv4-sv
-    ipv6 enable
-    ipv6 interface-identifier IF-ID
-    ipv6 dhcp server dhcpv6-sv
-    ipv6 nd ra enable
-    ipv6 nd ra other-config-flag
-    no shutdown
+    shutdown
+  interface GigaEthernet2:1.2
+    encapsulation dot1q 20 tpid 8100
+    ip address 192.168.20.1/24
+    ip dhcp binding dhcpv4-sv-2
+    ipv6 enable
+    ipv6 interface-identifier IF-ID
+    ipv6 dhcp server dhcpv6-sv-2
+    ipv6 nd ra enable
+    ipv6 nd ra other-config-flag
+    no shutdown
+  !
+  interface GigaEthernet2:1.4
+    encapsulation dot1q 40 tpid 8100
+    ip address 192.168.40.1/24
+    ip dhcp binding dhcpv4-sv-4
+    ipv6 enable
+    ipv6 interface-identifier IF-ID
+    ipv6 dhcp server dhcpv6-sv-4
+    ipv6 nd ra enable
+    ipv6 nd ra other-config-flag
+    no shutdown
  !
  interface Tunnel0.0
    tunnel mode 4-over-6
    tunnel destination BR-ADDRESS
    ip address IP-ADDRESS/32
    ip tcp adjust-mss auto
    ip napt enable
    no shutdown
```

# おわりに
光クロス向けの設定は以上になります。今回はACLの設定等は記載していないのでご自身で設定されることをおすすめします。
最初に書いたMAP-Eの配信先のことが判明するまでIXの設定が間違っていることを疑ってしまい、かなりの時間を溶かしてしましました。
どなたかの参考になれば幸いです。

明日はtrdrさんの記事です。

# 参考文献
[^1]: https://www.jpix.ad.jp/vne/books/book-1.php
[^2]: https://jpn.nec.com/univerge/ix/Support/ipv6/v6plus-mape/index.html#dhcpv6pd
[^3]: https://jpn.nec.com/univerge/ix/Support/ipv6/v6plus-staic/index.html#dhcpv6pd-static