NEC UNIVERGEシリーズでMAP-E(v6プラス)を使う

v10.1.14以降のファームウェアではMAP-E接続機能が提供されるようになったので設定してみました。

ファームウェアはIX2105/IX2106/IX2207/IX2215/IX3110/IX3315あたりのEoLになっていない機種では提供されているかと思います。

ちなみにMAP-Eというのはいわゆる4 over 6の技術でIPv4グローバルアドレスの枯渇の対策になります。

(副次的に各プロバイダの クソ遅い PPPoEゲートウェイを通らなくて良いので回線速度が安定することが多いです)←まあプロバイダだけが悪いのではないですが…

話を戻すと、基本的には以下のリンク先に沿って進めていくと設定ができます。

jpn.nec.com

ひかり電話契約の有無によってHGWからIPv6アドレスを受け取る方法が違うので注意ですね。

ここではひかり電話契約がある場合でサンプルコンフィグを記載します。

とはいってもやることはサポートページとほぼ同じです。

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
!
ip dhcp profile dhcpv4-sv
  dns-server 192.168.1.1
!
ipv6 dhcp client-profile dhcpv6-cl
  option-request dns-servers
  ia-pd subscriber GigaEthernet1.0 ::/64 eui-64
!
ipv6 dhcp server-profile dhcpv6-sv
  dns-server dhcp
!
interface GigaEthernet0.0
  no ip address
  ipv6 enable
  ipv6 dhcp client dhcpv6-cl
  no shutdown
!
interface GigaEthernet1.0
  ip address 192.168.1.1/24
  ip dhcp binding dhcpv4-sv
  ipv6 enable
  ipv6 dhcp server dhcpv6-sv
  ipv6 nd ra enable
  ipv6 nd ra other-config-flag
  no shutdown
!
interface Tunnel0.0
  tunnel mode map-e
  ip address map-e
  ip tcp adjust-mss auto
  ip napt enable
  ip napt translation tcp-timeout 300
  ip napt translation finrst-timeout 30 1
  no shutdown

NECルーターのNAPTはYAMAHAルーターにあるポートセービングIPマスカレードという機能と同じような挙動をしているようです。ドキュメントが充実していて良いなあ…

上記リンク先のような挙動をするわけですが、MAP-Eでは一つのグローバルIPv4アドレスのうちの240ポートしか割り振られないため、同じIPアドレス&ポートへの接続が大量に行われるようなアプリケーションがあるとNAPTテーブルが枯渇してしまいます。

そのため ip napt translation tcp-timeout はデフォルト値が 900 なので多少下げています。(下げすぎると外部へのSSH接続がすぐにタイムアウトするなどがあると思うのでほどほどに)

ここまで書いてきましたが、世界がIPv6になればこの問題は解決するので各サービスはIPv6対応を頼む…!!!(はてなブログIPv4オンリー)

ちなみにコマンドの意味がわからない場合はコマンドリファレンスを参照しましょう、大変お世話になっております。

(間違っている部分があればマサカリをお願いします :innocent: )

最後になりますが、常時これくらいのスピードは出るのでとても良いサービスだと思います。

f:id:kadokusei:20190506235727p:plain
https://www.speedtest.net/result/8238368355

おまけ(ちょっと使えるかもしれないコマンド)

show map-e status

  • 書いてある通りMAP-Eの状態を表示するコマンド
  • show map-e 以下にこれしかない…

show ip napt translation

  • 現在のNAPTエントリを表示するコマンド
  • 上記のポートセービングIPマスカレードと同じ動作をしていることを確認できる