この記事はQiitaからの移行記事です。
CloudflareのCloudflare Zero Trustというサービスを使って自宅サーバーを管理できるようにしてみました。
なお、ここで説明することはすべてCloudflare Docsに書いてあります。ぜひそちらもお読みください。
Connect private networks - Cloudflare Zero Trust docs
概要
以下の図のようにCloudflaredとCloudflare WARPを使用して自宅のネットワークにアクセスできるようにします。
前提
Cloudflareのアカウントを持っていること ドメインを持っており、ネームサーバーをCloudflareに向けてあること Cloudflare Zero Trustの初期設定が済んでいること
ここではこれらの説明は割愛します。
Cloudflare Zero Trustの初期設定に関しては以下を参照してください。
Get started - Cloudflare Zero Trust docs
環境
Proxmox VE上のVM, Oracle Linux 8.6
Cloudflaredのインストール
自宅サーバーにCloudflaredをインストールします。
他のOSやCPUを使用している場合は適宜読み替えてください。
ここから先はsu -
やsudo su -
などでrootで作業することをお勧めします。(後でデーモン化するときに楽なので)
Downloads - Cloudflare Zero Trust docs
任意のフォルダーにwgetでダウンロードし、インストールします。
|
|
これでインストールは完了です。
Cloudflareにログイン
|
|
ログイン用のURLが表示されるので任意の端末のブラウザでアクセスし、認証を行います。
Cloudflare Edgeとトンネルを張る
トンネルを作成します
toyohashi-networkの部分は好きな名称で構いません。
|
|
最下段に表示されるUUIDをコピーします。後程使います。
自宅サーバーのネットワーク登録
IP/CIDRはご自身の環境に合わせて変更してください。
|
|
ルートが正常に登録されているか確認します。
|
|
トンネルの設定
任意のテキストエディタを使用して/root/.cloudflared/config.yml
を編集します。
|
|
新しくファイルが作成されます。次のように書き込みます。
|
|
i
で編集モードに移行し、Esc
で編集モードを終了します。
:wq
で保存して終了します。
実行
|
|
これでCloudflare Edgeとトンネルを張れるはずです。 Ctrl+Cで終了できます。
デーモン化
先ほどの方法ではSSH接続を終了してしまうと、Cloudflareとの接続が切断されてしまいます。 デーモン化をして再起動時に自動で実行したり、バックグラウンドで動作してもらうようにします。
|
|
自動起動の設定と起動
|
|
念のためちゃんと動作しているのか確認してみましょう。
|
|
これでサーバー側の設定は完了です。 次にクライアント側の設定を行います。
環境
Windows 11 その他のOSである場合は適宜読み替えてください。
Cloudflare WARPの導入
Cloudflare WARPを使って最寄りのCloudflare Edgeに接続し、Cloudflare経由で自宅サーバーのネットワークにアクセスできるようにします。 まずは以下からCloudflare WARPクライアントを導入します。 1.1.1.1 — The free app that makes your Internet faster.
Cloudflare Zero Trustの設定
ここ からCloudflare Zero Trustダッシュボードにアクセスします。
My Team > Devices
から諸々の設定を行います。
Settings > Network > Firewall
のProxyをEnableにします。
Cloudflare WARPの設定
証明書のインストールを行います。 以下から証明書をダウンロードしてインストールしてください。 Install the Cloudflare certificate - Cloudflare Zero Trust docs
タスクバーのWARPクライアントをクリックし、設定を開きます。
環境設定 > アカウント
からCloudflare Zero Trustの初期設定時に設定したチーム名を入力してCloudflare Zero Trustにログインします。
これでWARPクライアントの設定は完了です。
スプリットトンネルの設定
Cloudflare WARPでは初期設定で192.168.x.xなどのプライベートIPアドレスへの通信は除外されるようになっています。 今回はCloudflare経由で通信を行いたいのでこの除外の設定を削除する必要があります。
Cloudflare Zero Trustダッシュボード を開きます。
Settings > Network > Firewall > Split Tunnels > Manage
で(1)で設定したIP/CIDRを削除します。
これで設定は完了です。
動作確認
スマートフォンのテザリングなどで自宅のネットワークとは別の環境を作ってWARPクライアントのトグルをオンにします。 ルーターのIPアドレスなど適当なIPアドレスを叩いてみましょう。 表示されれば成功です。
↓ 外出先から自宅のルーターの設定画面を開けた
もちろん外出先でProxmoxの管理画面も表示できます。