自宅の基幹ルーターをNEC IX2215からUDM-SEへ変更しましたので、リモートVPN環境の再構築を行いました。
NEC IX2215では、NetMeisterというNEC独自のDDNSが提供されていたのですが、Ubiquiti社では自前のDDNSサービスが提供されていません。
そこで今回はフリーのDDNSを使ってリモートVPN環境を構築する方法について解説します。
※筆者が契約するeo光では固定IPサービスも提供されていますが、月額6,000円もかかるので家庭内利用としてはかなり高額です。一般的には固定IPサービスを提供しているプロバイダのほうがレアだと思います。
本記事の対象機種
UniFi OSが搭載されている以下機器ならどれでも対応出来ると思います。
- ドリームマシンプロ版 Dream Machine Pro (UDM-Pro)
- ドリームマシン特別版 Dream Machine SE (UDM-SE)
- ドリームルーター Dream Router (UDR)
フリーDDNSプロバイダの選定
インターネットプロバイダから自宅に割り当てられるIPアドレスはDHCPでの自動割り当てであるため、リモートVPNを行うにはDDNSを使う必要があります。
DDNSを簡潔に言うと、ユーザーの設定したドメイン名とIP addressを紐付けてくれるサービスです。
このDDNSを使うと、自宅へアクセスする際はIPアドレスではなく、ドメイン名で指定することができ、毎回DHCPに割り当てられるIPアドレスを調べなくても、アクセス出来るようになります。
しかし、Ubiquiti社ではNEC NetMeisterのような自社DDNSを行っていませんので、フリーのDDNSプロバイダを用いる必要があります。
UniFiのリモートVPNの設定方法について調べてみたところ以下の内容が記載されていました。
Configuring Dynamic DNS
Begin by creating an account with a supported Dynamic DNS provider, such as: afraid, dnspark, dslreports, dyndns, easydns, namecheap, noip, sitelutions, or zoneedit.
著名なDDNSプロバイダには対応しているようですが、どのプロバイダを選択するかとても悩みましたが、筆者は以下の点からafraidを選択することにしました。
- 実用的な無料プランがある:ほとんどのDDNSプロバイダは有料化へ移行していますが、afraidは5拠点までの無料プランがあります。(afraidの有料版は年60ドル~)
- 有効期限が特に設定されていない:noipも無料プランがありますが1ヶ月ごとにメール承認しないと設定したDDNSがexpireされます。
UDM-SEのリモートVPN設定方法
インターネットからリモートVPNを行うには次の作業が必要になります。
- DDNSアドレスの取得
- UniFiへVPNとDDNSを設定
- リモート端末側のL2TP接続設定
- テスト接続
(手順1)DDNSアドレスの取得
最初にFreeDNS(afraid)からDDNSアドレスを取得します。
afraidのユーザー登録
[Sign up Free]をクリックし、ユーザ登録を行います。
登録者情報を入力し、CAPCHAキーを入力したら、[Send activation email]をクリックします。
到来したメールに本登録のURLが記載されていますので、URLをクリックしてログインに移ります。
afraidへログイン
左にあるメニューから[Main Menu]をクリックし、取得したID、パスワードを入力し、ログインを行います。
DDNSドメインの取得
[Subdomeins]をクリックし、以下の要領でドメイン名の入力を行います。確認用CAPCHAキーを入力したら、[Save!]をクリックします。
- Type: 「A」を選択します。(explanationに解説があるので適宜見てください)
- Subdomain:希望のサブドメイン名を記入します。ここは他人と競合がない名称を設定する必要があります。
- Domain:リストから希望するドメインを選択します。無料プランでも7種類から選ぶことができるようです。(有料版は50種類から選べるようです)
- Destination:現在、自宅に割り当てられているWAN IPアドレスを入力します。※WAN IPアドレスは、UniFiトップページ→Networkで調べます。
ドメインの到達テスト
取得ドメインは、<subdomain>.<domain>となりますので、DOSコマンドからpingを行うことでドメイン名が取得できていることを確認します。
Microsoft Windows [Version 10.0.19045.2913] (c) Microsoft Corporation. All rights reserved. C:\Users\a-iida>ping <subdomain>.strangled.net <subdomain>.strangled.net [123.456.789.123]に ping を送信しています 32 バイトのデータ: 123.456.789.123 からの応答: バイト数 =32 時間 <1ms TTL=64 123.456.789.123 からの応答: バイト数 =32 時間 <1ms TTL=64 123.456.789.123 からの応答: バイト数 =32 時間 <1ms TTL=64 123.456.789.123 からの応答: バイト数 =32 時間 <1ms TTL=64 123.456.789.123 の ping 統計: パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、 ラウンド トリップの概算時間 (ミリ秒): 最小 = 0ms、最大 = 0ms、平均 = 0ms
afraidによると無料プランの場合は、ドメインが登録されるまで最大1時間程度必要となっていますが、筆者の場合は数分でpingが通るようになりました。(有料版は60秒でドメイン登録になります。)
(手順2)UniFi側の設定
次にUniFi側にDDNSの設定を行います。
UniFiトップ画面→Network→Setting→Internetへ移動し、Primary(WAN1)を選択します。
AdvancedをManualに切り替えて、Dynamic DNSのCreate New Dynamic DNSをクリックします。
afraidで取得した各値を入力し、createをクリックすると、DDNSの設定が完了します。
この設定をすることで、UniFi側のWAN IPアドレスが変わっても、afraidと連携して自動で追従してくれるようになります。とても便利ですね!
(手順3)端末側(windows10)の設定
Windows側のVPN接続設定はNEC IX2215のVPN接続と同じです。
注意点としては、WindowsのVPN設定はデフォルトでCHAPがアクティブになっていませんので、アダプターのオプション変更画面からの追加設定が必要です。
作成したL2TPのプロパティを編集します。
プロパティのCHAPにチェック(これが重要)を入れます。
(手順4)通信テスト
設定が終わったら外部回線からVPN接続し、Windowsリモートデスクトップ接続できることの確認まで行います。
自宅側PCのリモートデスクトップを「有効」にします。
モバイル側PCを自宅外のインターネットに接続するため、タスクバーから作成したVPN接続をクリックします。うまく行けばすぐに接続済みになります。
うまくいかない場合は、以下をチェックしてください。たいていは手順を抜けていたり
- 各種設定項目やパスワードが間違っていないか?
- L2TPのCHAPのチェックはつけたか?
- 取得したドメイン名でpingが通るか?
- 自宅外の回線からアクセスしているか?
VPN接続が確立できたら、モバイルPCからリモートデスクトップを起動し、自宅PCに接続します。
以下のように自宅PCのリモートデスクトップ画面が開ければ、テスト完了です。
これで外出先でもインターネット回線に接続さえできれば自宅のPCが触れるようになります。
UniFiのリモートVPNは簡単です
DDNSプロバイダ選定は少し悩みましたが、UniFiはFreeDDNSに公式対応していますので、設定自体はめちゃくちゃ簡単でした。
PC側の設定もIX2215と同一でしたので、特段の変更もなく一発で繋がりました。
モバイル側がMacやスマホでもteleportというVPNアプリで接続できます。L2TPのVPNはAndroid12からサポートされていないらしく、Androidを宅内に接続する際はVPNアプリの導入が必須のようです。
何でも出来てすばらしいUniFiなのですが、本体価格が少々お高いのが難点です。
筆者のUniFiは、Dream Machine SEとハイエンド製品で約90,000円の高価な製品ですが、UniFi Dream Routerなら35,000円程度で購入できます。
UniFi Dream Router は、上位回線速度が1GbpsでIPS/IDSスループットも600Mbps程度に落ちるのですが、YouTubeは30Mbps程度でも快適に視聴出来ますので、一般家庭ならDream Routerがおすすめですね。