2020年11月10日更新
OpenVPN クライアントの準備を更新しました。
v6プラス(IPv4 over IPv6)接続した環境では、指定ポートの開放が出来ないため、YAMAHA NVR510のVPN機能ではVPN接続できません。
固定IPアドレスを取得し、VPNで使用するポートを開放できれば接続可能です。
しかし、v6プラスでも、割り当てられたポートであれば、ポート開放可能なので、使用ポートを変更できるOpenVPNを利用して、簡単にVPN接続してみました。
ネットワーク環境
自宅
ルーター:192.168.10.1(NVR510でv6プラス接続)
NAS:192.168.10.60(Synology DS218Play)
クライアントは、別拠点のWindows10から自宅のOpenVPNサーバーへ接続し、ローカルアドレスで共有フォルダの参照、LAN内のネットワーク機器にアクセスしたいとおもいます。
v6プラス接続で使用可能なポート番号を確認
v6プラス接続でも割り当てられたポートであれば、ポート開放可能なので、使用可能なポートを確認しておきます。
IPv6アドレスを確認
まず、下記サイトでIPv6アドレスを確認します。
使用可能なポート番号を確認
先に調べたIPv6アドレスを下記サイトに入力し計算をクリックします。
表示されたポート番号が使用可能なポート番号となりますので、コピーしてテキストファイルか何かで保存しておきましょう。
OpenVPNサーバーの準備
VPN接続にあたり、OpenVPNサーバーを準備する必要がありますが、我が家で使用しているSynologyのNASでは、VPN ServerアプリでOpenVPNサーバーが簡単に準備できるので、今回はVPN ServerのOpenVPNを利用します。
VPN Serverのインストール
パケージセンターからVPN Serverをインストールします。
VPN Serverを起動
メインメニューから、VPN Serverを起動します。
OpenVPN サーバーを有効にする
- OpenVPN サーバーを有効にする
チェックを入れます。 - ダイナミックIPアドレス:
VPN接続時のサーバーとクライアントのアドレスになりますが、このままで大丈夫です。 - 最大接続数:
接続できるVPNクライアントの数です。 - アカウントの最大接続数:
ひとつのアカウントで接続できる数です。 - ポート:
デフォルトで1194となっていると思いますが、調べた使用可能なポート番号に変更します。今回は仮に51194にしてます。 - プロトコル:
UDPとTCPが選択できます。通信速度はUDPの方が速いようですが、ファイアウォール等でUDPで接続出来ない場合はTCPを試してみても良いと思います。 - VPNリンクで圧縮を有効にする
チェックを入れます。 - クライアントにサーバーのLANにアクセスさせる
チェックを入れます。これを有効にする事で、クライアントからサーバー側のLANにアクセスできます。 - 適用をクリックしてOpenVPNを有効にします。
- 有効になると、エクスポート設定がクリック出来る様になるので、クリックし「openvpn.zip」を保存しておきます。
ルーターのポート開放設定(YAMAHA NVR510)
使用しているルーターによってポート開放の呼び名・方法が違いますが、OpenVPNで使用するプロトコルとポート番号を外部からアクセスできるように設定します。
私が使用しているYAMAHA NVR510の場合は、「静的IPマスカレード」の設定となり、下記手順となります。
NVR510 – 詳細設定
NVR510にログインし、上部メニューから詳細設定をクリックします。
NVR510 – NAT
左のメニューからNATを選択し、NATディスクリプタ―の一覧から設定をクリックします。
NVR510 – 静的IPマスカレードの設定
- 内側アドレス
OpenVPNを起動するSynology NASのIPアドレスを入力 - プロトコル
OpenVPNサーバーの設定で指定したプロトコル - ポート番号
OpenVPNサーバーの設定で指定したポート番号
上記を入力し確認をクリックすると、「静的フィルターの設定更新」確認のメッセージボックスが出てくるので、はいで更新します。
最後に設定の確定をクリックし完了です。
OpenVPNクライアントの準備(Windows10)
上記からOpenVPN GUI Windows10用のインストーラーをダウンロードしてインストールします。
インストールは、特に難なくできると思います。
設定ファイルの解凍
OpenVPNサーバーの設定でエクスポートした「openvpn.zip」を解凍します。
- ca.crt
- ca_bundle.crt
- README.txt
- VPNConfig.ovpn
解凍したフォルダに上記4つのファイルがあります。
設定ファイルのインポート
OpenVPN GUIを起動すると、タスクバー右にOpenVPN GUIのアイコンがあると思うので右クリックしメニューから「Import file…」を選択します。
解凍したファイルの「VPNConfig.ovpn」を選択します。
設定ファイルの編集
再度、タスクバーのOpenVPN GUIのアイコンを右クリックし、メニューから「設定の編集」をクリックします。
メモ帳が立ち上がり、設定ファイルが表示されます。
dev tun tls-client remote YOUR_SERVER_IP 51194
上部の抜粋ですが、下記の様に編集と追加します。
dev tun
tls-client
remote ドメイン名 51194
mssfix 1432
YOUR_SERVER_IPをDDNSで取得したドメイン名か外部IPアドレスに変更します。
mssfixは、下記サイトで確認できるMSSの値を調べ追記します。
設定ファイルを編集したら、上書き保存します。
2020年11月10日更新
クライアント側がv6プラス(IPv4 over IPv6)の場合、このままでの接続できますが、はじめにIPv6での接続を試行するようで、接続完了するまでに時間が掛かります。
設定ファイルのproto udpをproto udp4、もしくは、proto tcp4-clientとIPv4で接続する事を明記することで、スムーズに接続が完了します。
サーバーと接続
設定ファイルのインポート、設定ファイルの編集を終わらせたら、OpenVPN GUIのアイコン右クリックから「接続」をクリックします。
ユーザー名とパスワードを要求されるので、NASにログインするIDとパスワードを入力します。
以上でVPN接続ができ、クライアント側から10.8.0.1でNASの共有フォルダが参照、
また、クライアント側からであれば、LAN内のアドレスにアクセスできるので、外部からルーターの設定画面に入る事も可能です。
まとめ
Synology NASのDDNSとVPN Serverを利用する事で、簡単にOpenVPNサーバーを準備する事ができ、v6プラス環境でも外部からVPN接続が可能になりました。
今回は、Windows10をクライアントにしましたが、OpenVPN Connectアプリを利用すればiPhone iOSからでもVPN接続可能です。
Synology VPN ServerのOpenVPNサーバーの設定だけで、クライアント側からLAN内へのアクセス、また、自宅のLAN内からクライアント側へのアクセスは、ルーターでルーティングの設定さえすれば可能になります。
ですが、今の設定ではクライアントに割り当てられるIPアドレスは動的なので、拠点間接続の様な使い方で、サーバー側からもクライアントにアクセスが必要な場合、クライアント側に割り当てられるIPアドレスを固定する必要があります。
それは、Synology VPN Serverからだけでは出来ず、サーバー側のコンフィグを編集する必要があるので、また別に書いておきたいとおもいます。
それにしても、Synology NASは本当に便利ですね!
コメント
コメント一覧 (2件)
softetherで仮想HUBを作り、いざiphone(モバイル回線)で接続!というところで躓き、当てもなくインターネットを彷徨うこと二日。どうやらopen vpnを通してでもできるらしいとは聞いたものの、opvnファイルをiphoneに転送してappで接続できるか試しても結果は芳しくない。なぜできないのかうんうん悩んだ結果、うちのルーターがIPV6プラスであることが悪さを働いているのではないか、という可能性にたどり着き、このサイトに足を運ぶこととなりました。首尾は、上々も上々。UDPポートをIPV6でも開放できるポート番号に変えたら、無事に接続することができました。本当にありがとうございます。
返信遅くなり、申し訳ありません。
コメントありがとうございます。
ご参考にして頂けたのであれば、大変うれしいです。
OpenVPNであれば、Synologyのパッケージで管理できますし便利ですよね!
ただし、OpenVPNのアップデートがあると、繋がらなくなることがあるので、クライアント側のバージョンは、最新にこだわらず試してみると良いと思います。
速度的に物足りなさがある場合は、少し設定は難しくなってしまいますが、WireGuardを使ってみるのも良いですね。