- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2021-11-13T19:39:33+09:00;2020-06-15T22:39:12+09:00","default:tgoto","tgoto")
#author("2021-11-14T11:08:58+09:00;2020-06-15T22:39:12+09:00","default:tgoto","tgoto")
こちらのサイトが非常に参考になった。
#ogp(https://tabikumo.com/sslh-nas/)
$ 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」で保存して閉じるであることさえわかれば簡単な編集はできる。
#ogp(https://qiita.com/JpnLavender/items/fabcc79b4ab0d52e1f6d)
# 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のインストール [#a239bc02]
職場プロキシなどではインターネットブラウザの接続に必要な80ポートと443ポート以外のポートが閉じられていることが少なくない。したがってこの443ポートを用いてVPN接続を試みたいが、443ポートはhttpsへの接続にも必要な重要なポートである。したがってこの443ポートを複数の用途で併用するための工夫が必要となり、これがSSLHとなる。
Synology NASのパッケージセンターでSynoCommunity(http://packages.synocommunity.com/)からインストールできる。
*ルータの設定 [#b8c9532c]
***Synology NAS -> コントロールパネル -> 外部アクセス -> ルータの設定 [#i61c859e]
作成→カスタムポートで以下のポートを開いておく。openVPNのデフォルトである''UDP''ではなく''TCP''を開いておく必要があることに注意。
,ローカルポート,ルーターポート,プロトコル
,1194,1194,TCP
***盲点だった点 [#r00e10c2]
今回上記はopenVPNでの設定を試したが、そもそもiPhoneなどが標準で利用できるL2TP/IPSecの設定をしようとしたのにSynologyのセキュリティ設定やVPNサーバーをいくらいじっても接続ができなかった。設定画面の ''コントロールパネル -> 外部アクセス -> ルータの設定 -> 接続テスト'' で何度やっても500番と4500番のポートの接続テストがエラーになって原因がなかなか解明できなかった。
うちはIO-DATAのルータ(WN-PL1167EX01)を使っていたのだが、このルータの''セキュリティ設定 -> パススルー -> IPsecパススルー'' が「無効」になっていたのを「有効」に変更したところあっさりとL2TP接続ができてしまった。
----
*追記(2021/11/13) [#c1288904]
ここに書いた方法は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設定ができていません。
#ogpi(https://oncologynote.com/?3981681b0a)
#navi(日記/2020年)