当 QNAP NAS 设备接入的网络配置了正常上网话,在 QNAP NAS 的 myQNAPcloud 应用中,My DDNS 功能就有可能将 IPv4 地址识别为代理 IP 地址,从而无法通过系统设置的 DDNS 功能从自定义的 \*.myqnapcloud.com 域名远程访问 NAS。

1. 家庭网络拓扑图(家庭中的 NAS 是怎么连接到互联网的)


其中入口路由器和无线路由器可以是同一个,即家庭中的 PPPOE 拨号上网和无线 WiFi 路由器;或者可以是多个,比如单独配置了旁路的设备等。

2. DDNS IP 更新错误的问题(可能导致无法通过自定义的 \*.myqnapcloud.com 域名访问 NAS)


如图,DDNS IP 可能被识别为代理服务的 IP 地址,而不是实际的宽带外网地址。

3. 原因分析并修复

在 QNAP 系统的 /etc/init.d/ 目录下有一个 get_external_ip.sh 的脚本,该脚本的内容为:

#!/bin/bash
# Script for getting an external WAN IP

# get external IP from qcloud API
WAN_IP=`/usr/local/bin/qcloud_cli -x 13 -e`
[ -z "$WAN_IP" ] && exit 1
echo $WAN_IP
exit 0

可以看到获取 WAN_IP 也就是宽带外网 IP 是通过 /usr/local/bin/qcloud_cli -x 13 -e 来实现的,通过追踪该可执行文件,发现该文件通过解析 edge.api.myqnapcloud.com 这个域名并访问,来获取外部 IP 地址的。通常情况下该域名解析出来的 IP 地址会被列为非国内 IP 段,从而通过代理访问。

3.1 修复问题

在正常上网服务的配置里将域名 edge.api.myqnapcloud.com 添加例外即可。