Synology NASで443ポートを使ったopenVPNの設定
こちらのサイトが非常に参考になった。
$ sudo -i # cd /usr/syno/share/ # cp -a nginx org_nginx # cd /usr/syno/share/nginx
DSM.mustacheの77行目、WWWService.mustacheの15行目、server.mustacheの117行目のlisten 443をすべてlisten 127.0.0.1:443に変更する。
# vim DSM.mustache # vim WWWService.mustache # vim server.mustache
vimの扱いに慣れていないと戸惑うが、iで編集モードに入りescで編集モードを抜けられること、「:wq」で保存して閉じるであることさえわかれば簡単な編集はできる。
# sudo synoservicecfg --restart nginx
再起動
# cd /usr/local/sslh/var/ # cp sslh.cfg org_sslh.cfg
# vim /usr/local/sslh/var/sslh.cfg
13行目の{ host: “0.0.0.0“; port: “30000“; }のうち0.0.0.0をサーバーのローカルIPアドレスに、30000を443に変更する。
# netstat -an | grep 443
これで下記のように当該ポートがlistenになっていればOK。
tcp 0 0 192.168.100.20:443 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:443 0.0.0.0:* LISTEN tcp6 0 0 :::443 :::* LISTEN
SSLHのインストール
職場プロキシなどではインターネットブラウザの接続に必要な80ポートと443ポート以外のポートが閉じられていることが少なくない。したがってこの443ポートを用いてVPN接続を試みたいが、443ポートはhttpsへの接続にも必要な重要なポートである。したがってこの443ポートを複数の用途で併用するための工夫が必要となり、これがSSLHとなる。
Synology NASのパッケージセンターでSynoCommunity(http://packages.synocommunity.com/)からインストールできる。
ルータの設定
Synology NAS -> コントロールパネル -> 外部アクセス -> ルータの設定
作成→カスタムポートで以下のポートを開いておく。openVPNのデフォルトであるUDPではなくTCPを開いておく必要があることに注意。
ローカルポート | ルーターポート | プロトコル |
1194 | 1194 | TCP |
盲点だった点
今回上記はopenVPNでの設定を試したが、そもそもiPhoneなどが標準で利用できるL2TP/IPSecの設定をしようとしたのにSynologyのセキュリティ設定やVPNサーバーをいくらいじっても接続ができなかった。設定画面の コントロールパネル -> 外部アクセス -> ルータの設定 -> 接続テスト で何度やっても500番と4500番のポートの接続テストがエラーになって原因がなかなか解明できなかった。
うちはIO-DATAのルータ(WN-PL1167EX01)を使っていたのだが、このルータのセキュリティ設定 -> パススルー -> IPsecパススルー が「無効」になっていたのを「有効」に変更したところあっさりとL2TP接続ができてしまった。
追記(2021/11/13)
ここに書いた方法はSynology DSM 6では使用可能ですがDSM 7.0にアップデートすると使えなくなってしまうようです。具体的にはSSLHで443ポートを開くための設定が変わってしまうため443ポートが開けません。
DSM 7.0ではsslh.cfgがあるディレクトリも変更になっています。
cd /usr/local/sslh/var/ (DSM 6.x) cd var/packages/sslh/var/ (DSM 7.0)
nginxの設定ファイルがある場所はDSM 7.0ではこのようになっています。下記のディレクトリの /etc/nginx/ に nginx.conf があります。
usr/syno/share/nginx/
さらに、nginxの再起動のコマンドも変わっているようです。
synoservicecfg --restart nginx (DSM 6.x) synosystemctl restart nginx (DSM 7.0)
何か他のアプリケーションが443ポートをlistenしておりSSLHで443をlistenできないため、今のところDSM 7.0とSSLHで443番ポートを使ったOpenVPN設定ができていません。
この記事に対するコメント
このページには、まだコメントはありません。
更新日:2020-06-15 閲覧数:3540 views.