実験データ自体は 4月末の段階で取っていたのですが、すっかり記事にするのが遅くなってしまいました。結論から言うと、RTX1200で v6プラスの設定をすること自体は可能です。ただし設定ができることと実用に堪えるかどうかということは全く別の話で、実際のところ常用するのは非常に厳しいと言わざるを得ないでしょう。キーとなるのはやはり『ポートセービング IPマスカレード』という機能の有無です。
基本的な部分は先日書いた下の記事の内容と同じです。
設定する上での注意点としては、RTX1200 の場合は、IPマスカレードで利用できるポートレンジの指定が nat descriptor masquerade port range 1本あたり 3ブロックまでとなっている点です。RTX830 など最近の機種の場合は 1本あたり 4ブロックまで設定できたので、その部分に関しては書き直してやる必要があります。つまり、通常だと 16ポートx3ブロック=48ポートしか指定できませんので、ポートレンジを変えた nat descriptor を複数設定する方法を使って次のように記述してやることで一応は v6プラスで割り当てられる 240ポート全てを使えるようにはなります。
tunnel 内は、
ip tunnel nat descriptor 1000 1001 1002 1003 1004
nat descriptor の部分は、
nat descriptor type 1000 masquerade nat descriptor address outer 1000 [MAP-E IPv4アドレス] nat descriptor address inner 1000 auto nat descriptor masquerade port range 1001 [MAP-Eポート①] [MAP-Eポート②] [MAP-Eポート③] nat descriptor type 1001 masquerade nat descriptor address outer 1001 [MAP-E IPv4アドレス] nat descriptor address inner 1001 auto nat descriptor masquerade port range 1001 [MAP-Eポート④] [MAP-Eポート⑤] [MAP-Eポート⑥] nat descriptor type 1002 masquerade nat descriptor address outer 1002 [MAP-E IPv4アドレス] nat descriptor address inner 1002 auto nat descriptor masquerade port range 1002 [MAP-Eポート⑦] [MAP-Eポート⑧] [MAP-Eポート⑨] nat descriptor type 1003 masquerade nat descriptor address outer 1003 [MAP-E IPv4アドレス] nat descriptor address inner 1003 auto nat descriptor masquerade port range 1003 [MAP-Eポート⑩] [MAP-Eポート⑪] [MAP-Eポート⑫] nat descriptor type 1004 masquerade nat descriptor address outer 1004 [MAP-E IPv4アドレス] nat descriptor address inner 1004 auto nat descriptor masquerade port range 1004 [MAP-Eポート⑬] [MAP-Eポート⑭] [MAP-Eポート⑮]
該当部分を以上のように書き換えてやることで RTX1200 でも一応 v6プラスであてがわれた 240ポートの利用が可能であることは確認しました。速度もそれなりには出ます。ただ、最近はアプリにせよブラウザにせよどんどんセッションを張ってしまうのですが、「ポートセービング IPマスカレード」という、IPマスカレード時に同一のポート番号を使用して複数の接続先とのセッションが確立できるという機能には非対応なので TCP の同時接続可能セッション数の上限がそのまま 240セッションまでとなってしまい、ブラウザのタブをいくつか開いただけで利用可能なポートは一瞬で蒸発してしまうため、実用するのはほぼ不可能だと思います。具体的に言うと、部分的にしかページが表示されなかったり、ページの表示に非常に時間が掛かりすぎてブラウザが固まってしまったような状態になったりします。
その時の状態を確認してみると以下のようになっていました。
> show nat descriptor address 参照NATディスクリプタ : 1000, 適用インタフェース : TUNNEL[1](1) Masqueradeテーブル 外側アドレス: ***.***.***.*** ポート範囲: 7***-7***, 1****-1****, 1****-1**** 48個使用中 No. 内側アドレス 使用中のポート数 制限数 種別 1 192.168.100.100 48 20000 dynamic --------------------- 参照NATディスクリプタ : 1001, 適用インタフェース : TUNNEL[1](2) Masqueradeテーブル 外側アドレス: ***.***.***.*** ポート範囲: 1****-1****, 2****-2****, 2****-2**** 48個使用中 No. 内側アドレス 使用中のポート数 制限数 種別 1 192.168.100.100 48 20000 dynamic --------------------- (以下同様につき省略) --------------------- 参照NATディスクリプタ : 1004, 適用インタフェース : TUNNEL[1](5) Masqueradeテーブル 外側アドレス: ***.***.***.*** ポート範囲: 5****-5****, 6****-6****, 6****-6**** 48個使用中 No. 内側アドレス 使用中のポート数 制限数 種別 1 192.168.100.100 48 20000 dynamic --------------------- 有効なNATディスクリプタテーブルが5個ありました
ネット掲示板の方で nat のセッション開放時間を短くしてやるといいかも知れないという情報を見かけたので、そちらについても試してみることにしました。HGW に降りてくる「フレッツジョイント」では「tcpfin」は 1秒に設定されているようなので nat descriptor 1000~1004 のそれぞれに以下の行を追加してみます。
nat descriptor timer 1000 300 nat descriptor timer 1000 tcpfin 1 (以下同様に) nat descriptor timer 1004 300 nat descriptor timer 1004 tcpfin 1
この状態で再度確認してみたところ、確かに以前よりは若干状況はよくなっているようです。ただ、私の書き方が悪いのかも知れませんが、どうも最初の 1000番の nat descriptor 以外はうまくセッションの解放が出来ていないようで、1001番から 1004番までは長時間セッションを張ったままの状態になっているようでした。ここが上手く動かせればもう少しましな状況になるのかも知れませんが、現状ほんの少し改善できたというレベルでブラウジングすらまともに行えませんし、ちょっとした実験として遊んでみる程度ならともかく、とてもじゃないですが常用するのは厳しいんじゃないかという結論に達しました。
同じ v6プラスでも固定IPサービスで運用出来る場合は Yamaha に設定例があるくらいですから RTX1200 で多分支障なく利用できるのでしょう。そもそも利用可能なポートの制限とは無縁ですしね。
RTX1200 ではやはり v6プラスでの運用は荷が重そうです。既に販売が終了されていることもあって Yamaha の方でもファームウェアの改修はセキュリティアップデートと重大なバグ取りを除くとこれ以上の機能追加はしないとされていますし、ポートセービング IPマスカレード機能の実装などはまず期待できないでしょう。(CPU の能力的にも余裕は無さそうです。)
とはいえ、DS-Lite方式で運用する分には RTX1200 を使っても 200Mbps 程度の回線速度なら十分得られますし、まだまだ使っていけると思います。何より安定性が抜群な割にリースアップ品が大量に中古市場に溢れていて非常に安価で入手することができますからね。世代の古い NVR500 や RTX810 などに於いても恐らく同様の挙動になるだろうと思われます。