SynologyのDDNSにドメイン名を設定してインターネットからアクセスできるように設定しました。しかし、SynologyのDDNSについてはNAS1台につき1つのドメイン名しか設定できません。よって、別のDDNSにドメイン名を設定して外部からのドメイン名アクセスができるようにします。ここではDDNSとして「MyDNS.JP」サービスを利用してSynologyNASにドメイン名を設定する手順を記載します。
以下の記事でSynology NASにSynologyのDDNS(Dynamic Domain Name System)にドメイン名を登録してインターネットからアクセスする手順を紹介しています。
参考 Synology NASにDDNSを設定してインターネットからアクセスする
ここでは、SynologyのDDNS以外のDDNSにドメイン名を登録して、Synology NASをインターネットからアクセス可能とする手順について紹介します。
1.MyDNSについて
MyDNS.JPは誰でも簡単に使うことができる無料のダイナミックDNS(Dynamic DNS、DDNS)です。
個人の方で運営されており、MyDNSで提供されているドメイン名のサブドメインとしてドメイン名を登録して使用することが出来ます。
また、自分で所有しているドメイン名をMyDNSのネームサーバ上で運用することもできます。
これらの機能を基本的に無料で使用することが出来ます
2.MyDNS.jpで無償のドメイン取得
MyDNS.JPのJOIN.USにアクセスしてユーザ登録を行います。
ユーザ登録すると、しばらくしてメールでIDとパスワードが発行されますので、このID、パスワードを使用してMyDNS.JPにログインします。
MyDNS.JPのDOMAIN INFOにドメイン情報を登録します。
- 自分が入れたいDomain名を入力します。
- HOST名は「*」を入れておきます。
- 「確認」を実行して、指定したドメイン名が使用可能であればそのまま登録完了します。ほかの人がすでに使用中などで登録不可の場合はエラーとなりますのでDomain名を変更し、登録完了するまで再実行します。
3.DSMにDDNS更新情報を登録する
[コントロールパネル]>[外部アクセス]>[DDNS]>[プロバイダのカスタマイズ]の順に進みます。
サービスプロバイダに任意の名称を入力し、Query URLに以下のDDNSの更新情報を設定します。
https://www.mydns.jp/directip.html?MID=__USERNAME__&PWD=__PASSWORD__&IPV4ADDR=__MYIP__
[コントロールパネル]>[外部アクセス]>[DDNS]>[追加]を選択し、DDNS登録の追加を行います。
サービスプロバイダに先ほど「プロバイダのカスタマイズ」で登録した任意の名称を選択します。
ホスト名にはMyDNS.JPで登録したドメイン名、ユーザ名とパスワードにはそれぞれMyDNS.JPのログイン用のID、パスワードを設定します。
「テスト接続」を実行してステータスが「正常」となれば登録完了です。ダイアログの「OK」を実行して登録完了します。
4.IPv6アドレスのDDNS更新情報設定
ここまでで登録したDDNS設定では、SynologyのDDNS以外の、サービスプロバイダのカスタマイズで登録したDDNS登録設定では、IPv6の外部アドレスを自動登録することができません。
よって、IPv6の外部アドレス登録については別の手段でMyDNS.JPにIPv6アドレスの通知を行います。
MyDNS.JPではIPアドレスをURLアクセスすることにより通知できますので、https-DIRECT方式で通知を行うこととし、通知を行うスクリプトをタスクスケジューラで定期実行、およびNAS起動時に通知することとします。
外部アクセスのDDNS設定で登録したDDNS設定情報については、ルーター再起動等、外部アドレスに変更が掛かったタイミングで即時DDNSへのIPアドレス更新情報が反映されるようです。
しかし、ここで記載しているタスクスケジューラでの定周期実行登録ではそのような仕組みは実現できないため、IPアドレスの更新が発生しても定周期実行の周期分、更新の遅延が発生する可能性があります。
[コントロールパネル]>[タスクスケジューラ]を選択し、[作成]>[予約タスク]>[ユーザ指定のスクリプト]を選択して「タスクの作成」ダイアログを表示する。
任意のタスク名を設定し、ユーザは「root」とする。
[タスク設定]を選択し、タスク設定画面を表示する。
ユーザ指定のスクリプト欄に以下のスクリプトを入力する。
(MyDNS.JPのID、パスワードのところはそれぞれID、パスワードを括弧抜きで直接入力します。)
curl -u [MyDNS.JPのID]:[MyDNS.JPのパスワード] https://ipv6.mydns.jp/login.html
スケジュールについては1日一回の通知とし、任意の時間を登録する(私の場合は0:20に通知するように設定しました)
あと、上記と同じ方法で[作成]>[トリガーされたタスク]>[ユーザ指定のスクリプト]を選択し、イベント[ブートアップ]でNAS起動時の通知タスクを作成します。
スクリプト内容は[予約タスク]と同一内容とします。
5.SSL証明書の取得
WebサイトをHTTPSでアクセスするためのSSL証明書を取得する必要があります。
SynologyのDDNSについては設定時に「Let's Encryptから証明書を取得して、デフォルトの証明書として設定する」を選択することにより自動的にSSL証明書の取得まで実行されますが、カスタマイズプロバイダの登録によるDDNS設定では別途SSL証明書の取得を行う必要があります。
[コントロールパネル]>[セキュリティ]>[証明書]を選択し、[追加]を選択します。
「新しい証明書を追加してください」を選択して[次へ]を選択します。
説明欄に[ドメイン名]を入力し、[Let's Encryptからの証明書をお受け取りください]を選択して[次へ]を選択します。
ドメイン名欄に[ドメイン名]を、電子メール欄に[メールアドレス]を入力し、[完了]を選択委sます
しばらくすると処理が完了して新しい証明書が証明書欄に表示されます。
証明書の取得がエラーとなる場合は、ポート80と443が開いていない場合か、登録したドメイン名がまだDNSレコードとして伝播していないことが考えられますので、しばらく時間をおいてから再実行してみてください。
また、Let's Encryptの登録については、1時間に5回以上の登録失敗が発生するとそれ以上の同一ドメイン名の登録を受け付けない仕様になっているようですので、この場合もしばらく時間をおいてから再実行してください。
[コントロールパネル]>[セキュリティ]>[証明書]を選択し、[設定]を選択します。
取得したドメイン名でHTTPSアクセスしたいサービスの証明書を、新しく取得した証明書に変更し、[OK]を選択します。