Synology DSM 7 へデプロイ(x86_64 / ARM)
fn-knock は Synology DSM 7 向けに、x86_64、armv8、armv7 の 3 つのパッケージアーキテクチャに対応するネイティブ SPK を提供しています。各 SPK に含まれるネイティブバイナリは 1 アーキテクチャ分だけなので、NAS に合うファイルを選んでください。fnOS 向けの FPK を DSM のインストールパッケージとして使うこともできません。
パッケージは DSM が作成する専用アカウント fn-knock-synology で動作し、root として常駐する必要はありません。DSM のパッケージ権限境界を維持できる一方、ホストを直接管理する一部の機能は利用できません。
インストール前の確認
- DSM が
7.0-40000以降で、パッケージアーキテクチャがx86_64、armv8、armv7のいずれかであること。 - 現在の DSM アカウントが
administratorsグループに所属していること。fn-knock の管理画面を開けるのは DSM 管理者だけです。 - ゲートウェイはデフォルトで
7999/tcpを使用します。既存のリバースプロキシ、コンテナ、別の fn-knock インスタンスと競合しないこと。 - 外部からアクセスする場合は、ドメイン、ルーター / NAT、DSM ファイアウォール、IPv6、ISP のポリシーを事前に確認すること。インストールに成功しても、インターネット側の入口が使えるとは限りません。
正しい SPK を選ぶ
| Synology パッケージアーキテクチャ | 一般的なプロセッサー | ファイル名 | ダウンロード |
|---|---|---|---|
x86_64 | 64 ビット Intel / AMD | fn-knock-synology-x86_64-<バージョン>-<ビルド番号>.spk | x86_64 SPK をダウンロード |
armv8 | 64 ビット ARM | fn-knock-synology-armv8-<バージョン>-<ビルド番号>.spk | ARMv8 SPK をダウンロード |
armv7 | 32 ビット ARM | fn-knock-synology-armv7-<バージョン>-<ビルド番号>.spk | ARMv7 SPK をダウンロード |
製品名や CPU ブランドだけで判断せず、Synology モデルに対応する Package Arch(パッケージアーキテクチャ) を確認してください。別アーキテクチャの SPK は DSM に拒否されます。ファイル名を書き換えたりバイナリを混在させたりせず、正しい SPK をダウンロードし直してください。
SPK をインストールする
- 上の表または Synology 向けダウンロードページから、NAS のパッケージアーキテクチャに合う SPK をダウンロードします。
- DSM で「パッケージセンター」を開き、「手動インストール」を選んで SPK をアップロードし、インストールを完了します。
- パッケージが起動したことを確認し、DSM のメインメニューから fn-knock を開きます。
- 管理画面で認証、ゲートウェイマッピング、証明書を設定します。
管理画面へは、ログイン済みの DSM デスクトップセッションを使って入ります。DSM のメインメニューから、まず次のセッション起動ページが開きます。
/webman/3rdparty/fn-knock-synology/launch.html起動ページが DSM デスクトップウィンドウから現在のセッションを読み取って検証し、その後 CGI プロキシへ進みます。
/webman/3rdparty/fn-knock-synology/index.cgi/この 2 つの内部 URL をブックマークしたり、直接開いたりしないでください。DSM デスクトップのコンテキスト外では、起動ページからセッションを読み取れません。7998 をブラウザー用の管理ポートとして扱うことも、上記パスの代わりに DSM ルート直下の /3rdparty/... を使うこともできません。
管理入口とポート
| 入口またはポート | 待ち受け範囲 | 用途 |
|---|---|---|
| DSM メインメニューの fn-knock | 起動ページで DSM のログイン済みセッションを検証してから CGI プロキシへ進む | 唯一サポートされる管理入口。DSM 管理者のみアクセス可能 |
7998 | 127.0.0.1 | 管理バックエンド。DSM CGI からローカルへプロキシ |
7997 | ローカル内部 | 認証サービス |
7996 | ローカル内部 | ゲートウェイの内部通信 |
7999 | ゲートウェイの公開待ち受け | サービス用ドメインとゲートウェイトラフィックを受ける |
7991 | 非公開 | DSM ネイティブパッケージでは、この管理ポートを使用しません |
インターネット側や LAN 側から 7998、7997、7996 へポートフォワーディングせず、DSM ファイアウォールにも許可ルールを追加しないでください。サービストラフィックは、ゲートウェイポート 7999 だけから入るようにします。
ゲートウェイを安全に外部公開する
SPK は 7999/tcp をパッケージの公開ゲートウェイポートとして宣言するため、DSM のファイアウォール画面でもポートリソースとして認識されます。一方、パッケージ自体が root 権限で DSM ホストのファイアウォールポリシーを書き換えることはありません。外部から接続できるかどうかは、次の各レイヤーの設定で決まります。
- DSM ファイアウォールで、必要な送信元、インターフェース、ポートにだけ
7999を許可しているか。 - ルーターから外部ポートを NAS へ正しく転送しているか、または FRP / Cloudflared などのトンネルからオリジン接続できるか。
- IPv6 ファイアウォール、上流 ISP、DNS の設定が、選択したアクセス構成と一致しているか。
- ゲートウェイの Host マッピングに、証明書、認証、転送先サービスのアドレスが設定されているか。
管理入口は DSM デスクトップ内に留め、管理を楽にする目的で 7998 を公開しないでください。設定後は、モバイル回線など実際の外部ネットワークからサービス用ドメインへアクセスし、リクエストがゲートウェイを通って想定どおりのログインポリシーが適用されることを確認します。
DSM 版の機能範囲
| 機能 | DSM ネイティブ SPK での対応状況 |
|---|---|
| Host / パスマッピング、認証、証明書、ACME | 対応 |
| 内蔵 FRP、Cloudflared | 対応。ゲートウェイの外部向け入口として利用可能 |
| 直接接続の IP 許可、ホストのファイアウォール管理、スマート接続 | 非対応 |
| fnOS 証明書ライブラリとの同期、システム時刻の同期 | 非対応 |
| Web ターミナル、SSH セキュリティ | 非対応 |
| アプリ内の自動更新 | 非対応。DSM パッケージセンターから SPK を更新します |
「ホストのファイアウォール管理」がないことは、DSM でファイアウォールルールを手動設定できないという意味ではありません。fn-knock がログイン状態に応じて DSM ファイアウォールを動的に書き換えない、という意味です。サービス本来のポートをログイン後に動的許可したい場合は、この機能に対応するデプロイ方式を選んでください。
データ、ログ、アップグレード
実行データ、設定、証明書、秘密鍵は次の場所に保存されます。
/var/packages/fn-knock-synology/varこのディレクトリには機密データが含まれます。アップグレード前に fn-knock のアプリバックアップを書き出し、DSM のスナップショットまたはバックアップ計画にも含めることを推奨します。アップグレード中に、このディレクトリを手動で空にしないでください。サービスログのデフォルトパスは次のとおりです。
/var/packages/fn-knock-synology/var/fn-knock.log.knock アプリアーカイブは設定の移行に向いており、DSM のディレクトリスナップショットは SQLite、証明書、パッケージの実行データを保持します。両者は対象範囲が異なります。復元する順序とインポート時のバージョン制限は、バックアップ・復元・データ消去を参照してください。
DSM ネイティブパッケージは、アプリ内の FPK 更新機能を使用しません。新しい SPK を入手したら、「パッケージセンター → 手動インストール」でファイルを選んでアップグレードします。インストール中はサービスが短時間再起動します。更新後は DSM のメインメニューから管理画面へ入り直し、ゲートウェイ、認証、設定済みのサービス用マッピングを少なくとも 1 件確認してください。
次に読むページ:
