树莓派4部署NordVPN后WeeWx气象数据采集/输出异常求助
解决方案步骤
1. 检查WeeWx网络绑定配置
WeeWx若绑定了固定本地IP,VPN连接后网卡/IP变化会导致无法监听Ecowitt数据:
- 打开配置文件:
sudo nano /etc/weewx/weewx.conf - 找到
[Ecowitt]段的bind_address,将固定IP改为0.0.0.0(监听所有网卡) - 同步检查
[StdReport]下的绑定地址,确保为0.0.0.0或本地LAN IP - 重启服务:
sudo systemctl restart weewx
2. 保留本地LAN流量不走VPN
NordVPN默认会将所有流量导向VPN,阻断本地Ecowitt设备的通信:
- 查看当前路由表:
ip route show - 添加本地LAN网段静态路由(以192.168.1.0/24、网卡eth0为例):
sudo ip route add 192.168.1.0/24 dev eth0 metric 100 - 用NordVPN CLI将网段加入白名单(防止VPN重启后路由失效):
nordvpn whitelist add subnet 192.168.1.0/24 - 验证:断开并重新连接VPN,再次查看路由表确认本地网段路由指向本地网卡
3. 调整NordVPN Kill Switch设置
Kill Switch开启后可能阻断必要的非VPN流量:
- 查看状态:
nordvpn settings killswitch - 若为
Enabled,添加必要端口到白名单:# 添加Ecowitt上报端口(默认8080,按实际配置调整) nordvpn whitelist add port 8080 # 添加WeeWx对外上传的常用端口(如HTTPS/HTTP) nordvpn whitelist add port 443 nordvpn whitelist add port 80 - 可临时关闭Kill Switch测试:
nordvpn set killswitch off,问题解决后再针对性配置白名单
4. 检查本地防火墙规则
VPN连接可能修改防火墙规则,阻断WeeWx端口:
- 查看ufw状态:
sudo ufw status - 允许本地LAN访问Ecowitt端口:
sudo ufw allow in from 192.168.1.0/24 to any port 8080 - 允许WeeWx对外出站流量:
sudo ufw allow out to any port 80,443
5. 验证Ecowitt设备上报地址
确认Ecowitt设备设置的目标地址是树莓派的本地LAN IP,而非localhost或VPN分配的外部IP(设备无法访问VPN IP)
6. 查看WeeWx日志定位错误
通过日志明确具体故障原因:
- 查看系统日志:
sudo journalctl -u weewx -f - 查看应用日志:
tail -f /var/log/weewx/weewx.log - 重点关注
connection refused、no data received、failed to upload类错误,对应调整路由或白名单
内容的提问来源于stack exchange,提问作者Sven
相关产品推荐
相关产品推荐

