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経由でしか設定画面にはアクセスできないのだが、設定画面を開くと、以下の警告がでっぱなしになる。パスワード等を設定せずにこれを削除する方法は今のところ不明。