hans

hans

Cloudflareが提供するゼロトラストを利用した内部ネットワークの透過性の実現

以下是文本的日语翻译:

ここでは、2 つの機能をまとめます。1 つは SSH 接続の実現、もう 1 つは外部ネットワークからの Web サービスへのアクセスです。

  1. 前提条件
    ここでは詳細には触れませんが、独自のドメインを持っており、それが Cloudflare でホストされている必要があります。Cloudflare にログインし、左側のメニューから「Zero Trust」を選択し、グループ名を定義し、無料プランを選択してください。

  2. SSH
    Zero Trust の画面で、「Access」→「Tunnels」→「Create a tunnel」をクリックします。

名前は任意です。

Docker を使用することをお勧めします。便利で管理しやすいです。

ただし、Docker のコマンドを少し変更する必要があります。

docker run -d cloudflare/cloudflared:latest tunnel --protocol auto --no-autoupdate run --token xxxxxxxxx

「docker run」の後に「-d」を追加してバックグラウンドで実行し、ターミナルサービスが停止しないようにします。「tunnel」の後に「--protocol auto」を追加します。内部ネットワークサーバーで実行した後、「docker ps」で確認できます。「--token」の後には、現在のトンネルの専用トークンが入ります。

その後、Zero Trust ページに戻り、次へをクリックするか、作成したトンネルをクリックし、パブリックホスト名→パブリックホスト名の追加をクリックします。サブドメインにはサブドメインを入力し、ドメインにはトップレベルドメインを選択し、パスは空白のままにします。タイプは SSH を選択し、URL には内部ネットワークサーバーのローカル IP アドレスと SSH ポートを入力します。最後に、「Save hostname」をクリックします。

これで、内部ネットワークサーバーとウェブクライアントの設定が完了しましたが、クライアント側でも SSH を設定する必要があります。

vim ~/.ssh/config
# 追加
Host *.xxx.xxx
ProxyCommand /opt/homebrew/bin/cloudflared access ssh --hostname %h

上記の「xxx.xxx」はトップレベルドメインを指します。「*.」は、複数のサーバーが内部ネットワークトンネルを必要とする場合に便利です。

ここまで来たら、クライアントは定義したサブドメインを使用して内部ネットワークサーバーに SSH 接続できるはずです。

  1. Web サービス
    前の手順と同じですが、タイプ、URL、およびポートは必要に応じて選択します。最後に SSH の設定を変更する必要はありません。
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。