0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Cloudflare(Named) Tunnelsで外部からUbuntu(Jetson Nano)のOllamaにアクセス

0
Posted at

Cloudflare Quick Tunnelsの続きです。

前回のままだと毎回URLが変わるので、URLの固定化をしたいですね。

今回はNamed Tunnelsと公式ブログに書いている手順です。名前を付けたトンネルの利用をします。

無名トンネル or 名前ありトンネルですね。

準備

利用にあたり以下2点が必要です。

  • Cloudflareのアカウントを作る
  • ドメインを管理しておく(例: hogehoge.com)
  • cloudflaredコマンドが使える状態(前回記事)

cloudflaredコマンドの認証

前回は特にログインおよびアカウント登録もせずにいけてましたが、今回はここが必須で自身のアカウント及び管理ドメインと連動させます。

Jetson NanoにSSHで入っています。

$ cloudflared tunnel login

A browser window should have opened at the following URL:

https://dash.cloudflare.com/argotunnel?aud=&callback=https%3A%2F%2Flogin.cloudflareaccess.org%~~~

If the browser failed to open, please visit the URL above directly in your browser.

といった感じでURLが出力されるのでブラウザに貼り付けてCloudflareでログインします。

管理しているドメインが表示されます。hogehoge.comなど管理しているを選択します。

CleanShot 2025-09-17 at 17.32.27.png

hogehoge.comのTunnelを許可します。などと表示されます。

CleanShot 2025-09-17 at 17.32.37.png

CleanShot 2025-09-17 at 17.32.44.png

これで接続できました。

Jetson Nano側のターミナルでも表示がでます。

...
2025-09-17T08:32:37Z INF Waiting for login...
2025-09-17T08:32:43Z INF You have successfully logged in.
If you wish to copy your credentials to a server, they have been saved to:
/home/n0bisuke/.cloudflared/cert.pem

名前を付けてトンネル作成 - Named Tunnels

前回のQuick Tunnelsは名前つけずに一時的な無名トンネルでした。ここではトンネルに名前をつけて保存。

cloudflared tunnel create トンネル名で名前を付けてトンネリングできます。

ollamaのサーバーにしたいのでn0bisuke-ollamaという名前を付けてみます。

$ sudo cloudflared tunnel create n0bisuke-ollama

[sudo] n0bisuke のパスワード:
Tunnel credentials written to /home/n0bisuke/.cloudflared/xxxxxxxx-xxxxxx-xxxx-xxxx-xxxxxxx.json. cloudflared chose this file based on where your origin certificate was found. Keep this file secret. To revoke these credentials, delete the tunnel.

Created tunnel n0bisuke-ollama with id xxxxxxxx-xxxxxx-xxxx-xxxx-xxxxxxx

DNSと紐付け

hogehoge.comを管理しているとしてollama.hogehoge.comなどでアクセスできるようにしたいです。

以下のようなサブドメインに連携します。

cloudflared tunnel route dns トンネル名 サブドメイン名

$ cloudflared tunnel route dns n0bisuke-ollama ollama

2025-09-17T08:45:44Z INF
Added CNAME ollama.hogehoge.com which will route to this tunnel tunnelID=xxxxxxxx-xxxxxx-xxxx-xxxx-xxxxxxx

cloudflareの管理画面でDNSのレコードをみるとCANMEで追加されてますね。

CleanShot 2025-09-17 at 17.49.58.png

設定ファイルにポートなどを記載して起動

ollama.hogehoge.comへアクセスした時に、ollamaの11434ポートへ転送されるようにconfig.yamlを作成します。

$ vim ~/.cloudflared/config.yml

以下のように記載します。

  • xxxxxxxx-xxxxxx-xxxx-xxxx-xxxxxxxが作成したトンネルのID
  • ollama.hogehoge.comがCNAMEにも記載されてるサブドメイン
config.yml
tunnel: xxxxxxxx-xxxxxx-xxxx-xxxx-xxxxxxx
credentials-file: /home/n0bisuke/.cloudflared/xxxxxxxx-xxxxxx-xxxx-xxxx-xxxxxxx.json

ingress:
  - hostname: ollama.hogehoge.com
    service: http://127.0.0.1:11434
  - service: http_status:404

起動してみる

$ sudo cloudflared tunnel run

2025-09-17T09:00:44Z INF Starting tunnel tunnelID=xxxxxxxx-xxxxxx-xxxx-xxxx-xxxxxxx
2025-09-17T09:00:44Z INF Version 2025.8.1 (Checksum )
2025-09-17T09:00:44Z INF GOOS: linux, GOVersion: go1.24.4, GoArch: arm64
2025-09-17T09:00:44Z INF Settings: map[cred-file:/home/n0bisuke/.cloudflared/xxxxxxxx-xxxxxx-xxxx-xxxx-xxxxxxx.json credentials-file:/home/n0bisuke/.cloudflared/xxxxxxxx-xxxxxx-xxxx-xxxx-xxxxxxx.json]
2025-09-17T09:00:44Z INF cloudflared will not automatically update if installed by a package manager.
2025-09-17T09:00:44Z INF Generated Connector ID: xxxx
2025-09-17T09:00:44Z INF Initial protocol quic
2025-09-17T09:00:44Z INF ICMP proxy will use 192.168.1.22 as source for IPv4
2025-09-17T09:00:44Z INF ICMP proxy will use xxxxxxx in zone eth0 as source for IPv6
2025-09-17T09:00:44Z WRN The user running cloudflared process has a GID (group ID) that is not within ping_group_range. You might need to add that user to a group within that range, or instead update the range to encompass a group the user is already in by modifying /proc/sys/net/ipv4/ping_group_range. Otherwise cloudflared will not be able to ping this network error="Group ID 0 is not between ping group 1 to 0"
...

こんな感じでログが出力されつつ、ブラウザでollama.hogehoge.com/api/tagsにアクセスするとAPIが表示されました。

CleanShot 2025-09-17 at 18.07.20.png

サービス化

このままだとSSHが切れるとダメで再起動が必要なるので裏側で動いてくれるようにします。

公式ドキュメントにシンプルな手順がありました。

  • サービスのインストール
$ sudo cloudflared service install

これでOKです。シンプル。

  • 起動
$ sudo systemctl start cloudflared

これで起動します。

  • 確認
$ sudo systemctl status cloudflared

cloudflared.service - cloudflared
   Loaded: loaded (/etc/systemd/system/cloudflared.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2025-09-17 18:11:53 JST; 19s ago
 Main PID: 18592 (cloudflared)
    Tasks: 9 (limit: 4183)
   CGroup: /system.slice/cloudflared.service
           └─18592 /usr/bin/cloudflared --no-autoupdate --config /etc/cloudflared/config.yml tunnel run

これで問題なく起動してくれました。

SSHの接続を切っても動いてくれてます。

まとめ

cloudflare TunnelsはQuick Tunnelでの無名トンネルと名前を付けたトンネルで手順が異なる感じですね。

ライトなら前回記事のQuick Tunnel。ちゃんとやるならNamed Tunnel。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?