本文へ移動

ダッシュボードとシステム更新

ダッシュボード には、ゲートウェイのトラフィック、セキュリティブロック、DDNS、トンネルの状態が集約されます。トラフィックが発生しているか、最近明らかな異常が起きていないかをすばやく確認するための画面です。リクエストログ、長期監視、アップストリームサービス自身の稼働確認の代わりにはなりません。

ダッシュボードの見方

画面上部では 15分1時間6時間24時間7日間 のいずれかを選択できます。この範囲は総受信量 / 総送信量、セキュリティの傾向、ネットワークトラフィックのグラフに反映されます。リアルタイム受信、リアルタイム送信、現在のオンライン数は、その時点の状態を示します。

主な領域は次のとおりです。

領域内容
リアルタイムおよび総トラフィック現在の送受信速度と、選択範囲内の総受信量・総送信量
セキュリティブロックログイン失敗、スキャナーのブロックリスト件数、WAF の検知・ブロックイベントと傾向
アクセス経路の状態DDNS プロバイダー、最終アドレス、更新範囲、最終チェック、追加ドメインの状態
トンネルの入口リバースプロキシモードでの FRP / Cloudflared の実行状態、デフォルトトンネル、PID
ネットワークトラフィックの傾向選択した時間範囲内の受信・送信時系列

「アクセス経路の状態」モジュールは システム設定 → 機能 で非表示にできます。トンネル領域が表示されるのは、リバースプロキシモードで、現在のプラットフォームが FRP または Cloudflared に対応している場合だけです。

問題を調べるときは、次の順に確認します。

  1. マッピングを追加した後に外部からアクセスし、オンライン数、リアルタイム速度、トラフィックグラフのいずれかが変化することを確認します。
  2. セキュリティブロックが増えた場合は、イベントセンター、スキャナーのブロックリスト、WAF ログで具体的な送信元を確認します。
  3. DDNS が更新されない場合は、DDNS 画面で最終チェック、IP の取得元、更新ログを照合します。
  4. トンネルが停止中と表示される場合は、対応するカードからトンネル画面を開き、プロセスの状態とログを確認します。
  5. 特定のドメインだけに問題がある場合は、その Host のマッピング、証明書、アクセスポリシー、アップストリームの転送先を確認します。

ローカルホストや LAN 内のトラフィックだけでは、公開入口が有効だとは確認できません。認証、リバースプロキシ、トンネルが関係する場合は、モバイル回線など実際の外部経路から再テストしてください。

管理画面のテーマカラー

ダッシュボード右上では、デフォルトエルメスオレンジプルシアンブルーダイナミックホワイト のいずれかを選択できます。管理画面全体のテーマカラーとして保存され、ライト / ダーク表示の切り替えとは独立しています。認証ページやアップストリームアプリの外観には影響しません。

デプロイ方式ごとに異なる更新方法

画面の場所は バージョンとアップデート です。どのデプロイ方式でも現在のバージョン、最新バージョン、確認結果、リリースノートに加え、公式サイト、ドキュメント、GitHub プロジェクトへのリンクが表示されます。リリースノートは Markdown の見出し、リスト、強調、HTTPS リンクに加え、GitHub 形式の NOTETIPIMPORTANTWARNINGCAUTION アラートを安全に表示します。任意の HTML ページとしては扱わず、リモート画像や安全でないプロトコルが実行可能な内容になることもありません。管理画面の読み込み後は、サイドバーにも現在のバージョンが表示され、更新が定期的に確認されます。新しいバージョンが見つかるとページ上部に通知が表示され、更新画面でリリースノートを確認できます。通知から Web 上でインストールできるのは fnOS ネイティブ FPK だけです。Synology DSM 7 SPK は DSM パッケージセンター、Windows ネイティブ版は独立した fn-knock Windows 管理アプリ からインストールし、Web の更新画面では実行しません。

デプロイ方式更新画面でできること実際の更新方法
fnOS ネイティブ FPK確認、ダウンロード、検証、ワンクリックインストール画面からワンクリック更新を実行。アプリが再起動します
Docker Composeバージョン確認とリリースノートの表示リリースイメージを pull し、コンテナを再作成
OpenWrtバージョン確認とリリースノートの表示ファームウェアのパッケージ形式とアーキテクチャに合う .ipk または .apk をインストール
Linux(systemd / OpenRC)バージョン確認とリリースノートの表示sudo knock update を実行
macOS 13+(Intel / Apple Silicon)バージョン確認とリリースノートの表示sudo knock update を実行
Synology DSM 7 SPKバージョン確認とリリースノートの表示アーキテクチャに合う SPK をダウンロードし、DSM パッケージセンターから手動更新
Windows x86_64バージョン確認とリリースノートの表示fn-knock Windows 管理アプリ またはシステムトレイのメニューから確認してインストール

Docker、OpenWrt、Synology の更新画面から FPK をインストールしないでください。これらの環境では、アプリ内アップデートが非対応と表示されます。Windows でも Web の更新画面からインストールせず、デスクトップ管理アプリを使用してください。

fnOS ネイティブ FPK の更新

バージョンとアップデート で新しいバージョンを確認します。アップデートが見つかると、機器のアーキテクチャに合う FPK とチェックサムファイルをダウンロードし、fnOS アプリセンターからインストールしてアプリを再起動します。ダウンロード、検証、インストールの進行状況が表示されます。インストール中は画面を閉じないでください。

アップデート中は、管理画面とゲートウェイが短時間利用できなくなります。画面は新しいバックエンドが準備完了を返すまで待ち、キャッシュを分離した URL で新しいフロントエンドを読み込みます。置換済みの古い JavaScript チャンクをブラウザーが要求した場合も、自動再読み込みは最大一回に制限され、空白画面と再読み込みループを避けます。自動復旧に失敗した場合に限って、手動で再読み込みする案内が表示されます。自動再接続のタイムアウトだけではインストール失敗とは限らないため、fnOS デスクトップから開き直して状態を確認してください。

インストーラーは、新しいパッケージのライフサイクル用エントリーポイントを検証して配置してから、fnOS アプリセンターへ旧インスタンスの停止を要求します。インストール後はアプリセンターの状態を待ち、起動を再試行します。停止処理では FN Connect WAF ルールを一定時間内で確認します。ファイアウォール状態を一時的に読み取れない場合は警告を記録して停止処理を続行し、管理対象ルールが残っていて削除できないことを確認した場合だけアップデートを中止します。これにより、アプリセンターの状態反映遅延やファイアウォールのロック競合による見かけ上のタイムアウトを減らせますが、実際のプロセス停止失敗を無視することはありません。

開始前に設定バックアップをエクスポートします。完了後、実行中のアプリ、認証設定、ゲートウェイ入口を確認します。メニューや外観が明らかに旧画面のままなら、まず fnOS デスクトップから入り直し、それでも残る場合だけこのサイトのブラウザーキャッシュを消去します。アプリのデータディレクトリは削除しないでください。

ゲートウェイ経由で管理画面を使う場合のセッション復旧

管理画面を保護対象のサブドメインマッピングとして公開していると、画面を開いたままゲートウェイセッションが期限切れになることがあります。API が応答しない場合、管理画面はキャッシュを使わず認証状態を確認し、未ログインと明確に判定したときだけ認証ページへ移動します。現在の管理ページは戻り先として保持され、管理ポートを公開する必要はありません。

通常のネットワーク切断、ゲートウェイ再起動、上流到達不能は、一回の失敗だけで期限切れ扱いされません。遷移しない、または再ログイン後も失敗する場合は、ネットワークとゲートウェイの状態を先に確認し、次に認証 Host、Cookie 範囲、戻り先 URL を確認します。

アップデート時の SQLite 保護

標準 fnOS FPK のアプリ内インストールでは、最初に SQLite WAL をメインデータベースへチェックポイントし、簡易整合性検査を実行して、検証済みの一貫した fn-knock.sqlite3.pre-update.bak スナップショットをデータディレクトリへ作成します。この事前検査が成功すると、以降の書き込みは一時的により厳格な同期モードを使います。いずれかの処理に失敗した場合は、プログラムファイルを切り替える前にインストールを中止します。

通常のサービス停止でも、バックグラウンド処理の終了を待って WAL を再度チェックポイントします。fnOS、OpenWrt、Synology のパッケージスクリプトは、SQLite が正常終了するための時間を確保します。プロセスを停止できない場合、旧プロセスがデータベースへ書き込み続けたままファイルを置き換えず、アップグレードまたはアンインストールをエラーで終了します。

このアップデート前スナップショットは稼働中のデータベースと同じデータディレクトリにあり、切り替え中のリスクを軽減するためのものです。独立したバックアップではなく、.knock エクスポート、データディレクトリのバックアップ、システムスナップショットの代わりにはなりません。デプロイガイドに従って別の機器にもバックアップを保存してください。

Docker Compose の更新

デプロイディレクトリで次のコマンドを実行します。

bash
cd /opt/fn-knock
docker compose pull
docker compose up -d
docker compose ps

.envFN_KNOCK_IMAGE にバージョンタグを固定している場合は、先に目的のバージョンへ変更します。イメージはデータバックアップではありません。更新前に fn_knock_gatewayfn_knock_data の 2 つの永続ボリュームをバックアップしてください。

Linux の更新

一般的な Linux インストールでは、次のコマンドを使用します。

bash
sudo knock update

このコマンドはローカルと公開済みのバージョンを比較し、リリースパッケージをダウンロードして検証した後、バージョンディレクトリへデプロイします。同じバージョンでも確認後に再インストールできます。新しいバージョンのヘルスチェックに失敗すると、元のプログラム、サービススクリプト、起動状態が復元されます。保持されている以前のバージョンへ戻す場合は sudo knock rollback を実行します。更新前には /etc/fn-knock/var/lib/fn-knock もバックアップしてください。

macOS の更新

ターミナルで実行します。

bash
sudo knock update

現在の Mac アーキテクチャ向けパッケージをダウンロードして検証し、バージョン切り替え後に LaunchDaemon と管理サービスを確認します。新バージョンが準備完了にならない場合は、バージョンリンク、管理コマンド、サービス設定、以前の起動状態を復元します。保持された前バージョンへ戻すには sudo knock rollback を使用します。先にアプリバックアップをエクスポートし、パスとアンインストール方法は macOS へのデプロイを確認してください。

OpenWrt の更新

ファームウェアのパッケージマネージャーと対象アーキテクチャに合う新しいパッケージを選び、次のコマンドを実行します。

bash
# opkg ファームウェア
opkg install --force-reinstall /tmp/fn-knock_*.ipk

# apk ファームウェア
apk add --allow-untrusted /tmp/fn-knock_*.apk

/etc/init.d/fn-knock status

/tmp に複数のバージョンがある場合は、ワイルドカードではなく完全なファイル名を指定してください。

ローカル .apk での --allow-untrusted は、信頼できるリリース元から取得したパッケージにだけ使用してください。アップグレード時には /etc/config/fn-knock/etc/fn-knock/gateway/etc/fn-knock/data が保持されます。旧版がデフォルトの /var/lib/fn-knock を使っている場合は新しいディレクトリへコピーして UCI を更新しますが、カスタムデータディレクトリは強制移行されません。ログイン、設定、既存データを確認するまで旧ディレクトリを削除しないでください。

Synology DSM 7 SPK の更新

バージョンとアップデート でバージョンとリリースノートを確認し、Synology の機種とアーキテクチャに合う SPK をダウンロードします。その後 DSM パッケージセンターから手動で更新してください。Web 画面が DSM に代わってパッケージをインストールまたは再起動することはありません。

更新前にアプリバックアップをエクスポートします。パッケージデータは /var/packages/fn-knock-synology/var にあります。更新後は DSM デスクトップのパッケージ入口から開き直し、バージョン、認証設定、ゲートウェイへのアクセスが復旧していることを確認してください。

Synology パッケージは、コールドブート時のゲートウェイ準備完了と設定同期を強化しています。起動が不安定なインスタンスが現在起動できない場合も、現在のリリースチャネルから同じアーキテクチャの最新 SPK をパッケージセンターで直接上書きしてください。起動を復旧するためにパッケージを先にアンインストールしたり、データディレクトリを削除したりしないでください。

Windows x86_64 の更新

fn-knock Windows 管理アプリ を開いて「更新を確認」をクリックするか、システムトレイのメニューから同じ操作を実行します。管理アプリは Windows インストーラーのダウンロード元、ファイルサイズ、SHA-256 を確認してからインストーラーを起動します。Web 画面の バージョンとアップデート は、バージョンとリリースノートの表示だけに使用します。

インストーラーはサービスを一時停止します。新しいバージョンが準備完了チェックで起動できなかった場合は、以前のプログラムと実行データを復元します。ただし、これはバックアップの代わりではありません。更新前にアプリバックアップをエクスポートしてください。Windows でアンインストールまたはアップグレードした後も %ProgramData%\FnKnock は残り、設定、SQLite、証明書などの機密データが含まれます。

更新後に毎回確認すること

  1. 管理入口へログインでき、現在のバージョンが正しいこと。
  2. ゲートウェイのドメインまたはポートへ、実際の外部ネットワークからアクセスできること。
  3. 現在のモード、証明書、マッピング、認証ルールが引き続き想定どおりであること。
  4. 使用中の FRP、Cloudflared、その他の前段リバースプロキシが再接続されていること。
  5. イベントセンター、リクエストログ、WAF ログに新しいレコードが引き続き生成されていること。

fn-knock の更新は、ホスト OS の更新やバックアップの代わりにはなりません。公開ゲートウェイ、証明書、DNS、サービスにはそれぞれ独立した障害要因があるため、更新後に個別に検証してください。

関連ドキュメント:

QQ コミュニティ:1081609274