我的環境
-
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 客戶端能成功連線並完成認證,無任何錯誤。
客戶端能從設定的IP池取得有效的VPN位址(10.6.0.2),但完全沒有流量通過VPN通道。
現象如下:
-
無法透過 NAS 的區網IP位址存取 NAS。
-
無法存取其他區網裝置。
-
無法上網。
-
DNS查詢失敗,因為沒有IP連線能力。
-
然而 QVPN 客戶端仍顯示**「連線成功」**。
這個問題在兩台不同的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
新增這條規則後:
-
可以存取區網。
-
可以上網。
-
DNS 正常。
-
QBelt 運作正常。
這強烈暗示 QVPN Service 並未自動填充 VPNNAT 鏈。
預期行為
當 QBelt 啟用時,QVPN Service 應自動為設定的VPN子網路新增所需的 NAT/MASQUERADE 規則。
實際行為
VPN隧道已正確建立,但VPNNAT鏈保持為空,導致任何流量都無法從VPN介面出去。
問題
-
這是 QVPN Service 3.3.1552 的已知問題嗎?
-
在什麼情況下 QVPN 會未能填充 VPNNAT 鏈?
-
有沒有官方修正或臨時解法?
-
這個問題在新版中有修正嗎?
也請其他使用者協助確認,能否檢查你們的系統,當 QBelt 啟用時 VPNNAT 鏈是否被正確填充。在正常運作的系統中,我預期至少會有一條針對 QBelt 子網段的 MASQUERADE 規則。