Synologyに「VPN Server」を立ち上げると、インターネットからVPNを使ってローカル環境にアクセスする事が可能になります。
VPN接続とは
VPN(Virtual Private Network)とは、離れた場所を自宅LANや会社のLANの延長上にしてしまう仕掛けで、仮想プライベート・ネットワークと呼ばれています。
例えば、外部からDDNSを使ってSynologyサーバにアクセスする事は可能ですが、DDNSでLANの中にあるルータにアクセスする事はできません。
しかし、このVPN接続をすると、LANの中にあるルータにも、IPアドレスでアクセスできる様になります。
すなわち外部に居ても、自宅や職場に居るのと同じ環境にするのがVPN接続です。
但し、インタネットからVPNで自宅サーバにアクセスする為には自宅がインターネットに「PPPoE」接続されている事が必要になります。
しかし最近のインターネットアクセスは「IPoE」がデフォルトになった為に外部からアクセスできない問題が発生しています。
私は【無線LAN】でIPoE(v6プラス)とPPPoEを併用利用する方法で解決しました。参考にしてください。
Synologyの「VPN Server」には下記のVPN接続がサポートされています。
1.PPTP(Point-to-Point Tunneling Protocol)
PPTP はMicrosoft社が提案したトンネリングプロトコルで、1つのポートを使って送受信するプロトコルです。利用する暗号方式の強度が低い為の脆弱性が指摘されていますが「簡単」が最大の特徴です。
2.L2TP/IPSec
L2TP(Layer 2 Tunneling Protocol)はOSI参照モデルの第2層データリンク層を使ったのトンネリングプロトコルです。しかしL2TPは暗号化の機能がない為、IPsecと一緒に実装した『L2TP/IPsec』 がRFC3193で標準化されています。WindowsPCで利用する場合は、レジストリを少し変更する必要があるのが難点です。
3.OpenVPN
OpenVPNはOpenVPN Technologies, Inc. を中心に開発されたオープンソースのVPNです。安全性や速度、柔軟性などの総合評価が高いのですがクライアント側にこのソフトをインストールする必要があります。
<目次>
3.Windows側の設定(PPTP、L2TP/IPSec)
注意点
VPN接続はされるが、遅い、応答しない?等の現象がでた場合は下記を参照して下さい。
1.VPN Serverのインストールと設定
1.パッケージセンタから「VPN Server」をインストールします。
下記アイコンがメインメニュに追加されます。
■アイコンの右クリックででディスクトップに追加できます。
2VPN利用者の設定
①VPNサーバを起動します。
②メニュから「全般設定」を実行します。
■アカウントタイプを選択します。
LDAPやADを立ち上げていると、このリストに表示されます。
アカウントタイプを選択して「適用」ボタンを挿入します。
重要
LDAPやADを選択した場合は「新しく追加したローカルユーザにVPN権限を与える」の✓を必ず外してください。
ここにチェックが付いているとLDAPやADとして認識しません。
③メニュから「特権」を実行します。
■ここで誰にどの様なVPNを許可するか?の指定ができます。
3.VPNの種類毎の設定方法
1)PPTPの設定(下記のボタンを開閉してください)
①VPNサーバを起動します。
②メニュからPPTPを起動します
③下記画面が表示されます。
■『PPT VPNサーバを有効にする』に✓をいれ「適用ボタン』を挿入します。
以上でPPTPの設定は完了です。
<運用時の注意>
PPTPの接続後、接続はできるがアクセススピードが遅いと感じた場合は上図のMTUの値を1400から1000に変更して下さい。
尚、最近ではPPTPは暗号化に脆弱性が指摘されているので、あまり推奨できません。
2)L2TP/IPSecの設定(下記のボタンを開閉してください)
①VPNサーバを起動します。
②メニュからL2TP/IPsecを起動します。
③下記画面が表示されます。
■「L2TP/IPSec VPNサーバを有効にする」に✓を入れます。
■パフォーマンスを最大化する「カーネルモードで実行」にを入れます。
■事前共有キー(任意文字)を入力します。
このキーをVPN 接続するデバイス側にも登録する事により、アクセスが可能になります。
他の記憶メディアに「事前共有キー」を記録しておいてください。
■「適用ボタン』を挿入します。
以上でL2TP/IPSecの設定は完了です。
<運用時の注意>
L2TP/IPSecの接続後、接続はできるがアクセススピードが遅いと感じた場合は上図のMTUの値を1400から1000に変更して下さい。
これで問題は解決される筈です。
3)OpenVPNの設定(下記のボタンを開閉してください)
OpenVPNはDSM6系とDSM7系は、大きく変わっています。
下記はDSM7系で説明します。
①VPNサーバを起動します。
②メニュからOpenVPNを起動します。
③下記画面が表示されます。
■暗号化は「AES-256-CBC」がデフォルトです。特別な理由がない場合はこれを使いましょう。
■認証は「SHA512」になっていますが、作成される構成ファイルは「ID&パスワード」認証になっています。運用面から考えて私はこれで良いと思います。
■赤〇に✓を付けて「適用」ボタンを挿入してください。
「TSL auth キー」と「サーバ CN」は、DSM7から追加された機能で、セキュリティを強化する機能です。尚、「VPNリンクで圧縮」を選択すると利用できないとの警告メッセージが出ます。
■OpenVPNサーバが起動したら「エクスポート設定」ボタンを挿入してください。
PCのダウンロードファイルに「openvpn.zip」ファイルがダウンロードされます。
■上記ファイルを「解凍」し、「デスクトップ上に配置」して下さい。
解凍すると下記ファイルが生成されます。
①ca.crt
②ca_bundle.crt
③README.txt
④VPNConfig.ovpn ※重要
上記の「VPNConfig.ovpn」ファイルをデスクトップに配置して下さい。
上記をカスタマイズしてOpenVPNに読み込ませます。
やり方はWindows側の設定(OpenVPN)で解説します。
<運用時の注意>
OpenVPNの接続後、接続はできるがアクセススピードが遅いと感じた場合は上図のMssfixオプション値を1450から1000に変更して下さい。
これで問題は解決される筈です。
以上でサーバ側のVPNの設定は完了です。
2.ルータにポート番号を設定する
ルータのNAT変換テーブルに下記のポート番号と転送先を設定します。
PPTPは1つだけで良いのですが、L2TP/IPSecは3つのポートを使います。
アプリケーション | プロトコル | ポート番号 |
PPTP | TCP | 1723 |
L2TP/IPSec | UDP | 500 |
L2TP/IPSec | UDP | 1701 |
L2TP/IPSec | UDP | 4500 |
OpenVPN | UDP | 1194 |
■OpenVPNのデフォルトポート番号は「1194」ですが、これ以外のポート番号も利用できます。
■ルータへのポート番号の設定方法はルータに転送先サーバを設定するを参照してください。
3.Windows側の設定(PPTP、L2TP/IPSec)
1.PPTP、L2TP/IPSecの基本設定
PPTPとL2TP/IPSecは、Windowsが持っている通信アプリを利用します。
①「スタート」ボタンを右クリックし「ネットワーク接続」をクリックします。
②表示された画面のメニュから「VPN」を選択します。
③表示された下記画面から「+」をクリックします。
⑤下記画面が表示されます。
■赤丸の所をクリックし、表示された『Windows(ビルトイン)』を選択します。
⑤下記が表示されます。
■接続名:任意のVPN名称です。
■サーバ名またはアドレス:SynologyサーバのDDNSを入力します。
例)nw.myds.me
前にhttp://等は入れないでください。
■VPNの種類は赤丸の所をクリックするとWindowsでサポートしているVPN種類が表示されます。
・PPTP の場合は、VPNの種類で『PPTP』を選択して下さい。
・L2TP/IPsecの場合は、VPNの種類で『事前共有キーを使ったL2TP/IPsec』を選択して下さい。
⑥その他の設定
■サイン情報の種類:『ユーザ名とパスワード』を選択します。
■ユーザ名:Synologyサーバをアクセスするユーザ名を入力します。
■パスワード:パスワードを入力します。
L2TP/IPsecの場合は下記も指定します。
■事前共有キー:Synologyに登録した事前共有キーを入力します。
⑦『保存』ボタンを挿入して、設定が完了します。
2.L2TP/IPSec の追加設定
WindowsPCのL2TP/IPSec の仕様変更
WindowsはXP以降、ルータの奥にあるVPNサーバへはL2TP/IPSec ではアクセスできない仕様に変更されました。
そこでL2TP/IPSec を使う場合はWindowsのレジストリを変更する必要があります。
レジストリ変更は操作を間違えると、PC自体が起動できなくなる事があります。
必ず、レジストリのバックアップは取っておいて下さい。
障害が発生した場合は『windows10 起動しない レジストリ』でインターネット検索すると、修復方法が出てきます。
①「スタート」ボタンを右クリックして『ファイル名を指定して実行』を起動します。
②下記画面に『regedit』を入力し『OK』を挿入します。
■レジスタが表示されます。
レジスタの保存は「ファイルメニュ」から「エクスポート」を選択して保存します。
③表示されたレジストリから下記の所までプルダウンします。
コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
■具体的には上記をクリップボードにコピーし、コンピュータと表示されている行にペーストして「Enter」キー挿入すると下記画面が表示されます。
④PolicyAgentの設定を変更します。
必要キーは『AssumeUDPEncapsulationContextOnSendRule』になります。
上記のキーがある場合は、キーをダブルクリックして値を『2』に変更します。
上記のキーがない場合は、画面を右クリックして『新規→DWORD(32ビット)値』を実行します。
作られた新しいキーに下記の名前を『コピー&ペースト』で入力します。
AssumeUDPEncapsulationContextOnSendRule
注意:大文字、小文字を区別します。また名前の後ろにスペースが入っていても無効です。
作成されたキーをダブルクリックして、値に『2』に変更します。
⑤ファイル→レジストリエディタの終了で終了します。
※レジストリエディタには保存という概念はありません。修正は直接反映されます。
⑥PCを再起動します。
以上で「L2TP/IPSec」が利用できるようになりました。
3.PPTP及びL2TP/IPSecでの接続
PC画面のメニュバーにある「ネットワーク」アイコンをクリックします。
下記画面が表示されます。
下図はPPTPの接続名を『PPTP』、L2TP/IPsecの接続名を『L2TP』にした場合の表示例です。
■PPTPで接続する場合:上図の『PPTP』をクリックして、接続ボタンを挿入します。
■L2TP/IPsecで接続する場合;上図の『L2TP』をクリックして、接続ボタンを挿入します。
4.PPTP及びL2TP/IPSecでVPN接続がうまくできない時の対策
1)まずiOSやAndroidからVPN接続できるか?を確認します。
接続名は下記を利用します。
PPTP | L2TP/IPSec | |
iOSデバイス | PPTP | L2TP |
Andoroid | PPTP | L2TP/IPSec PSK |
■上記の接続で問題がない場合は、Windows側の問題に絞れます。
2)Windows側の対策は「Windows側のドライバを入れ直す」と解決する事があります。
①「スタート」ボタンを右クリックし「デバイスマネージャ」を起動します。
②「ネットワークアダプタ」をクリックすると下記が表示されます。
■上記の赤線のドライバを右クリックして「削除」します。
上記のドライバはWindowsのデフォルトドライバなので再起動で再インストールされます。
③Windowsの再起動を行います。
私の場合は、これで解決しました。
4.Windows側の設定(OpenVPN)
OpenVPNはVPNソフトをダウンロードして、そのソフトでVPN接続をします。
1.OpenVPNのダウンロードとインストール
http://openvpn.net/index.php/open-source/downloads.html
上記をクリックし対応するソフトウェアをダウンロードして下さい。
私のPCは64ビット版なので下記をダウンロードしました。
2.ダウンロードされた下記ファイルをインストールします。
■上記ファイルをダブルクリックしてインストールします。
ディスクトップに下記アイコンが追加されます。
またタスクバーの中に下記アイコンが追加されます。
3.「VPNConfig.ovpn」ファイルの編集
SynologyのOpenVPNからダウンロードした「VPNConfig.ovpn」を修正します。
1)上記ファイルを「EmEditor」で開きます。
①下記の行を修正します。(4行目)
remote YOUR_SERVER_IP 1194
↓
remote nw.myds.me 1194
■「YOUR_SERVER_IP」の所を貴方の「DDNS」に変更します。
②下記の行を修正します。(20行目)
#redirect-gateway def1
↓
redirect-gateway def1
■コメント「#」を削除します。
③下記の行を修正します(39行目)
cipher AES-256-CBC
↓
cipher AES-256-CBC data-ciphers AES-256-CBC auth-nocache
■DSM6系では不要でしたが、DSM7.1では、これを指定しないと警告メッセージが出ます。
■これも将来のバージョンUPで不要になるかもしれません。
④「保存」をして下さい。
4.「VPNConfig.ovpn」ファイルの読み込み
①タスクバーにある上記アイコンを右クリックして「インポート」を実行します。
②デスクトップに配置した「VPNConfig.ovpn」を選択します。
以上でOpenVPNの設定は完了します。
5.OpenVPNの実行
①タスクバーにある上記アイコンを右クリックして「接続」を実行します。
②表示されたIDとパスワードの入力画面にユーザを入力します。
③接続が開始されます。
6.その他
を右クリックすると下記メニュが表示されます。
上記の主要なメニュの説明は下記になります。
メニュ | 解説 |
接続 | SynologyサーバとVPN接続します。
接続できるとアイコンは下記のようになります。 が に変わって接続していることを表します。 |
切断 | VPN接続を終了します。 |
終了 | OpenVPNクライアントを終了します。
再度利用する場合はから始めます。 |
ステータスの表示 | 接続過程のステータスが表示されます。
警告文は赤字で表示されます。 |
Inport | このメニュの中に「ファイルのインポート」があり、「VPNConfig.ovpn」ファイルをインポートします。 |
設定の編集 | 読み込んだ「VPNConfig.ovpn」ファイルを直接編集する事ができます。
ステータスのコメントを見て、とりあえず修正してみる時に便利です。 しかし最終的には「VPNConfig.ovpn」を修正し、再Inportして下さい。 |
設定 | OpenVPNの設定画面が表示されます。 |
5.VPN接続の障害対策
昔からVPN接続を利用していますが 遅い、応答しない?等の問題はありませんでした。
しかしDSM7に変更した位からか VPN接続はできるが?????という現象に遭遇しました。
そこで通信パケットサイズの上限を変更する事により昔の様に快適に使える様になりました。
同じ悩みがある方は参考にしてみてください。
1.PPPoE又はL2TP/IPSecの場合
設定画面にある「MTU」の値を下記に変更します。
1400→1000
2.OpenVPNの場合
設定画面にある「Mssfixオプション」値を下記に変更します。
1450→1000
挙動を見ているとデフォルトのパケットサイズを利用しているとパケットロスが多発し 遅い、応答しない?等の問題を起こす様に見えます。
DSM7になって何が変わったのか?また今後のバージョンUPで改善されるかはわかりませんが、とりあえずの対策として少し小さめのパケットサイズにする事によりこの問題は解決します。