I discover that every time my ISP changes the external IP address of my ADSL service, I’m no longer able to access my WD MyCloud device remotely via internet. I suspect it has to do the IP address stored in WDmycloud.com server that has not been automatically updated in response to the IP change. In dashboad, the cloud access menu shows “connected” status. To re-gain remote access to my WD MyCloud device, I have to reboot it to make it work again.
Do I need to do any extra port forwarding (besided 80 and 443) for DDNS update to work?
Any suggested fix w/o having to perform reboot every day?
I have subscribed to a free dynamic dns service which l update my external ip address automatically via inadyn. Is there a way to update the IP address in my WDmycloud.com account using inadyn, ddclient or dnsomatic service?
Did you assign a static IP address to the NAS? Best way to do this is from the router settings? You can also do it from the NAS directly, but make sure you choose an IP address outside of the DHCP IP address range.
You dont need to unplug or reset the device (this is a right pita if you have external usb drives attached)
when this happened to me I just went into settings in the dashboard and switched remote access off for a couple of minutes then switched it back on after that my WDMyCloud was accessible from my phone again (just need to find a way to do this when you are away from home lol)
I haven’t got a working solution from WD so far. Here’s my temporary solution if you aren’t afraid to turn on ssh service.
Turn on ssh service in dashboard.
SSH to the box using eg. putty and run the folllowing commands.
cd /etc/cron.d
echo “2 4 * * * root /sbin/reboot” > do_reboot
Remark: this will cause WDMC to reboot automatically at 4.02am everyday. The first and second numbers are minutes and hours, respectively, Change them to other numbers as you wish.
Restart cron service by typing " service cron restart"
This command can be executed via web browser. Once executed, the device’s ip address stored in wd2go server will be updated accordingly and this will make remote access work again upon IP change by the ISP.
Now, I tried to find a way to run this command in unix environment so that I can put it into a shell script that will update the IP by itself. Here’s the command I tried
wget --no-check-certificate https://…
However, I got this error
HTTP request sent, awaiting response… 405 Method Not Allowed
2014-06-25 13:54:23 ERROR 405: Method Not Allowed.
Unlike some DDNS clients which checks the IP changes periodically, mycloud doesn’t do this unless upon restart or lost of network interface ie. lan cable plugged out or router down. In short when your ISP resets the IP, there’s no way mycloud or other devices on your network knows there’s a WAN IP change because they are seating behind your router happily with each internal IP. Only router aware of the change. Edited: MyCloud does have this IP change checks as pointed out by muonic which I didn’t noticed ealier because I never encountered such issue.
I haven’t looked into the codes where mycloud trigger this update but just a recommendation, instead of rebooting everytime, use: /etc/init.d/networking stop|start
The -l flag will create a log file in /var/log/orion_cm.log. From the log file I can see problem why this monitor program doesn’t work properly. I think this is where WD has to fix regarding the remote access issue.
Great! Can you share what’s the error in /var/log/orion_cm.log w/o your credentials/ip? What I’ve seen it’s trying to access busybox which doesn’t exists…
Yeah, the busybox thing is one thing I also notice. Something is not quite right about that.
Regarding the log file, I look at the timestamp when my external IP has changed, the log file shows that WDMC was able to detect the IP change but somehow failed to update it. The following is the part where some errors occur.
Tue Jun 24 11:07:37 2014 CommMgr - VPNManager::closeVPNConnection() - openVPN process is not running
Tue Jun 24 11:07:37 2014 CommMgr - ConnectionManager::manualPortForward() - failed to stop VPN process, relay connection cannot be closed.
Tue Jun 24 11:07:37 2014 CommMgr - ConnectionManager::createConnection() - port-forwarding failed, [attempting relay connection].
Tue Jun 24 11:07:37 2014 CommMgr - ConnectionManager::mapConfiguredPorts() - creating VPN connection.
Tue Jun 24 11:07:37 2014 CommMgr - Deleting port mapping from server, url: [https://198.107.148.110/api/1.0/rest/device_port_forward/119xxxx9?format=xml&rest_method=put&ip=NULL&local_ip=192.168.2.5&forward_port=0&forward_ssl_port=0&device_auth=76e79ee544axxxxxxxxf0e7f250].
Tue Jun 24 11:07:38 2014 CommMgr - OrionClient::updateServerMapping - got [111] bytes
Tue Jun 24 11:07:39 2014 CommMgr - ConnectionManager::createRelayConnection() - attempting to open VPN relay connection.
T
My ISP seldom change my IP even if I pulled off my optic cable haha. So it’s hard for me to simulate the error.
Maybe for the time being you could install a cronjob to call that URL in some interval. Or a cronjob script to check IP changes every 5mins and call that URL if your IP changed…
That’s exactly what I’m doing now instead of doing a dumb reboot everyday.
I wrote a cron job script to periodically check for my external ip address stored in a 3rd-party DDNS service. If it has been changed then I update the IP address stored in wd2go.com via the wget command you gave me. It’s been working fine so far.