3
2
アクセシビリティの知見を発信しよう!

cloudflare TunnelsがRTX1200だと使えないときの対処法

Last updated at Posted at 2024-05-28

初投稿なので自己紹介

どうもこんにちは。私はuuといいます!
自宅でサーバー運営したりしてる学生です!
よろしくお願いいたします。

ことの経緯

あー業務用ルーターほしい....せや!RTX1200買お!
ってことで、ヤフオクで買いましたRTX1200
移行作業もできてcloudflare Tunnelsでサイト公開しようとしたら

systemctl [start cloudflared.service] returned with error code exit status 1 due to: Job for cloudflared.service failed because the control process exited with error code.
See "systemctl status cloudflared.service" and "journalctl -xeu cloudflared.service" for details.

ええ何このエラー...

環境

proxmox仮想環境
ubuntu22.04LTS

原因究明

まず、cloudflared.serviceのステータスを確認してエラーの概要を把握することにしました
下のコマンドでわかります

cloudflared.serviceのステータス確認コマンド
status cloudflared.service

そしたら

May 28 00:32:58 CT106 systemd[1]: cloudflared.service: Main process exited, code=exited, status=1/FAILURE
May 28 00:32:58 CT106 systemd[1]: cloudflared.service: Failed with result 'exit-code'.
May 28 00:32:58 CT106 systemd[1]: Failed to start cloudflared.

CloudflaredTunnels(cloudflared)サービスが起動に失敗し、code=exited, status=1/FAILURE というエラーが表示されているっぽい

もうすこしエラーメッセージの詳細を確認する

エラーメッセージの詳細確認コマンド.
journalctl -xeu cloudflared.service

そしたらこう出てきた

-- Subject: Unit process exited
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- An ExecStart= process belonging to unit cloudflared.service has exited.
-- 
-- The process' exit code is 'exited' and its exit status is 1.
May 28 00:33:50 CT106 systemd[1]: cloudflared.service: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- The unit cloudflared.service has entered the 'failed' state with result 'exit-code'.
May 28 00:33:50 CT106 systemd[1]: Failed to start cloudflared.
-- Subject: A start job for unit cloudflared.service has failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- A start job for unit cloudflared.service has finished with a failure.
-- 
-- The job identifier is 14578 and the job result is failed.

うーんわかんない....

すべてのログを見てみる

すべてのログコマンドを見る.
journalctl -u cloudflared.service -b

先ほどののコマンドはcloudflared.serviceに関連する最新のログエントリーを追加の説明と共に表示します。このコマンドはcloudflared.serviceが起動してからのすべてのログを見るコマンドです
by chatGPT
※自分がこう認識してるだけで、少し違うかもしれません。chatGPTのメッセージから理解したことを書いています。

コマンドを実行したらこう出てきた

May 28 00:10:47 CT106 systemd[1]: Starting cloudflared...
May 28 00:10:47 CT106 cloudflared[770]: 2024-05-28T00:10:47Z INF Starting tunnel tunnelID=c1b2c957-77c8-408c-83c3-7>
May 28 00:10:47 CT106 cloudflared[770]: 2024-05-28T00:10:47Z INF Version 2024.5.0
....(省略)
May 28 00:10:47 CT106 cloudflared[770]: 2024-05-28T00:10:47Z INF Tunnel server stopped
May 28 00:10:47 CT106 cloudflared[770]: 2024-05-28T00:10:47Z ERR Initiating shutdown error="Couldn't resolve SRV re>
May 28 00:10:47 CT106 cloudflared[770]: 2024-05-28T00:10:47Z INF Metrics server stopped
May 28 00:10:47 CT106 cloudflared[770]: Couldn't resolve SRV record &{region1.v2.argotunnel.com. 7844 1 1}: lookup >
May 28 00:10:47 CT106 systemd[1]: cloudflared.service: Main process exited, code=exited, status=1/FAILURE

ログメッセージによると、cloudflaredが起動に失敗する原因は Couldn't resolve SRV record というエラーっぽい。
cloudflaredが特定のDNSレコードを解決できなかったとのこと

RTX1200の設定からなんとかできないだろうか

ちゃんと設定してたのになぜだろうと思って調べてみた
image.png
そしたらこの記事が参考になった
ヤマハルータのDNSの設定見直しの勧め
この記事によると

ヤマハのルータは、DNS問い合わせを中継する、DNSリカーシブサーバという機能を持っていて、
普通に設定するとユーザーはDNSリカーシブサーバを利用することになる。
ほとんどのケースでは、それほど問題にはならないけど、
最近はこの機能では名前解決できないケースも増えてきている。
# なぜ最近問題になってきてるのか
ヤマハのDNSリカーシブサーバ機能は、TCPによる名前解決をサポートしていない。
通常はDNSによる名前解決はUDPを使うのでそんなに問題にはならないんだけど、最近ではTCPによる名前解決が増えている。
なのでうまく繋がらなかったり名前解決に時間がかかるケースが増えてきている。

とのこと。
じゃあどうすればいいのかというと、DHCPのDNSをクラウドフレアのDNSなどだけに固定すればよい

dhcp scope option 1 dns=1.1.1.1,1.0.0.1

これをここで入力すればok
image.png

DNS設定して固定してる人は?

192.168.100(RTX1200のIP)をDNSサーバーとして設定してる人が多いと思うが
DHCPと同じく1.1.1.1と1.0.0.1にすればok
ubuntuでのやり方は

sudo vim /etc/resolv.conf
/etc/resolv.conf
# --- BEGIN PVE ---
search local
# --- END PVE ---
nameserver 1.1.1.1
nameserver 1.0.0.1

これでcloudflare起動してみたら無事起動した!

RTX1200に対しておもったこと

ホームゲートウェイよりネット速度も速くなっており、まあまあ優秀だと思いました。
具体的には200mbpsぐらいから500mbpsになりました。
(ファームウェアアップデートしないと遅いのでそこは注意)
※私の回線は1Gbpsです

最後に

皆さんもRTX1200などを取り入れてDNSには気を付けながら逸般の御家庭になりましょう!
(私はまだ一般だと思いますが..())

追記

RTX1200も事情でDNSサーバー設定にしたい!という場合は

RTX1200のipは192.168.100.1とします。

DHCP

dhcp scope option 1 dns=1.1.1.1,1.0.0.1,192.168.100.1
/etc/resolv.conf
# --- BEGIN PVE ---
search local
# --- END PVE ---
nameserver 1.1.1.1
nameserver 1.0.0.1
nameserver 192.168.100.1

こうすればよい

3
2
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
3
2