SynologyNASの仮想マシンで外部に公開するサーバを構築した。

SynologyNASを使用して外部に公開するサーバを構築します。

早速ですが、注意点です。
本記事はDSMのパッケージを使用してサーバを構築し、
FWやDoS対策など設定で、ある程度のセキュリティは担保できているかと思いますが、
公開したことによる被害に対する一切の責任は負いませんのご容赦ください。

環境

DiskStation DS220+
・メモリ:10GB
・DSM7.0.1

ちなみにHDDは、WD Red Plusを使用しています。

メモリについては、2GBではvirtualmachineが立ち上がりません。
私は、8GBメモリを取り付け10GBに拡張しています。
下記の記事で増設の紹介をしています。

https://hasethblog.com/it/gadget/nas/6922/

virtual machineをインストール

まず、Synologyのパッケージセンターから
virtual machineをダウンロード・インストールしましょう。

dsm virtual machine

パッケージセンターの検索で「virtual machine」と入力すれば表示されます。

Synology virtual DSMで仮想マシンを作成

virtual machineをインストールできたら、起動しましょう。

仮想マシンの「作成」から「Synology Virtual DSM」を選択します。
DSMは、ホストOSとは他に1つだけ同一ライセンスで追加できます。
ゲストで2つ以上DSM使用するときはライセンス費用が発生します。

バーチャルマシーン

メモリサイズやストレージ容量など後から変更できますが、
ひとまず、メモリ:3GB、ストレージ:10GBとしました。

権限項目にあるローカルアカウントを選択すると
ホスト側のアカウントでゲストもログオンできるようになります。

セキュリティの設定

各種セキュリティの設定をします。

ファイアウォールを設定する

ファイアウォール

の設定をします。
この以下の画像はゲスト側での設定です。

まず、コントロールパネル > セキュリティを開きます。
「全般」から「ファイアウォールを有効にする」にチェックを入れます。

次に、「ファイアウォールプロファイル」から「規則の編集」をクリックします。

Webstation

設定は、上位が優先されます。

個人であれば、ローカルネットワークからの参照について、
ポートやプロトコルの縛りは不要かと思いますが、
外部からのアクセスについては、特定のポートやプロトコルを限定しましょう。

ファイアウォールを許可しない場合、拒否はされますが明示的に拒否をします。

その他のセキュリティ設定を行う

コントロールパネルのセキュリティから
その他のセキュリティ設定項目があります。

必要に応じて設定します。
例えば、DoS保護は、保護タブから設定できます。

 

ネットワーク設定

ネットワークの環境は以下の通りです。
外部に公開するサーバはPPPoE接続、
それ以外の通信はv6 プラス(IPv6 IPoE + IPv4 over IPv6)での接続とします。

下の画像が実際の接続イメージです。
NASからバッファロー家庭ルータまでは、物理的にLANケーブルで分けますが、
バッファロー以降は、実質一本です。

ルータでPPPoEパススルーの設定を行い、
SynologyNASのゲストでPPPoEの設定を行えば、
その通信のみPPPoE接続することができます。

SynologyNAS

PPPoE接続とV6 Plusを分けなくても使えますが、
なにか致命的な問題ががあった際、PPPoE側だけ閉じるといった
退避策がとれます。グローバルIPが共通だとなんだか不安です。

・・本来であれば物理的にNASも分けたいですし、さらに言えば
完全にネットワークを分離したいですが・・・。

V6プラスでサーバ公開はできないの?

 

 

サーバ公開できますが、v6プラスでは、
グローバルIPを複数のv6プラス契約者で共有しています。

そのため、使用できるポートに限りがあります。

HTTPS(443)HTTP(80)といったポートは開放できません。

そのためサーバのアドレスを
XXX.com:67676といったようにポート番号を明示的に示す必要がでてきます。

 

v6プラスを使ってるけどPPPoEも併用できるの?

契約するプロバイダによって異なりますが、併用可能なところが多いようです。私の契約するプロバイダも、公にPPPoEを併用できるか記載してませんでしたが、お問い合わせで、併用したい旨を伝えたところ、すんなり接続情報をご教示いただきました。(料金変わらず)

では、まずルータの設定を行います。
ルータの設定については、ご自身の環境に合わせて行います。

私と同様でPPPoE、v6プラスを併用する場合は以下の通りです。

ルータの設定 ①PPPoEパススルー機能を有効化

ルータの管理画面に入りPPPoEパススルー機能を有効にします。

PPPoEパススルー

 

ルータの設定 ②PPPoEの接続先を追加

同じくルータの管理画面からPPPoEの接続先情報を入力します。
前述しましたが、接続情報を持っていない方や、v6プラスのプラン使用者は、契約プロバイダにお問い合わせすればPPPoEの接続情報を開示してくれます。

接続情報の入力

これでルータ側の設定は完了です。
SynologyNAS側での設定にうつります。

SynologyNASでPPPoEの有効化

SynologyNASの管理画面(ゲスト)を開きます。
コントロールパネルのネットワークから「ネットワークインタフェイス」タブを開きます。

SynologyNAS_PPPoE

PPPoEという項目があるので、そちらを編集します。
ルータで入力したPPPoEの接続情報と同じ情報を入力します。
OK」を押すと反映します。

これでSynologyNAS(ゲスト)はルータを介さずPPPoEで通信するようになります。
ルーターを介さないため、セキュリティが筒抜けになりますので
SynologyNAS側でファイアウォールなどしっかり設定しましょう

続いて、DDNSの設定を行います。

DDNS設定

無料のDDNSを取得しましょう。
SynologyのDDNSは一つまで無料で取得できます。

QuickConnectの利用は、望ましくないためSynologyのDDNSを利用している方が多いはず。ということで、同じく無料のDDNSを発行できるMyDNS.JPを利用します。

Dynamic DNS (DDNS) for Home Server and VPS etc, Free!
Free Dynamic DNS (DDNS) by POP3,IMAP4,FTP,HTTP-BASIC for Home Server, Webcam, VPS. You can use many free sub domain, .jp, .net, .asia, etc.. DynDNS is not free

手順は、下記のリンク先の通りです。

https://nw.myds.me/synology/setup-domain/
Synology製NASからMyDNS.JPのDDNSアドレスを更新する - Qiita
Synology製NASには標準でDDNSアドレス更新機能が搭載されているが、MyDNS.JPはDDNSプロバイダ一覧に登録されていなかった。MyDNS.JPのドメイン名を捨てるのは名残惜しかった…

登録〜発行は、一つ目、
SynologyNASの設定方法は二つ目がわかりやすいです。

設定がうまくいったか確認方法は、
コントロールパネル >外部アクセス > DDNSから、作成したドメインを選択します。

テスト接続」から、ステータスが正常になれば接続は成功しています。

synology_NAS_ddns

サーバ公開設定

続いてサーバ公開の設定をします。
ゲストの管理画面を開きます。

パッケージセンターから「WebStation」をインストール

ゲスト側のパッケージセンターから「WebStation」をダウンロード・インストールします。

WebStationインストール

サービスポータルから仮想ホストを作成

インストールが完了したらWebStationを開きます。
Webサービスポータル」タブから、「作成」 >「サービスポータルの作成」 > 「仮想ホストの作成」を選択します。

サービスの作成

①「ホスト名」に発行したドメインを入力します。
②「ポート」のチェックボックス「80/443」にチェックを入れます。
※v6プラスで設定をしている方は、80/443ポートで開放できないので
ルータから開放しているポート番号を確認して入力しましょう。

③ドキュメントルートには、公開するフォルダ配下のパスを入力してください。
PHP等は、必要に応じて構成します。

本記事では、仮想ホストを作っていますが、
WordPressのみ公開といった場合は、パッケージサーバポータルから設定をしても良いかもしれません。ただし、複数コンテンツの公開(WordPressとは別のドメインまたは、サブドメインでポートフォリオや別のWordPressサイト作成)する場合は、仮想ホストしか実現できません。

ローカル参照用に設定

ローカルから編集をするかと思います。
そのため、公開した80/443とは別に仮想ホストを構成します。

仮想ホスト設定

ローカル参照用はポートベースで作成します。

portbase

公開用の仮想ホストとは別々にする理由は、
ホスト指定しているところにあります。ローカルからは、DDNSを名前解決できません。
SynologyNASでDNSを構築すれば、同一ドメインでアクセスできるようになりますが、セキュリティ的にも不安です。なのでローカル参照はポートベースで設定をして
IPアドレス:ポートでアクセスできるようにします。

公開確認

外部からアクセスして確認します。

公開

問題なく表示されました。

おわりに

これでSynologyNASを使って外部に公開できました。
私がここまで至るのに苦労した点は、
PPPoEを併用できることを知らず、v6プラスでポートを非表示にする方法をひたすら試行錯誤していました。

また、ルータを介すると、Synologyからのポート開放画面で
ホストとゲストどちらか一方の設定しかできなく、そこでも詰んでました。
このようにPPPoEとv6プラスを併用することでどちらの問題も解決されて設定することができました。

ぶっちゃけSaaSであれば、いくらでも安く借りられますが
初期費用がかかったりとスモールスタートしにくいです。

開発環境やテスト的にリリースしたりと
使い捨てが容易な自家サーバは最適です。

ありがとうございました。

 

コメント

スポンサーリンク
スポンサーリンク
タイトルとURLをコピーしました