コミュニティソリューション

FTP経由でZimaOSに監視カメラの映像を保存する

A new ZimaOS user wanted IP cameras to archive video by FTP; after experimenting with VSFTPD, the user confirmed the basic Docker approach worked.

監視カメラがFTPで録画データをアップロードできる場合、ZimaOSでシンプルに構成するなら、DockerでFTPサーバーを実行し、専用のカメラ録画フォルダーだけをそのコンテナにマッピングします。 カメラごとにアクセス制限付きのアカウントまたはサブフォルダーを用意し、パッシブモードを正しく設定したうえで、FTPサービスは信頼できるLAN内に限定してください。

元のユーザーは最終的にVSFTPDを動作させることに成功しましたが、スレッドは再利用可能な設定が記録される前に終わっています。現在のZimaOSドキュメントでは、ファイル共有の用途としてFTPが明示的に挙げられているため、役立つ記事にするには、ユーザーの試行錯誤を振り返るのではなく、カメラからNASまでの一連のワークフローを完全に説明するのが適切です。

まず録画フォルダーを決める

次のような専用の保存場所を作成します。

/DATA/Surveillance/Camera01

カメラ映像は容量の小さいシステムディスクから分離してください。RAIDを使用する場合は、必要な容量と冗長性を備えたストレージプールに録画データを保存します。

コンテナ化したFTPサーバーを使用する

ZimaOSホストを変更するのではなく、DockerでVSFTPDなどの保守が継続されているFTPサーバーを実行します。カメラフォルダーをコンテナにマッピングし、TCPポート21と、狭い範囲のパッシブポートを公開します。

現在のZimaOSインストールガイドでは、インストール後に利用できるファイル共有パターンの1つとしてFTPが挙げられています。

パッシブポートが重要な理由

FTPでは、制御接続と別のデータ接続を使用します。ポート21は動作していても、パッシブデータポートがブロックされていたり、Dockerから公開されていなかったりするため、多くのカメラアップロードが失敗します。

21000-21010のような狭い範囲を選び、その同じ範囲をコンテナから公開し、VSFTPDがZimaOSのLAN IPを通知するように設定します。

アクセス制限付きのカメラアカウントを作成する

IPカメラにNASの一般的な管理者アカウントでログインさせないでください。必要な録画フォルダーだけにアクセスできるアカウントを用意します。

複数のカメラを使用する場合は、認証情報またはフォルダーを分けると、保存期間の管理やトラブルシューティングが容易になります。

カメラより先に通常のFTPクライアントでテストする

LAN上の別のコンピューターから、同じサーバーIP、ユーザー名、パスワード、パッシブモード設定を使って接続します。小さなファイルをアップロードし、マッピングしたZimaOSフォルダーに表示されることを確認します。

デスクトップのFTPクライアントでは動作するのにカメラで失敗する場合、残る問題はDockerのストレージ権限ではなく、カメラ側のFTP動作にある可能性が高いです。

Dockerフォルダーの権限を確認する

コンテナには、マッピングされた録画フォルダー内にファイルを作成する権限が必要です。カメラの認証は成功するものの書き込みエラーが発生する場合は、ホスト側のパスの所有者と権限を確認します。

権限の問題を広範な777アクセスで解決するのは避けてください。FTPサービスには、必要な書き込み権限だけを付与します。

FTPをLAN内に限定する

従来のFTPでは、認証情報もファイル転送も暗号化されません。カメラのFTPサーバーをインターネットに直接ポートフォワーディングしないでください。

カメラがFTPSまたはSFTPに対応している場合は、そちらの方が安全です。FTPにしか対応していない場合は、LANまたはカメラVLAN内に分離し、サービスに接続できるクライアントを制限してください。

ディスクがいっぱいになる前に保存期間を計画する

カメラは継続的にデータを生成します。1日の録画容量を見積もり、利用できる場合はカメラ自体の保存期間または上書きポリシーを設定するか、指定した期間より古いファイルを削除する定期クリーンアップ処理を使用します。

ストレージとバックアップの概要は、どの録画データを2つ目のコピーとして保存する必要があるかを判断する際に役立ちます。

FTPよりNVRアプリが適している場合

FTPはシンプルなアーカイブ保存に適しています。タイムライン、モーションイベント、物体検出、ライブビュー、複数カメラの検索が必要な場合は、NVRアプリケーションを使用してください。現在のZimaOS App Storeのドキュメントでは、カメラおよびNVRのワークロードがメディアサーバーの主要な用途として扱われています。

よくある質問

FTPカメラにはどのポートが必要ですか?

通常はTCP 21と、FTPサーバーで設定したパッシブデータポートの範囲が必要です。Docker、ファイアウォール、サーバーの設定が一致していれば、範囲は任意に選択できます。

録画データをRAIDに直接保存できますか?

はい。RAIDベースのストレージ上にあるフォルダーをFTPコンテナにマッピングし、書き込み権限を確認してください。

FTPをインターネットに公開すべきですか?

いいえ。通常のFTPは、信頼できるLANまたは分離されたカメラネットワーク内に限定してください。

カメラファイルをアーカイブするだけなのにKerberos.ioは必要ですか?

いいえ。カメラがすでにFTPでクリップをアップロードできるなら、基本的なアーカイブ保存にはシンプルなFTPサーバーで十分です。