Cloudflare Zero Trust で外から家のサーバにアクセスする

Nebula をみっけたCloudflare の Zero Trust の機運を感じたので試してみた

https://www.notr.app/posts/2023/01/28/

が参考になった

今回は宅のルータcloudflared をいれて、tunnel を create した

GitHub からバイナリをダウンロードした

arm コアなのはわかってたんだけど、32bit なのか 64bit なのかわからんかったが uname -m で64っぽかったので64bitにした

tunnel を create して yaml の config を用意して立ち上げる

Private network に宅の CIDR を設定

画面の設定が結構散らばってて(高機能だから仕方ないのかもしれんが)わかりにくい

Settings => WARP client から Device の enrollment permission を設定しないとアプリの WARP から Zero Trust に入れないので設定しておく

とりあえずメアド認証で

Access => Applications から Application を作って Destination IP を指定しておく

Settings => WARP client => Device settings => Profile settings => Split tunnels でローカルっぽい IP が Exclude されてしまっているので Include に変更して宅の CIDR を設定しておく

...というような流れで、外から WARP で VPN 接続している状態で家サーバにアクセスできた

いちいち IP でアクセスするのは面倒なので、なんらか DNS をカマしたい

https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/private-net/private-hostnames-ips/

によると Local domain fallback でいけそう

これも画面が深くて↑の Profile settings => Local domain fallback から設定する

家に Pi-hole が建ってるので、自前ドメインは Pi-hole の IP で解決するってしたら無事にドメインからアクセスできるようになった

一応まあここら辺までは Tailscale でもできてたことなので特にまあって感じではあるが、特定のなんかを一時的にインターネットで受けたい時に tunnel で public にすればいいだけのはずなので、こっちに寄せるでよいかもしれない

似てるかもしれんページ