NURO光のONUに接続したASUS RT-AC88UでIPv6を通す

IPv6の話

NURO光のONUに自前のルータであるASUS RT-AC88Uを繋いでどうしたこうしたという記事を書くと、それに関して同じ様なことで悩んでいるので教えて欲しいというご質問を頂くことが多い。

その度に私も色々と調べ直して解決策を見つけることになるのだが、それはそれで楽しいのでご質問を頂くことは歓迎である。

さて、今回はNURO光のONUに繋いだASUSルータでIPv6が通らないので何とかならないかというご質問を頂いた。

IPv6テストサイトで確認してみた

IPv6の接続性を確認できるサイトは沢山あるが、取り敢えず「あなたのIPv6を確認しましょう」で確認してみた。

あれぇぇぇ。駄目じゃん。

過去には確かに通っていたのだが、どういう訳か私の環境でも通らなくなっていた。以前は通っていたので、ネット環境を変えた時に色々弄ったことが原因即ち設定の問題であることは間違いない。

だが待てよ、今使っているPCは最近組み上げたもので、以前確認したときとは違うマシンだ。まさかとは思ったが、一応イーサネットプロパティを確認してみた。

うん、これは問題ないね。ちゃんとTCP/IPv6は入っている。ではWindows10の方はどうか。コマンドプロンプトかPowerShellでコマンドを叩いてみる。

netsh interface ipv6 show prefixpolicies

ふふん、プレフィックスを確認する限り、ちゃんとIPv6がIpv4より上位になっているので、先にIPv6で繋ぎにいっている筈だ。localhostへのpingも通る。

まあ、4~5年前は確かにこの優先順位を逆に設定していた記憶はある。IPv6が使えるようになったからと言って、IPv6で動いているサイトが多いとは言えない状況だったからだ。だが今は状況が違う。もうIPv6優先でもいいだろう。故に、これはこれで問題ない。

となると、後は二段ルータのどちらかの設定であろう。

我が家では、NURO光のHG8045QにRT-AC88Uを繋いでいるので、ご質問を受けた当初は多忙だったこともあり、直感的に二段NATのせいかなどと考えて保留にした。

だが、NURO光のONUであるHG8045Qに対してやったことと言えば、RT-AC88UへのDMZ転送を設定した位で、特におかしなことはしていない。HG8045Qの管理画面で確認しても、WAN側にIPv6のアドレスが振られているのは間違いない。

ならば、RT-AC88U側の設定の何れかに原因がある筈だ。

RT-AC88UのWAN接続タイプ

最初に同ルータのWAN接続タプを開いてみた。

ちょっと見難いが、基本設定のWAN接続タイプは「自動 IP」が設定してある。

NURO光では、PPPoEの設定をする必要はないので自動 IPで問題ない筈だ。固定IPのサービスは2020年6月現在はないので「静的 IP」でもない。実際はあまり頻々に変わっている様子はないので、「静的 IP」でも一定期間なら繋がると思うが、普通はしないだろう。ということでこれは「自動 IP」で問題ない。

ここでASUSルータの仕様であるが、FAQによればIPv6を通す場合には次の設定をする必要があるようだ。

1 WAN接続タイプ:PPPoE ⇒ IPv6接続タイプ:Native
2 WAN接続タイプ:自動 IP ⇒ IPv6接続タイプ:Passthrough
3 WAN接続タイプ:静的 IP アドレス ⇒ IPv6接続タイプ:Static IPv6

RT-AC88UのIPv6接続タイプ

ということであるので、次にIPv6タブから基本設定を開き、「IPv6接続タイプ」を確認してみたところ、あらぁ・・・。

「Native」になっていた。これは、WAN接続タイプがPPPoEである場合の設定だ。

おそらくは、色々設定を試しているうちに弄ってしまっていたのだろう。WAN接続タイプが自動 IPでIPv6接続タイプがNativeでも、IPv4では接続されるので気が付かなかったのだと思われる。

ここを「Passthrhough」に設定し直し、再び「あなたのIPv6を確認しましょう」で確認してみたところ、あっさりIPv6が通るようになった。

因みにここで表示されるIPv6のアドレスは、Windows10の再起動をする度に変わるので、実際のところ特段隠す意味はない。

Windows 10のIPv6アドレスは、OS自体の再起動等のタイミングでアドレスが変更されるからだ。

さて、確認のために更に他のサイトとのIPv6接続もチェックしてみる。

問題ないようだ。というわけで、IPv6が通らないことに二段ルータは関係なく、ASUSルータ側のWAN接続タイプとIPv6接続タイプの設定の組み合わせによるものだった。

ただ、IPv4とIPv6の違いでネットワーク速度の違いが出るかと言うと、そんなことはない。速度は飽くまでプロバイダーのベストエフォートに依存し、同一回線をシェアするユーザ数に影響する。レスポンスも同様である。

実際、同一時間帯のネットワーク速度をそれぞれ数回計測した上での中心値らしきものを掲載すると、レスポンスに差はなく、速度は寧ろIPv4の方が速かった。

IPv6接続

IPv4接続

何のことはない。「NURO光に繋いだASUS RT-AC88UでIPv6を通す」などと大層なタイトルにしたが、単純に「ASUS RT-AC88UでIPv6を通す」でよかった。

NURO光のOCUに繋いだRT-AC88UでOpenVPNを有効にする

「NURO光のOCUにゲーミングルータRT-AC88Uを繋いだ」という記事を公開後、同様の構成(二段ルータ)でRT-AC68UのVPN Serverが利用できなくなったので解決策を知らないかとのご質問を受けた。

ルータの機種が違うが、大きく異なるのは搭載ハードウェアによる処理速度及び通信速度の差と、ゲーマーは有線LANで繋ぐので有線LANポートの数の違いだ。性能差はあっても機能差はそれほどない。

ご質問の機種 11ac 1300+600Mbps デュアルバンドルータ


当方のはこれ 11ac 2167+1000Mbps ゲーミングルータ


(参考)RT-AC88U後継機種 11ax 4804+1148Mbps ゲーミングルータ


実は、自分も出来なくなって暫く放置していたのだが、この機に検討してみたところ出来たので、その解決法をノウハウとして腐物殿に放り込むことにした。

因みに、その方法はASUSが下記でFAQを公開してくれているので、一応ご紹介しておく。

https://www.asus.com/support/FAQ/1033906

ご質問の内容については機種に依存しないので、当方の機種を例に説明する。まず、RT-AC88Uが直接インターネット回線に繋がっていた時はVPN Serverに接続できていたのに、下記のような構成になると何故接続できなくなるかというと、RT-AC88UがHG8045Q配下のプライベートIPアドレスになるため、DDNSがVPN Serverのホスト名を名前解決しようとしても「お前誰だよ」って話になるからだ。

上記の様な構成では、下記の二つを行うことで対応が可能である。

①RT-AC88UからエクスポートされたOpenVPN設定ファイルにあるremoteエントリの記述を、NURO光からHG8045Qに割り当てられたWAN側IPアドレスを指すよう手動で書き換える。

②ルートAPであるHG8045Qに、RT-AC88U搭載VPN Serverへのポートフォワーディングを設定する。

上記①を意訳すると、VPNクライアントに「四の五の言わずに通信を暗号化して自宅のHG8045Qに通しやがれ」ということだ。②は、言ってみればHG8045Qに「てめぇなんぞは俺の言うことを理解する必要はねぇ。雑魚は黙ってとっととボス(VPN Serverのポート1194)に取り次げ」とやることを意味している。

多分そんなもんだろ・・・知らんけど。

この方法には後述するように若干の問題がなくはないのだが、取り敢えず上記構成でVPNサーバを使えるようにしてみよう。

1 OpenVPN 設定ファイルを書き換える

RT-AC88UでエクスポートしたOpenVPN 設定ファイル(デフォルトではclient.ovpn)をメモ帳などで開き、4行目のremoteエントリーにあるxxxx.asuscomm.comをHG8045QのWAN側IPアドレスに書き換える。

HG8045QのWAN側IPアドレスは、管理画面のWAN情報から確認できる。それを仮に123.456.78.9 とするなら、下記のように書き換えればよい。

remote xxxx.asuscomm.com 1194 ⇒ remote 123.456.78.9 1194 (注)

書き換えたOpenVPN 設定ファイルをクライアント側のOpenVPNアプリにインポートする。既に読み込んだプロファイルがあるなら、OpenVPNアプリ上で編集してもよい。

(注)デフォルトのポート番号を変更していない場合は1194

2 HG8045Qにポートフォワーディングを設定

HG8045Qの管理画面を開き、「転送ルール」⇒「ポートマッピング設定(注)」から「新規作成」で下記の様に設定する。

(注)ポートマッピング、ポートフォワーディング、ポート開放はどれも同じ意味だ。

種別:カスタム

ポートマッピング:有効にチェック

マッピング名:OpenVPN(←適当につければよい)

内部ホスト:RT-AC88UのWAN側IPアドレス(例 192.168.1.XX)

※RT-AC88UのMACアドレスは右側のボックスから正しいものを選択

外部送信元IPアドレス:HG8045QのWAN側IPアドレス(例 123.456.78.9)

プロトコル:UDP

内部ポート番号:1194-1194

外部ポート番号:1194-1194

上記を設定したら「適用」を押下する。

以上で、上記の様な二段ルータ構成でもLTE回線やモバイルルータ或いは街中のWiFiスポットからASUSルータのVPN Serverに接続可能となる筈だ。

因みに、最初にVPNサーバの設定をした際は、サーバーポート、RSA認証のbit数、クライアントのVPN接続範囲などは設定できなかった筈だが、ファームウェアのバージョンが進んで指定できるようになったようだ。

私は、この機にポート番号を変更し、RSA認証を2048bitに変更し、ついでにVPN接続範囲もインターネットとローカルネットワークに変更したが、後述するように最後の設定は意味がなかったかも知れない。

3 問題点と解決策

【問題点1】NURO光のサービス内容をご存知の方なら既にお気づきだろうが、NURO光から与えられるONUのIPアドレスは、2020年4月現在固定割当ではない。したがって、HG8045Qの電源を落として再起動した場合には、WAN側IPアドレスが変わる可能性がある。

その場合は、OpenVPN 設定ファイルのremoteエントリに記述するIPアドレスを変更する必要があるが、今の処頻繁に変わることはないようなので、実質的には殆ど問題にはならないかも知れない。

【問題点2】上記の設定では、RT-AC88Uの無線LAN(HG8045Qより内側)に接続している状態だとVPN接続ができない。

これは、RT-AC88UのVPNサーバ(OpenVPN)基本設定でクライアントのVPN接続範囲を「ローカルネットワークのみ」としているか「インターネットとローカルネットワーク」にしているかに関わらず接続できない。

自宅無線LANに繋いでいる状態でVPN接続する必要性はあまりないと思うが、その場合でもVPN接続したいなら、上述したOpenVPN設定ファイルのremoteエントリに、HG8045QのWAN側IPアドレスの代わりにASUSルータのWAN側IPアドレスを記述したファイルを作成し、クライアントのOpenVPNにインポートしておけばよい。

上の例の場合では次の通り。

remote 192.168.1.XX 1194

複数の設定ファイルをインポートしても、下図のようにアプリ上で切り替えて使用することが出来るので、それほど不便はないだろう。

こんな切替などせずに済むもっと良い方法があるのかも知れないが、何せ俺はプロじゃない。所詮セミプロだからな。そもそもここはノウハウの宝物殿じゃなくて腐物殿だ。