QBeltクライアントは接続できるが、QVPNがVPNNATチェインを設定しないためネットワーク接続ができない

マイ環境

  • NAS: QNAP TS453
  • QTS: 5.2.9.3499
  • QVPN Service: 3.3.1552
  • VPNプロトコル: QBelt
  • Android QVPNクライアント: 1.8.11.0206
  • Android 15
  • また、Android 8でも再現

問題の説明

QBeltクライアントは正常に接続でき、認証もエラーなく完了します。

クライアントは設定済みプールから有効なVPNアドレス(10.6.0.2)を受け取りますが、VPNトンネルを通じて一切トラフィックが流れません

症状:

  • NASのLAN IPアドレスでアクセスできない。
  • 他のLANデバイスにも接続不可。
  • インターネットにもアクセス不可。
  • IP接続性がないためDNSルックアップも失敗。
  • それにもかかわらず、QVPNクライアントは**「正常に接続されました」**と表示。

この問題は2台の異なるAndroid端末、異なるバージョンで同一です。

調査内容

NAS上で以下を確認しました。

QBeltのインターフェースは存在する

qtun
10.6.0.1/24
UP

クライアントは正しいアドレスを受け取っている

10.6.0.2

ルーティングテーブル

ルーティングテーブルには正しく以下が含まれます:

10.6.0.0/24 dev qtun
default via 192.168.1.1 dev eth0

つまり:

  • トンネル作成は正常。
  • 認証も正常。
  • アドレス割り当ても正常。
  • ルーティングも存在。

iptables

FORWARDチェインにはqtunを含むルールはありません。

さらに重要なのは:

iptables -t nat -L

の出力が

Chain VPNNAT (1 references)

と表示しますが、チェイン内に全くルールがありません

一時的な対応策

以下のコマンドを実行すると、直ちに完全なVPN機能が復元されます:

iptables -t nat -A VPNNAT -s 10.6.0.0/24 -o eth0 -j MASQUERADE

このルールを追加すると即座に:

  • LANへのアクセスが可能。
  • インターネットアクセスも可能。
  • DNSも機能。
  • QBeltが正常動作。

これはQVPN ServiceがVPNNATチェインを自動的に設定していないことを強く示唆します。

期待される動作

QBeltが起動時、QVPN Serviceは設定されたVPNサブネット用に必要なNAT/MASQUERADEルールを自動的にインストールすべきです。

実際の動作

VPNトンネルは正しく確立されますが、VPNNATチェインは空のままで、VPNインターフェースから一切トラフィックが流れません。

質問

  1. QVPN Service 3.3.1552でこれは既知の問題ですか?
  2. どのような条件でQVPNはVPNNATチェインを自動設定できなくなりますか?
  3. 公式な修正またはワークアラウンドはありますか?
  4. 新しいバージョンではこの問題は修正されていますか?

他のユーザーの皆さまにも、システム上でVPNNATチェインがQBelt有効時に正しく内容が設定されているかご確認いただきたいです。正常に動作しているシステムでは、少なくともQBeltサブネット用のMASQUERADEルールが1つは存在するはずです。