OpenWrtにTailscaleとSyncthing
OpenWrtルータにTailscleをインストールすることにより、どこからでも自宅に置いたルータを操作できるようになる。さらに、Syncthingを入れることによって、(ルータがUSB対応の場合には)USBメモリやディスクに対して常にノートパソコンのバックアップを、どこにいても行うことができる。もちろん、SyncthingはTailscaleとは無関係に同期を行うことができるのだが、Syncthingの設定画面にアクセスするには、TailscaleのようなVPNの利用が簡単だ。これを行ってみる。
Tailscaleのインストール
これは既に書いている人がいた。【OpenWRT】tailscale VPNを使って自宅ネットワークへVPN接続するを参照のこと。
ただし、私の場合はHeadscaleを使っているので、Tailscaleの起動時に「tailscale up –login-server https://hs.example.com」などとしている。ここで得られたTailnet上のIPアドレスを100.64.0.7とする。
重要な点としては、ファイアウォールゾーンの設定を行い(先の記事にある)、Tailscaleの仮想NICがLAN内であることを示してやり、さらにルータを一度再起動すること。
Syncthingのインストールと設定
これについても書いている人がいる。Syncthing on OpenWRT
少々わかりづらいが、以下を行う必要がある。
- syncthingをインストールする。Luciの画面でも、opkgコマンドでも。
- /etc/config/synchingというコンフィグファイルを編集する。
この冒頭は以下のようにした。
config syncthing 'syncthing'
option enabled '1' <-- 0のままだと起動しない。
option gui_address 'http://100.64.0.7:8384' <-- Tailscale経由でしかアクセスできないようにする
# Use internal flash for evaluation purpouses. Use external storage
# for production.
# This filesystem must either support ownership/attributes or
# be readable/writable by the user specified in
# 'option user'.
# Consult syslog if things go wrong.
option home '/home/syncthing' <-- これは共有フォルダではなく、Syncthing自体の設定ファイル等が置かれるフォルダ
# Changes to "niceness"/macprocs are not picked up by "reload_config"
# nor by "restart": the service has to be stopped/started
# for those to take effect
option nice '19'
# 0 to match the number of CPUs (default)
# >0 to explicitly specify concurrency
option macprocs '0'
# Running as 'root' is possible, but not recommended
option user 'syncthing'
option logfile '/etc/syncthing/syncthing.log'
特に冒頭のenabledを1にしないと、何をしても起動しないので注意が必要。また、デフォルトの/home/syncthingは設定ファイルフォルダなので、ここを共有フォルダに指定してはいけない。
あとは、LuCiの画面から、System>StartupでSyncthingを起動させることができる。他のSyncthingとは異なり、デフォルトのフォルダというのは無いようなので、適当に作成してやる。くれぐれも、先の/home/syncthingとは別の場所にしないといけない。
さて、上のようにTailscale経由でしか設定画面にはアクセスできないのだが、設定画面を開くと、以下の警告がでっぱなしになる。パスワード等を設定せずにこれを削除する方法は今のところ不明。