Infoseek 楽天

OpenWrtがOCNバーチャエルコネクトに対応 格安でドコモ光10Gbps回線が引ける? 実際に試してみた

ITmedia PC USER 2024年7月10日 12時5分

 自宅でインターネットにつなぐために必須のルーターと言えば、個人向けではバッファローのAirStationシリーズやNECのAtermシリーズ、企業向けではシスコシステムズやヤマハなど、さまざまなメーカーから発売されている。

 通常はそれらを購入して使うのが一般的だが、今回紹介するのはPCをルーターとして機能させられる「OpenWrt x86」というソフトウェアだ。OpenWrtのメリットは本来であれば、高価な企業向けルーターに備わっている機能を無料で利用できることだ。

 OpenWrtの正式版は2022年9月6日にリリースされたのだが、2023年末頃に登場したバージョン23.03.0から「OCNバーチャルコネクト」に対応するようになった。お恥ずかしながら筆者は最近まで知らなかったのだが、この情報を受けて、ふとこんなことを思い付いた。「格安で『ドコモ光』の10Gbps回線を自宅に引けるのでは?」と。そこで本記事では、導入から実際に使うところまでをレポートしたい。

●PPPoEの限界、IPoEの普及

 これまでインターネットに接続する際に、「PPPoE方式」を使ってプロバイダーと接続した上でインターネットに接続するという方法が主流だった。

 このPPPoE方式は、インターネットに接続するためにプロバイダーが設置する「網終端装置」を経由する必要があるが、この設備が混雑していると、回線速度が時間帯によって遅くなるという課題を抱えていた。

 そんな課題を解決するために、最近は「IPoE」(IP over Ethernet)という新たな接続方法がプロバイダー各社から提供されるようになった。このIPoEはPPPoEとは異なり、網終端装置を経由させずに直接インターネットに接続できる仕組みだ。

 そのためPPPoE方式と違って、回線速度が低下する原因を回避してインターネットに接続できるため、回線速度が遅くなりにくくなる、というメリットがある。

 回線速度を速くしたい場合、IPoEでインターネットに接続すれば良いのだが、IPoEを利用するにはどうしても解決しなければならないデメリットも抱えている。

●IPv6通信のデメリットをカバーするIPv4 over IPv6

 デメリットとは、IPoEはIPv6のみで提供されているため、そのままではIPv6アドレスでアクセスできるサイトにしか接続できないことだ。具体的な例をあげると、GoogleはIPv6アドレスでもアクセスできるが、Google検索した先のサイトでは、IPv4アドレスしか割り振られておらず、Webサイトにアクセスできない──なんてことが起きる。

 IPv4アドレスの枯渇問題から、WebサイトのIPv6環境への移行も一部では行われているが、コストの兼ね合いなどから、IPv4でしかアクセスできないサイトが大半を占めている。

 さすがにそのままでは常用に耐えないので、このデメリットを解決するための仕組みが各社で用意されている。それが「IPv4 over IPv6」という仕組みだ。これは、IPv6通信でアクセスした先がIPv4にしか対応していないサイトだった場合、パケットをIPv4に自動変換するもので、IPoE方式でも通常通りWebブラウジングが楽しめるようになる。

 IPv4 over IPv6にはいくつか方式があるのだが、それぞれに互換性はないため契約しているプロバイダーが提供しているサービスに対応したルーターが必要となるのがネックだ。

●ドコモ光10Gbps回線をOpenWrtで接続するまでのつらい道のり

 少し前置きが長くなったが、本題に移ろう。当初は有志の方が、OCNバーチャルコネクトの設定を自動化してくれるスクリプトを公開してくれているので、OpenWrtを導入した10GbE対応のPCを用意すれば、すぐに環境構築ができる、と思い込んでいた。

 しかし実際はそのようにうまくはいかず、いろいろと試行錯誤の上でIPoEとOCNバーチャルコネクトを使った10Gbps回線環境を構築した。今回は、ポイントとなる設定項目についていくつか紹介したい。

●ドコモ光10Gbps回線は、DHCPv6-PDでアドレスが払い出される

 IPoE(IPv6)で通信する際、ONUからルーターへIPv6アドレスを払い出す方式として、RAとDHCPv6-PDがある。本来、DHCPv6-PDはひかり電話を契約している際に利用するのだが、ドコモ光10Gbps回線はフレッツ光クロスと同じ仕様で、DHCPv6-PDでIPv6アドレスが配布される。

 そのため、HGW(ホームゲートウェイ)を利用している環境と同じ構成となるため、有志の方が公開しているOCNバーチャルコネクトの設定自動化スクリプトが利用できなかった。

 OpenWrtの設定を一から紹介すると、文量が大変多くなるため「Interface」と「DHCP」「firewall」のconfigファイルに焦点を絞って紹介する。

wan6インタフェースの設定

config interface 'wan6'

option device 'eth7'

option proto 'dhcpv6'

option reqaddress 'try'

option reqprefix 'auto'

option encaplimit 'ignore'

 「/etc/config/network」に上記の設定値を入力する。特に「option encaplimit 'ignore'」を忘れないように気を付けたい。「option device 'eth7'」については、実際に利用されるPCやサーバによって、設定値が異なるためWAN側(ONU)と接続するポートを特定して記載すると良い。

●MAP-Eインタフェースの設定

 続いて、OCNバーチャルコネクトで利用するMAP-Eインタフェースの設定を行おう。ここでは、回線毎に設定値が異なるためまずは必要な設定値を特定することから始める必要がある。

 OpenWrtのDashboard画面を開いて、「Internet」領域に表示されている「IPv6 Prefix」の値をコピーする。コピーした後「https://ipv4.web.fc2.com/map-e.html」にアクセスし、「IPv6 プレフィックスかアドレスを入力」欄にコピーアンドペーストして「計算」ボタンをクリックする。

 すると、設定に必要な値が自動で出力されるので、それぞれメモした上で「/etc/config/network」にmapeインタフェースの設定を追加しよう。

config interface 'mape'

option proto 'map'

option maptype 'map-e'

option peeraddr ''

option ipaddr ''

option ip4prefixlen ''

option ip6prefix ''

option ip6prefixlen ''

option ealen ''

option psidlen ''

option offset ''

option legacymap '1'

option mtu '1460'

option tunlink 'wan6'

option encaplimit 'ignore'

 mapeインタフェースについても、「option encaplimit 'ignore'」を忘れずに追加しておこう。

●DHCPの設定

 インタフェースの設定が完了したら、今度はDHCPの設定を行う。「/etc/config/dhcp」の「lan」と「wan6」「mape」をそれぞれ設定していく。

config dhcp 'lan'

option interface 'lan'

option start '100'

option limit '200'

option leasetime '12h'

option dhcpv4 'server'

list dhcp_option '6,'

list dns ''

list dns ''

option ra 'server'

 ここでは、ルーターに接続したPCやスマホなどのクライアントに対して、IPアドレスを配布する設定をしている。「option start ‘100’」と「option limit '200'」はDHCPのリース範囲を指定しており、例では第4オクテット100~200までの範囲でIPアドレスを配布するようになっている。

 「list dhcp_option '6,'」では、IPv4 DNSサーバのアドレスを指定するのだが、自宅内にDNSサーバやActive Directoryドメインコントローラーがなければ、OpenWrtのIPアドレスを指定しておけば良い。複数DNSサーバが存在する場合は「,」で区切ってそれぞれのIPアドレスを指定しよう。

 「list dns ''」では、OpenWrtのDashboard画面を開いて、「Internet」領域に表示されている「DNSv6」の値をそれぞれ入力する。筆者の環境では「,」区切りで2つのDNSv6サーバが指定されていたので、1行ずつ設定している。

config dhcp 'wan6'

option interface 'wan6'

option ignore '1'

option ra 'relay'

option dhcpv6 'relay'

option ndp 'relay'

option master '1'

option start '100'

option limit '150'

option leasetime '12h'

list ea_flags 'none'

 wan6インタフェース用の設定は、上記の例の通り設定すると良い。

config dhcp 'mape'

option interface 'mape'

option ignore '1'

 最後にmap-eインタフェース用の設定を、上記の通り設定すればこれで完了だ。

●ファイアウォールの設定

 最後にファイアウォールの設定を行う。IPoE接続の場合、ルーターから直接インターネットに接続するため、必ずファイアウォール設定を設定しておきたい。「/etc/config/firewall」の中の「wan」用のzone設定の末尾に「list network 'wan6'」と、MAP-E用のインタフェース「list network 'mape'」を追加して保存しよう。以下で「wan」用のzone設定を抜粋しているので、参考にしてほしい。

config zone

option name 'wan'

option input 'REJECT'

option output 'ACCEPT'

option forward 'REJECT'

option masq '1'

option mtu_fix '1'

list network 'wan'

list network 'wan6'

list network 'mape'

 ここまで設定できたら、OpenWrtのDashboard画面→System→Rebootの順にクリックして、OpenWrtを再起動しよう。

●ようこそ10Gbps回線の世界へ

 OpenWrtの再起動が完了したら、再度Dashboard画面を開いてみると、「IPv4 Internet」と「IPv6 Internet」の「Connected」の値が「yes」になっている事が確認できる。

 ここまで完了したら、手元のPCでIPv6が有効になっていることを確認した上で、OCNの「IPoE接続環境確認サイト」にアクセスし、「確認開始」をクリックしよう。

 OCNバーチャルコネクトの設定も正常に完了していれば、「IPv4」と「IPv6」の接続環境が「IPoE」を表示され、「IPアドレス」欄にはそれぞれIPv4アドレスと、IPv6アドレスが表示される。

●結局ドコモ光10ギガは早いのか? 結果をチェック

 さてここまででドコモ光10Gbps回線に、OpenWrtで接続できるようになったが、どれほど通信は速くなるのか、実測値を見てみないとなんとも言えないなと考えている読者の方も居るだろう。

 そこで、OpenWrtで構築した筆者の環境で「MySpeed」という、定期的にOoklaのテストサーバへスピードテストを行い、結果を可視化してくれるツールを導入して24時間テストを実施した。結果は以下の通りだ。

・テストサーバ:IPA CyberLab 400G

・下り最小速度:600.69Mbps

・下り最大速度:5594.53Mbps

・下り平均速度:2455.77Mbps

・上り最小速度:198.85Mbps

・上り最大速度:2578.15Mbps

・上り平均速度:1958.33Mbps

 結果としては10Gbpsには遠く及ばないが、1G回線と比べると格段に結果が向上していることが分かる。計測中の日中は筆者と妻ともにリモートワークをしていたが、極端に回線が遅くなることや接続が切れることもなかった。

 ドコモ光10Gbps回線のおかげで、自宅サーバを運用している際に必要となるOSイメージのダウンロードや、Steamでのゲームダウンロードも格段に向上しそうで、大変満足する結果となった。

 まだまだ10GbE対応のルーターの価格が高く、すこしハードルが高かったのがネックだが、OpenWrtがOCNバーチャルコネクトに対応してくれたことによって、ある程度Linuxとネットワークの知識があれば、自作PCや中古サーバで10GbE対応のルーターを用意できるのは大変ありがたい。

●10GbE SFP+光モジュールは発熱に注意しよう

 今回はたまたま自宅で余っていたSFP+対応の「Supermicro SYS-E300-8D」を使ってOpenWrtルーターを構築した。ONUのインタフェースがRJ-45なので10GbE SFP+光モジュールが必要となるのだが、10GbE SFP+光モジュールは強烈なまでに発熱する。

 サーバルームにOpenWrtをルーターを置いているわけでもないので、念のためにSFP+モジュールの空いているところに銅製のヒートシンクを付けることにした。

 幸い、ここまで対策したことと、搭載している10GbE SFP+光モジュールが1つだけだったこともあってか、サーバ内部の温度はだいたい60℃台で安定して推移しているので、今のところ熱暴走の心配は無さそうだ。

 ただ、恐ろしいことにここまで対策しても、1~2秒しか触れないくらい発熱するため、夏場はOpenWrtルーターを置いている部屋のエアコンを24時間付けて室温を23~26℃にキープする必要がありそうだ。

この記事の関連ニュース