string(11) "3.239.76.25"
 
HOME  /Synology(IPv6)
 /SynologyとCloudflareをトンネルで接続する
2023年11月11日

SynologyとCloudflareをトンネルで接続する

Cloudflare Tunnelは外部から、内部のプライベートネットワーク内のリソースに安全にアクセスする方法になります。

DSM、アプリケーション、ルータ等のへのアクセスがこのトンネルを使って可能になります。

接続図は下図の様になります。

■これは[Cloudflare Tunnel]と[仮想クライアント]間のトンネルで、Synologyの場合は[仮想クライアント]は[Docker]になります。

但し[Docker]はDSM7.1までの名称で、DSM7.2からは[Container Manager]に改名されています。

■[Cloudflare Tunnel]は従来の[VPN]と違いルータでのポート開放等の作業は不要です。

 

1.CloudflareにTunnelを作成する

1.Cloudflareのホーム画面に入ります。

■左ペインの[zero Trust]をクリックします。

 

2.Team domain名を設定します。

始めて[zero Trust]を起動した時だけチーム名を入力する画面が表示されます。

■任意名称を入力します。この名前は全世界でユニークな名前が求められます。

■[Next]ボタンを挿入して下さい。

 

3.[zero Trust]のメニュが表示されます

■[Access→Tunnel]をクリックします。

 

4.トンネルの作成画面が表示されます。

■[Add Tunnel]ボタンを挿入します。

 

5.トンネル名を入力する画面が表示されます。

■トンネル名を入力して[Save tunnel]ボタンを挿入します。

この中に複数の[Public hostnames]を設定するので、トンネル名はサーバ名で指定する事をお勧めします。

 

6.仮想クライアントツールに設定するコマンドを編集します。

■[Docker]をクリックすると、[Docker]用の接続コマンドが表示されます。

■コピーボタンでクリップボードに取り込み[Emeditor]等に貼り付けて下さい。

コマンドは下記の2つのコマンドから構成されています。

docker run cloudflare/cloudflared:latest 
tunnel --no-autoupdate run --token eyJhIjoiMGY1YjIxMGNiOTA1OGMxZWM4M2RlZmZk 以下は省略

赤字の所は[Docker]の起動コマンドです。

Synologyの場合は[Docker]が既に立ち上がっているのでこの部分は削除して下さい。

■編集したコマンドをSynologyのDockerの実行コマンド欄に貼り付ける事により、CloudflareとSynologyの[Docker]間にトンネルが作成されます。

 

2.Synology側で[Docker]コンテナを作成する

SynologyのDSM7.1までは[Docker]でしたがDSM7.2からは[Container Manager]に変更になっています。

ここではDSM7.1のDocker環境で説明します。

1.[Docker]をインストールして起動します。

下記画面が表示されます。

■左ペインのメニューで [レジストリ] をクリックします。

 

2.下記の画面の検索ボックスで[Cloudflare]で検索します。

■レジストリメニュ画面の右上の検索BOXに[Cloudflare]を指定して検索して下さい。

■画面の先頭に[Cloudflare/Cloudflared]が表示されます。Cloudflaredは[cloudflare daemon]の略でこれを使ってCloudflareと接続する事になります。

[参考情報]

画面の右側にリンクマークがあり、これをクリックすると何を行う仮想ホストかの説明文書にジャンプする事ができます。

 

3.Cloudflare/Cloudflaredをダウンロードします。

■Cloudflare/Cloudflaredを選択し[ダウンロード]ボタンを挿入します。

下記画面が表示されます。

■latest(最新)で[選択]ボタンを挿入して下さい。

イメージに1個の仮想ホストが追加されます。

■[イメージ]メニュをクリックします。

 

4.Cloudflare/Cloudflaredの設定

①Cloudflare/Cloudflaredの起動

■[Cloudflare/Cloudflared]を選択し[起動]ボタンを挿入します。

 

②コンテナをどのネットワーク環境で使うかの選択画面が表示されます。

■上記の2つの選択はいずれを使っても問題ありません。どちらかを選択し[次へ]で先に進みます。

 

③コマンドを登録する画面が表示されます。

■自動再起動に✓を付けます。付けなくても問題ありません。

■[詳細設定]をクリックします。

 

④実行コマンドを登録する画面が表示されます。

■実行コマンドタブを開きます。

■ここがポイントです。コマンド欄にCloudflareで編集した実行コマンドをコピーしてここに貼り付けます。

■[保存]ボタンを挿入します。

 [Container Manager]の場合

Dockerは[実行コマンド]タブの中で指定しますが、[Container Manager]はタブ形式でなくフラットな入力画面になっています。

その中に実行コマンドを登録する所があります。ここに入力します。

 

⑤全般設定画面に戻ります。

■[次へ]のボタンで先に進みます。

 

⑥ボリューム設定画面が開きます。

■[次へ]のボタンで先に進みます。

 

⑦確認画面が表示されます。

■完了ボタンを挿入します。

 

⑧コンテナ画面を見てください。

■既に、Cloudflareと接続されている事が確認できます。

 

3.Public Hostnamesを設定する

ここでは[Cloudflare]と[Docker]間で作成されたトンネルを使って、どの様な内部リソースに接続するか?の設定を行います。

1.Cloudflareの画面に戻ります。

■[Back to tonnel]をクリックします。

 

2.下記画面が表示されます。

■StatusがHEALTHY(健康)は、SynologyのDockerが正常に繋がっている事を表します。

繋がってない場合は、赤表示になります。

 メモ

Statusがの場合は、Dockerの下記コンテナ画面のスライドをONにして下さい。

原因は判りませんが、何かの都合で上記がOFFになる事がありました。

[Container Manager]の場合は、コンテナ画面の[開始]ボタンの挿入です。

 

ここから具体的な内部リソースの設定を行っていきます。

3.トンネルの編集画面に入ります

■編集したいトンネルをクリックするとダイアログが表示されます。

■ダイアログの[configure]をクリックします。

 

4.下記画面が表示されます。

■[Public hostname]をクリックします。

 

5.下記画面が表示されます。

Subdomain:任意の名前を入力します。

トンネルは複数設定されるので何を行うサブドメインかが判る名前にして下さい。

Domain:▼をクリックして利用するドメインを選択します。

ここで選択されドメインのDNSレコードに①のサブドメイン名がCNAMEで追加されます。

Path:ここで指定したパス以外はこのURLを使えないように制限します。

Type:▼をクリックし通信のタイプを選択します。

HTTP,HTTPS等

URL:下記を参照して指定して下さい

下記はHTTPでアクセスする時のアンプルです。

用途 URLサンプル 備考
DSMアクセス http://192.168.1.200:5000 DSMにログインする時に利用します。

ポート番号は[コントロールパネル→ログインポータル→DSMタブ]で確認して下さい。

WebDAV接続 http://192.168.1.200:5005 WebDAVでアクセスする時に利用します。

ポート番号はWebDAV Serverで確認して下さい。

phpmyadmin http://192.168.1.200:80 phpmyadminにアクセスする時に利用します。

pathに[phpmyadmin]を指定しておくとそれ以外のパスへのアクセスには利用できなくなります。

ルータアクセス http://192.168.1.1 ルータにアクセスする時に利用します。

 

以上でこのドキュメントの説明は完了です。

関連ドキュメントはメニュの「Wordpress(応用編)タブ」か下記の関連記事一覧から探して下さい。

又、このサイトには、Google広告が掲載されています。

この記事が貴方の参考になりましたら、広告もご覧頂ければ幸いです。


<関連記事一覧>

「ipv6」に関連するドキュメントを表示しています。尚、このページネーションはJquryで制御しています。

Synologyの中に構築したWebサーバをCloudflareのCDN経由でアクセスすると[remoteip]がCloudflareのIPアドレスになり誰がアクセスしたのかの情報が取れなくなります。 そこでSynolo […]

ここではCloudflareでDNSレコードを管理した場合、Google Adsenceのads.txtをどの様に設置するかの解説をしています。

ここではClodflareとSynologyのNASをIPv6で接続してWordPressで利用する方法を解説しています。

ここではClodflareへのアカウント登録から、[XServer Domain]で取得したドメイン名を追加する手順を解説しています。

ここではXserverからドメイン名を取得する方法を解説しています。

ここではSynologyのNASをIPv6接続し、そこで何ができるかを解説しています。