I’ve recently purchased an RT-AC86, and installed Merlin v386.4.
I’m upgrading from an old RT-N66U running Shibby builds of Tomato.
I’ve encountered a speed bump with updates to my DDNS record at easyDNS (which Tomato has been doing reliably for years).
Since easyDNS isn’t one of the DDNS providers supported in the webgui, I’ve attempted to concoct a custom configuration for inadyn, using the recipe on the asuswrt-merlin wiki, here:
Following the inadyn format, I created the appropriate config file** for my easydns account and put it in /jffs.
Also added the specified ddns-start script to /jffs/scripts.
When activated, the webgui page announces “Registration successful", and inadyn appears to update the ddns record at easyDNS properly.
I verified the update with an nslookup.
Here is the startup procedure reported in syslog, (with personal information redacted):
However, the syslog reveals that inadyn then attempts to update the ddns record every two minutes, endlessly.
The easyDNS ddns server responds with error messages advising that the inadyn client is attempting to update the ddns record too soon.
The above sequence of 4 error messages is logged every two minutes. Apparently, there’s something in the inadyn setup (or perhaps a cron job?) that is triggering the update process to run every two minutes, regardless of whether my IP has changed or not. I’ve asked Ms. Google but have been unable to figure out how to back off the repetitive updates. It’s my understanding from past experience with ddns (on Tomato firmware) that updates should only be submitted when the public IP changes. Or perhaps every 20 days or so. But certainly not every 120 seconds.
My ISP provides my public IP over PPPoE. Testing for proper operation of the ddns update process is difficult, as there’s no easy way to force a change of the public IP. (Disconnecting then reconnecting the PPPoE session usually results in the same IP address getting assigned).
For the time being, I have disabled DDNS updating on the router, as I suspect easyDNS may blacklist my account if I continue to hammer it with updates every two minutes.
Any ideas how to change the retry interval?
Thanks.
——————
** While troubleshooting, I observed an error in the DDNS recipe provided in the asuswrt-merlin Wiki. It states:
The /usr/sbin path to the nvram command is incorrect. In v364.4, I found the nvram command is stored in /bin. I corrected my inadyn.conf file accordingly, but it made no difference.
I’m upgrading from an old RT-N66U running Shibby builds of Tomato.
I’ve encountered a speed bump with updates to my DDNS record at easyDNS (which Tomato has been doing reliably for years).
Since easyDNS isn’t one of the DDNS providers supported in the webgui, I’ve attempted to concoct a custom configuration for inadyn, using the recipe on the asuswrt-merlin wiki, here:
![]()
DDNS services
Third party firmware for Asus routers (newer codebase) - RMerl/asuswrt-merlin.nggithub.com
Following the inadyn format, I created the appropriate config file** for my easydns account and put it in /jffs.
Also added the specified ddns-start script to /jffs/scripts.
When activated, the webgui page announces “Registration successful", and inadyn appears to update the ddns record at easyDNS properly.
I verified the update with an nslookup.
Here is the startup procedure reported in syslog, (with personal information redacted):
Code:
Mar 3 09:34:27 rc_service: httpd 1774:notify_rc restart_ddns
Mar 3 09:34:27 start_ddns: update CUSTOM , wan_unit 0
Mar 3 09:34:27 start_ddns: Clear ddns cache.
Mar 3 09:34:27 custom_script: Running /jffs/scripts/ddns-start (args: 76.71.x.x)
Mar 3 09:34:27 inadyn[31241]: In-a-dyn version 2.9.1 -- Dynamic DNS update client.
Mar 3 09:34:28 inadyn[31241]: Update forced for alias x.x.com, new IP# 76.71.x.x
Mar 3 09:34:31 inadyn[31241]: Updating cache for x.x.com
Mar 3 09:34:31 ddns: Completed custom ddns update
Mar 3 09:34:39 watchdog: start ddns.
Mar 3 09:34:39 rc_service: watchdog 1784:notify_rc restart_ddns watchdog
Mar 3 09:34:39 start_ddns: update CUSTOM , wan_unit 0
Mar 3 09:34:39 start_ddns: Clear ddns cache.
Mar 3 09:34:39 custom_script: Running /jffs/scripts/ddns-start (args: 76.71.x.x)
Mar 3 09:34:39 inadyn[31290]: In-a-dyn version 2.9.1 -- Dynamic DNS update client.
Mar 3 09:34:39 inadyn[31290]: Update forced for alias x.x.com, new IP# 76.71.x.x
Mar 3 09:34:40 inadyn[31290]: Fatal error in DDNS server response:
Mar 3 09:34:40 inadyn[31290]: [200 OK] TOOSOON Increase your time between updates for x.x.com to 600 seconds or more.
Mar 3 09:34:40 inadyn[31290]: Error response from DDNS server, ignoring ...
However, the syslog reveals that inadyn then attempts to update the ddns record every two minutes, endlessly.
The easyDNS ddns server responds with error messages advising that the inadyn client is attempting to update the ddns record too soon.
Code:
Mar 3 09:36:42 inadyn[31290]: Update forced for alias x.x.com, new IP# 76.71.x.x
Mar 3 09:36:42 inadyn[31290]: Fatal error in DDNS server response:
Mar 3 09:36:42 inadyn[31290]: [200 OK] TOOSOON Increase your time between updates for x.x.com to 600 seconds or more.
Mar 3 09:36:42 inadyn[31290]: Error response from DDNS server, ignoring ...
The above sequence of 4 error messages is logged every two minutes. Apparently, there’s something in the inadyn setup (or perhaps a cron job?) that is triggering the update process to run every two minutes, regardless of whether my IP has changed or not. I’ve asked Ms. Google but have been unable to figure out how to back off the repetitive updates. It’s my understanding from past experience with ddns (on Tomato firmware) that updates should only be submitted when the public IP changes. Or perhaps every 20 days or so. But certainly not every 120 seconds.
My ISP provides my public IP over PPPoE. Testing for proper operation of the ddns update process is difficult, as there’s no easy way to force a change of the public IP. (Disconnecting then reconnecting the PPPoE session usually results in the same IP address getting assigned).
For the time being, I have disabled DDNS updating on the router, as I suspect easyDNS may blacklist my account if I continue to hammer it with updates every two minutes.
Any ideas how to change the retry interval?
Thanks.
——————
** While troubleshooting, I observed an error in the DDNS recipe provided in the asuswrt-merlin Wiki. It states:
If you wish to use your local WAN IP instead of relying on the DDNS service's remote check method, you can insert the following line within your custom or provider block:
checkip-command = "/usr/sbin/nvram get wan0_ipaddr"
The /usr/sbin path to the nvram command is incorrect. In v364.4, I found the nvram command is stored in /bin. I corrected my inadyn.conf file accordingly, but it made no difference.