拠点間OpenVPNはNGN経由で繋ぐと結構速い

 Yuaihoは実家と自宅の両方にPCやネットワークを持っていて、NGN経由のVPNで(ほぼ)常時接続されています。ほぼと言うのはVPNルータはただのLinuxマシンなのでyumとかでOSのメンテナンスした後にリブートかけると切れます。

 VPNで拠点感同士を接続してるNWは昔は実家も自宅もOCN経由でしたが、まだOCNにUpload 30GB制限があった時代に1TBぐらい転送したら怒られたので、2010年代終わりぐらいからNGNで接続しています。今のOCNは転送制限が廃止されているので制限無く垂れ流せますが戻る気はありません。

 まぁ、実際はNGNに行き着く前に、転送制限が無くて安いISPを色々使ってみたのですが、速度に難がありました。色々試してみて、結局NGN経由ならISP不要で維持費がかからないのでNGNに落ち着きました。

 どことは言いませんが、ひどいISPは夜間がADSLより遅くて「これが噂に効く光ナローバンドか…実在するんだな」と思ったことがあります。


 NGNはフレッツユーザであれば漏れなく接続されてます。そして実はNTT東日本管内or西日本管内であれば(IPv6さえわかれば)、ノード同士を直結出来ます。しかも現時点ではNGN内は事実上、帯域制限も転送量制限も無くて流し放題です。

 ただ、NGNはNTT東とNTT西では分断されてますので、東京に実家があって、大阪に自宅があるのでそれをNGNだけでつなぐというのは無理です。

 しかし両拠点がNTT東日本内、またはNTT西日本内であれば両拠点にIPv6オプションつけるだけでノード間をIPv6で接続できます。両拠点のIPv6オプションさえつけとけばそれ以外の申請は不要です。


 このオプションは月額は無料なんですが、フレッツスクエアというIPv4で繋ぐのが結構難しい所経由で申請しないと、(つまり電話などで申し込むと)申請手数料が2,000円ぐらいかかると言う曲者です。

ISP契約は不要ですが以下の制限はありますね。
・NGN網内はIPv6しか使えません。
・IPv6のISP契約がないとNGNだけではIPoEでIPv6でインターネットには接続できない(※)。
※IPoEで出来ないという意味であってPPPoEでIPv6のインターネット接続はできます。

NGNのIPv6はルータが適切に設定されていれば、ルータのWAN側を繋ぐだけで/64がICMPv6 RAで降ってきます。降ってくるIPv6のブロックサイズは電話などの契約してるオプションによっても変わるみたいですが、ほぼ素の契約だと/64が降ってきます。

/64の場合、左側64bitは契約変えるとか引っ越すとかが無い限りほぼ固定です。私も数年変わってません。ユーザが任意に設定できるのは右側64bitのみです。ちなみに<自分に割り当てられた/64>::fffeがNGN側のGWっぽいです。

IPv6の右側の生成はIPv6を使う機器次第ですが、面倒なら機器側で固定してしまうか、SoftEtherで有名な登遊大氏がNGNで使えるDynamic DNSを作られてる(i.open.ad.jp)ので、そちらを使うのも一手です。NGN内のフルリゾルバでも引けますし、Pingで更新できて便利です。


VPNは私の場合、OpenVPNを使っていて拠点同士はL3接続しています。実家側をサーバにしています。

OpenVPNは少なくともトンネル掘る側(WAN側)はIPv6に対応していますので、今までIPv4で接続していたのであればOpenVPNクライアント側のOpenVPNのremoteをIPv6アドレスに書き換えれば、IPv4からそのまま移行可能です。ただ、WAN側をIPv6のTCPで繋ぐ場合は「proto tcp-client」にしないとダメ(proto tcpではダメ)っぽいです。

OpenVPN同士がIPv6で、各拠点のLAN内はIPv4 Onlyでも特に問題なく繋がります。WAN側がIPv6でもちゃんとPeer to PeerのGWはIPv4ですし、向こうの拠点のIPv4で接続出来ます。

NGN経由だとIPoEになりますので、フレッツ接続時とはMTU/MSSが異なります。IPoEは1,500 [Byte]ですが、フレッツはIPv4の場合1,454 [Byte]前後なので基本的にフレッツ接続時よりもMTUやMSSや大きくなります。チューニングされてる場合は見直すと速度が出るかもしれません。

OpenVPNのMTUやMSSの設定は私も色々勉強して、『IPヘッダーが入るから4 or 20 [Byte]引いて〜』みたいに計算してチューニングやりましたが、(24時間帯域いっぱいまで送受信する必要があるとかでなければ)ぶっちゃけOpenVPNによる自動決定が1番楽で、速度も十分です。

1バイト単位でカリカリに詰めてチューンしても、PONなりマンション内のスイッチなり、自分のNWなりの同時接続者の使用帯域変動の方が大きくてまともな効果測定が出来ません。そのため、24時間帯域をいっぱいいっぱい使って最大限効率的に送受信したいとかの需要がないなら、カリカリに詰めるのを頑張るよりも利用者少ない深夜に送る方が断然速いです。

NGN網はセキュリティのことをガン無視なら向こうの拠点のIPv6打ち込めば直結出来ますが、私は一応暗号化しておきたいのでOpenVPNを入れています。OpenVPNのオーバーヘッドは正確に計算したわけではありませんが大体8〜9%です。まぁ小さくはないですね。Wire Guardにしたらどうなんだろう?とは思います。

この方法は応用すると距離による遅延を気にしないなら、実家だけISP契約しておいて、自分はNGN VPN経由で実家のISP使うとかも出来ます。LAN内のDefault GWを全部VPNルータに向けてしまえばいいんですね。通過するノードの経路設定を正しく行う必要はありますが。


NGN網内が素通りできるのはNTTはあまり表立っては言っていませんが、レンタル可能なHGWのマニュアルを見るそういう通信が出来そうだというがちゃんと書かれてます。

IPv6セキュリティのレベル (初期値: 標準)
IPv6セキュリティのレベルを設定します。
「標準」
NTT東日本のフレッツ 光ネクスト網内で折り返す通信(NTT東日本との契約により可能となるもの)を許容します。
「高度」
NTT東日本のフレッツ 光ネクスト網内で折り返す通信(NTT東日本との契約により可能となるもの)を拒否します。
※セキュリティレベルを「高度」に設定し、NTT東日本のフレッツ 光ネクスト網内で折り返す通信(NTT東日本との契約により可能となるもの)を行う場合には、個別に通信を許容するパケットフィルタルールを設定の上、ご利用ください。 

PR-500KI / RS-500KI / RT-500KI 機能詳細ガイド NTT東日本, 2022.09.03閲覧

このマニュアルを初めてみた当時はカッコ内のNTT東日本との契約云々の文言は無かった気がしますが、これは言い換えると「NGN網内では、あなたのサブネット外から入ってくる通信が出来ますよー」ってことなんですよね。で、やってみたら出来たと言うわけです。

まぁ、この「IPv6セキュリティのレベル」の設定、「高度」にしても効いてるのか知らないですけどね。見た感じAtermと同じ、NECAT/NECPF製だと思いますが、このメーカのこの画面が出る似たような機種は/64だとNGNにLayer 2接続してLAN内にIPv6ばら撒きませんでしたっけ?って感じです。

私はL2接続されるのが嫌でOpenWrtを使って、NGNに繋ぐルータにNDP/RA Relay modeを入れて接続してしてるですが、NTTのこのHGWの場合、この設定を「高度」にするとNDP/RA Relayモードになるんですかね?まぁ、私はこのHGWは持ってなくて、ONU/VDSLから先は自前の設備なので知らないですけど。

これが出来るのはフレッツだけの話です。auひかりとかNURO光とか、CATV系はNGN網を通らず、ISPに直結なのでこの技は無理です。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください