ブラウザでVNCクライアントをレンダリングする
Cloudflareは、クライアントソフトウェアや設定なしで、ブラウザ内に仮想ネットワークコンピュータ(VNC)ターミナルをレンダリングできます。
管理者はCloudflare Tunnelを使用して、VNCホストをCloudflareのネットワークに接続できます。Cloudflare Accessを使用すると、誰がVNCサーバーにアクセスできるかを決定するためのゼロトラストポリシーを適用できます。Cloudflareのネットワークはその後、ゼロトラストポリシーを強制し、ユーザーが許可されると、ブラウザ内にクライアントをレンダリングします。
この手順では、以下の内容をカバーします:
- Linux仮想マシン上にCloudflare Tunnelをインストールして実行する
- Linux仮想マシン上にVNCをインストールして設定する
- ホストに到達できるユーザーを決定するためのゼロトラストポリシーを構築する
- ブラウザでVNCサーバーをレンダリングする
完了までの時間:
10分
- Cloudflareにウェブサイトを追加します。
- アカウントでCloudflare Zero Trustを有効にします。
- アイデンティティプロバイダーをCloudflare Zero Trustに接続します。
このセクションでは、TightVNCとGNOMEデスクトップ環境を使用してVNCサーバーをインストールする方法を説明します。すでにVNCサーバーがインストールされている場合は、このステップをスキップできます。
-
VMのターミナルウィンドウを開きます。
-
VNCソフトウェアをインストールするには、次のコマンドを実行します:
Terminal window sudo apt-get updatesudo apt-get install gnome-core gnome-panel ubuntu-gnome-desktop tightvncserver -
インストールが完了したら、次のコマンドでVNCサーバーインスタンスを作成できます:
Terminal window sudo tightvncserver -
VNCサーバーのパスワードを選択します。このパスワードは、ブラウザのVNCサーバーにログインする際に使用されます。
-
次のコマンドを実行して、VNCサーバーの設定ディレクトリに移動します。
Terminal window cd .vnc -
xstartupファイルを開きます。Terminal window vim xstartup -
ファイルを次の設定に更新します(これはデモ用です — ブラウザベースのVNCはほとんどの設定で動作します):
xsetroot -solid greyx-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &#x-window-manager &# GNOMEが動作するように修正export XKL_XMODMAP_DISABLE=1/etc/X11/Xsession#gnome-session &gnome-panel &nautilus & -
VNCサーバーを作成するには、次のコマンドを実行します:
Terminal window vncserver
この時点で、ブラウザベースのVNCでテストする準備が整ったVNCサーバーがあります。既存のVNCブラウザで簡単なテストを行い、続行する前に必要なパッケージや設定変更がないか確認することをお勧めします。VNCサーバーが望ましい状態で表示されたら、設定を続行してください。
-
これらの手順に従って
cloudflaredをインストールします。 -
次のコマンドで
cloudflaredを認証します:Terminal window cloudflared tunnel login -
次のコマンドでトンネルを作成します:
Terminal window cloudflared tunnel create <NAME> -
次のコマンドでトンネル設定ファイルを作成します:
Terminal window vim config.yml -
設定ファイルに次の設定を追加します。
tunnel: <NAME>ingress:- hostname: vnc.kennyatx.comservice: tcp://localhost:5901- service: http_status:404その際、
<HOSTNAME>をブラウザでVNCサーバーを公開するために使用したいドメインに置き換えます。また、5901をVNCサーバーが実行されているポートに置き換えます。ポートのリストを取得するには、sudo ss -lnptを実行し、VNCを探して設定ファイルに指定すべき値を確認します。 -
トンネルをルーティングしますして、ウェブサイトに接続します。
-
トンネルを実行します:
Terminal window cloudflared tunnel --config path/config.yaml run <NAME> -
ファイアウォールが有効になっている場合は、このガイドに従ってCloudflare Tunnelのためにアウトバウンド接続を開きます。
この時点で、実行中のVNCサーバーと、受信VNCリクエストを受け入れる準備が整ったCloudflare Tunnelがあります。
最後のステップは、ブラウザでVNCサーバーを実行するためのゼロトラストアプリケーションを作成することです。
-
ゼロトラスト ↗に移動し、アクセス > アプリケーションを選択します。
-
アプリケーションを追加を選択し、セルフホスト型を選択します。
-
アプリケーションに名前を付け、VNCサーバーを公開したいドメインを設定します。

-
アローまたはブロックポリシーを追加します。この例では、
@example.comで終わるメールアドレスを持つユーザーのみを許可しています。
- 追加設定で、ブラウザレンダリングを_VNC_に設定します。
ユーザーは、設定したアイデンティティプロバイダーを使用したログイン画面を見ることになります。認証が成功すると、VNCサーバーのパスワードを入力するように求められる場合があります。
各VNCインスタンスに対して詳細なアクセス制御を定義できます。