docs: route change requires client daemon reconnect
Document two lessons from the RTSP-camera-via-subnet-route diagnosis: 1. Existing NetBird clients don't automatically re-apply new route config; daemons stuck in old state need explicit restart per platform (launchctl kickstart / App reconnect / compose restart). Shows up as 'Networks: -' on status output and no entry in the system routing table. 2. Some iOS apps (notably certain RTSP players) don't use the system VPN route and bypass NetBird entirely even when route is correctly installed. Safari test distinguishes 'route broken' from 'app doesn't respect VPN'.
This commit is contained in:
@@ -133,6 +133,40 @@ ping 192.168.42.40 # pve-03
|
||||
|
||||
## 排錯
|
||||
|
||||
### 症狀:route 建好、routing peer 運作正常,但舊客戶端連不到 LAN
|
||||
|
||||
**典型現象**:
|
||||
- `netbird status --detail` 顯示 routing peer 有 `Networks: 192.168.42.0/24`
|
||||
- 但 client 本機 `netstat -rn | grep 192.168.42` 沒有這條 route
|
||||
- 或「有些 peer 可以連、有些不行」
|
||||
|
||||
**原因**:NetBird client 在 daemon 啟動時才建立完整 network map,之後 route 政策變更會 push 到 client,但**既有的連線狀態若卡住,沒辦法套用新 route**。
|
||||
|
||||
**修復(各平台)**:
|
||||
- **macOS**:
|
||||
```bash
|
||||
sudo launchctl kickstart -k system/netbird
|
||||
```
|
||||
- **iOS**: App 內 Disconnect → 等 5 秒 → Connect
|
||||
- **Linux systemd**: `sudo systemctl restart netbird`
|
||||
- **Docker 容器**: `docker compose -f /opt/netbird/docker-compose.yml restart`
|
||||
|
||||
**本部署的實例(2026-04-18)**:subnet route 剛建好時測試通過,但 daemon 一直沒重啟的裝置(iPhone、CT124)後來出現 `Status: Connecting` 假象,route 也沒進 routing table。全裝置 kickstart / reconnect 後恢復。
|
||||
|
||||
### iOS RTSP / 特定 app 不走 NetBird route
|
||||
|
||||
iPhone 上**某些 app** 不吃系統 VPN 路由(特別是直接用 socket API 的 RTSP 播放器),即使 NetBird route 設好也連不到。
|
||||
|
||||
**排查步驟:**
|
||||
|
||||
1. 在 iPhone Safari 打開 `http://<目標 LAN IP>/`
|
||||
2. 如果能通 → NetBird route 正常,問題在那個 app 對 VPN 的支援
|
||||
3. 如果不能通 → iPhone NetBird daemon 要重連(見上一節)
|
||||
|
||||
**常見解法**:
|
||||
- 換一個支援 VPN 的 RTSP app(VLC 通常 OK)
|
||||
- 或讓 app 用 FQDN 而非 IP(例如 `rtsp://192-168-42-150.netbird.selfhosted:554/stream1` 如果 NetBird DNS 有設)
|
||||
|
||||
### 路由表拿到但 ping 不通
|
||||
|
||||
通常是**帶路人的 IP forwarding 沒開**。再檢查:
|
||||
|
||||
Reference in New Issue
Block a user