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

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

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