Synology Hyper Backup の Ubuntu rsync へのバックアップ: モジュール構成、テスト、トラブルシューティング

この記事では、Synology Hyper Backup を Ubuntu rsync デーモンにバックアップするための完全な構成 (モジュール、認証アカウント、ファイアウォール、接続テストの作成、および Hyper Backup ページの各フィールドに入力する方法) を紹介します。

もう一方のデバイスは単なる Ubuntu サーバーであり、rsync がインストールされています。これは、Hyper Backup のターゲットとして直接使用できることを意味するものではありません。 Hyper Backup が通常の rsync プロトコルを使用する場合、Ubuntu 上で実行されている rsync デーモン に接続する必要があります。デーモンは書き込み可能なモジュールも定義する必要があります。

間違って入力する最も一般的な項目は「共有フォルダー」です。これは Ubuntu の絶対パスではなく、/etc/rsyncd.conf の角括弧で定義されたモジュール名です。この記事では、Ubuntu の /srv/hyperbackup へのバックアップの書き込みを例として、サーバー構成から Synology 検証までの完全なプロセスを説明します。

まず、Hyper Backup のターゲット タイプを明確にしてください

Hyper Backup で新しいデータ バックアップ タスクを作成するとき、ターゲットが Synology でない場合は、「Synology rsync サーバー」を選択しないでください。代わりに、次を選択します。

1
rsync 兼容服务器

この記事では rsync デーモン モードを使用し、デフォルトの TCP ポートは 873 です。信頼できる LAN に適しています。パブリック ネットワーク経由で送信する場合は、VPN、Tailscale、または SSH 暗号化ソリューションの使用を優先し、873 をインターネットに直接公開しないでください。

Ubuntu 側でディレクトリと実行アカウントを準備します

Ubuntu にログインした後、rsync をインストールし、ログインを許可せず、バックアップ ディレクトリへの書き込みにのみ使用されるシステム アカウントを作成します:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
sudo apt update
sudo apt install -y rsync

sudo useradd --system \
  --home /nonexistent \
  --shell /usr/sbin/nologin \
  rsyncbackup

sudo mkdir -p /srv/hyperbackup
sudo chown -R rsyncbackup:rsyncbackup /srv/hyperbackup
sudo chmod 750 /srv/hyperbackup

ここで、rsyncbackup は、サーバー上でローカルにファイルを書き込むときに rsync デーモンによって使用されるアカウントです。対話型シェルを与えたり、バックアップ ディレクトリを誰でも書き込みできるようにしたりしないでください。

rsync デーモン モジュールを作成します

設定ファイルを編集します:

1
sudo nano /etc/rsyncd.conf

次のように記述します。ネットワーク セグメント、ユーザー名、パスは環境に応じて置き換える必要があります。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
uid = rsyncbackup
gid = rsyncbackup
use chroot = no
max connections = 4
timeout = 600
log file = /var/log/rsyncd.log
pid file = /run/rsyncd.pid

[hyperbackup]
    path = /srv/hyperbackup
    comment = Synology Hyper Backup
    read only = no
    list = yes
    auth users = knightli
    secrets file = /etc/rsyncd.secrets
    hosts allow = 192.168.8.0/24
    hosts deny = *

[hyperbackup] は rsync モジュールです。これは、クライアントから見える hyperbackup をサーバー上の実際のディレクトリ /srv/hyperbackup にマップします。

設定項目 役割
[hyperbackup] Hyper Backup で選択する「共有フォルダー」の名前
path Ubuntu 上でバックアップ データを実際に保存する場所
read only = no Hyper Backup による書き込みを許可する
auth users Ubuntu のログインユーザーではない、rsync プロトコル認証用のユーザー名
hosts allow サービスへのアクセスを許可するネットワーク。Synology の単一 IP にさらに絞り込める

Synology が 192.168.8.100 に固定されている場合、hosts allow このアドレスを変更して、LAN 上の他のデバイスがサービスを検出する可能性を減らすことができます。

rsync プロトコルのパスワードを設定します

rsync デーモンの認証アカウントと Linux ログイン アカウントは完全に無関係である場合があります。パスワード ファイルを作成します:

1
sudo nano /etc/rsyncd.secrets

用户名:密码 を押して、1 行に 1 つのアカウントを書き込みます。例:

1
knightli:Abcd123456789

保存後に読み取り権限を制限します:

1
2
sudo chmod 600 /etc/rsyncd.secrets
sudo chown root:root /etc/rsyncd.secrets

このファイルを Git に送信しないでください。また、Ubuntu ログイン パスワードを再利用しないでください。 Hyper Backup ページの「ユーザー アカウント」と「パスワード」には、ここで定義した値を入力する必要があります。

rsync デーモンを起動して確認します

Ubuntu のバージョンやインストール方法が異なると、提供される systemd ユニットが若干異なる場合があります。まず、ソフトウェア パッケージによって提供されるサービスを開始してみます:

1
2
3
sudo systemctl enable --now rsync
sudo systemctl restart rsync
sudo systemctl status rsync

ポート監視を確認します:

1
sudo ss -lntp | grep ':873'

通常、同様の結果が表示されます:

1
LISTEN 0 5 0.0.0.0:873

rsync.service not found のプロンプトが表示された場合は、まずシステムで実際に使用可能なユニットを確認します:

1
systemctl list-unit-files | grep -i rsync

次のコマンドを使用して、構成を開始できるかどうかを一時的に確認することもできます。

1
sudo rsync --daemon --config=/etc/rsyncd.conf

一時的な起動は、再起動後に自動的に再開されません。手動による方法が利用可能であることを確認した後、長時間手動の実行に依存するのではなく、list-unit-files の結果に基づいて、対応するサービスまたはソケットの起動構成を完了する必要があります。

ファイアウォールは Synology のみを許可します

Ubuntu で UFW が有効になっている場合、Synology IP が 192.168.8.100 であると仮定して、TCP 873 へのアクセスのみを許可します:

1
2
sudo ufw allow from 192.168.8.100 to any port 873 proto tcp
sudo ufw status numbered

また、クラウド サーバー セキュリティ グループ、上流ルーター、または VLAN ACL も確認してください。 ss がリッスン中であることを示していても Synology が接続できない場合、通常はこれらのネットワーク ポリシーのいずれかに問題があります。

まずモジュールを確認し、コマンド ラインに

を書き込みます。最初に Hyper Backup で試行錯誤を繰り返さないでください。まず、別の Linux コンピューターまたは Synology SSH ターミナルのモジュールをリストします:

1
rsync rsync://[email protected]/

/etc/rsyncd.secrets に設定したパスワードを入力すると、次が表示されます:

1
hyperbackup    Synology Hyper Backup

小さいファイルの書き込みを再試行します:

1
2
3
4
echo test > /tmp/rsync-test.txt

rsync -av /tmp/rsync-test.txt \
  rsync://[email protected]/hyperbackup/

Ubuntu で確認します:

1
ls -l /srv/hyperbackup/

rsync-test.txt が表示される場合は、アカウント番号、パスワード、モジュール、ディレクトリのアクセス許可、およびネットワーク パスが開かれていることを意味します。このファイルはテストの完了後に削除できます。

Hyper Backup ページに入力する方法

Synology Hyper Backup の rsync ターゲット ページに戻り、以下を入力します。

画面の項目 設定例 説明
サーバーの種類 rsync compatible server 接続先は通常の Ubuntu であり、別の Synology ではない
サーバー IP 192.168.8.205 Ubuntu の LAN アドレス
転送暗号化 LAN 内ではまずオフでもよい オフでは通常の rsync/TCP 873 を使用する。公衆回線では使わない
ポート 873 rsync daemon の既定ポート
ユーザーアカウント knightli auth users に対応
パスワード rsync パスワードファイルのパスワード Ubuntu のログインパスワードではない
共有フォルダー hyperbackup 絶対パスではなく、[hyperbackup] に対応
ディレクトリ synology-nas モジュール配下に作成するサブディレクトリ

ディレクトリが synology-nas で埋められている場合、最終的なデータが書き込まれます:

1
/srv/hyperbackup/synology-nas/

「共有フォルダー」には /srv/hyperbackup を入力しないでください。クライアントは rsync プロトコルを通じてのみモジュール名を確認でき、実際のパスはサーバー側の構成によって決まります。

よくある質問 トラブルシューティング

Hyper Backup が共有フォルダーを認識できません

最初にモジュール列挙コマンドを実行します。 hyperbackup がない場合:

  1. /etc/rsyncd.conf に本当に [hyperbackup] があるかどうかを確認します。
  2. サービスが再起動されたかどうかを確認します。
  3. list = yeshosts allow を確認します。Synology をブロックするかどうかを示します。
  4. /var/log/rsyncd.log で証明書またはパスのエラーを確認します。

接続はできますが、認証エラーが表示されます

auth users の左側のユーザー名が /etc/rsyncd.secrets とまったく同じであることを確認します。パスワード ファイルは 用户名:密码、権限は 600 である必要があります。 SSH や Ubuntu のログイン パスワードではなく、Hyper Backup に必要な rsync パスワードに特に注意してください。

認証は成功しましたが、

モジュールで read only = no を確認し、ローカル ディレクトリのアクセス許可を確認してください:

1
2
sudo namei -l /srv/hyperbackup
sudo ls -ld /srv/hyperbackup

rsyncbackup パスに対する走査権限と書き込み権限が必要です。ディスクがいっぱいである、読み取り専用マウント、またはファイル システム エラーが発生したことがログに示されている場合は、バックアップ タスクが繰り返し失敗するのを避けるために、最初にストレージの問題に対処する必要があります。

トランスポート暗号化をオンにするかどうか

通常の rsync デーモンによる認証は、完全なトランスポート暗号化と同等ではありません。信頼できる LAN は、リスク評価に基づいて一時的に閉じることができます。インターネット、公衆 Wi-Fi、または信頼できないネットワーク セグメントを通過する場合は、VPN、Tailscale を使用するか、Hyper Backup でサポートされている SSH 暗号化通信に切り替えてください。使用する転送方法に関係なく、バックアップ ジョブ自体でバージョンの保持と定期的な回復訓練を有効にする必要があります。

概要

Synology Hyper Backup を Ubuntu にバックアップする鍵は、rsync をインストールすることではなく、認証可能、書き込み可能、​​ネットワーク制限付きの rsync モジュールを Ubuntu に提供させることです。このマッピングを覚えておいてください。[hyperbackup] は Hyper Backup の共有フォルダーであり、path = /srv/hyperbackup は Ubuntu 上の実際のディレクトリです。まずコマンド ライン モジュールを使用してテスト ファイルを作成し、次に Hyper Backup を構成します。問題を特定するのがはるかに速くなります。

记录并分享
Hugo で構築されています。
テーマ StackJimmy によって設計されています。