Dynamic DNS

Has someone managed to update Linode's DNS using DD-WRT router software?

As I have found out, URL request should be as follows:

https://api.linode.com/?api_key= … DYNAMIC_IP">https://api.linode.com/?apikey=&apiaction=domain.resource.update&DomainID=&ResourceID=&Target=ip< linktext="">>

It's working when I try to update my IP using browser's address field, but I can't find out how to make it work using my router where there are standard fields:

  • Server

  • User Name

  • Password

  • Host Name

  • URL

Any help appreciated.

7 Replies

You just need something that can make a web request. Doesn't need to be your router.


If you send the literal string [remote_addr] for the value of the target, our end will substitute it with the requester's IP. No need to scrape your local IP from the router or whatever…

Hope that helps,


Thanks, Chris, that will make my task easier!

By the way, are there some reasonable limits regarding the regularity of sending such requests? For example, if I set that line to cron to be executed every half hour, is it too often?

Changed zones are only published every quarter hour. I think making your API call every 30 or 60 minutes is perfectly acceptable. Thanks for asking :)


My approach is to run my script much more frequently (once a minute, I think, might have been once per 5 minutes), but only send a linode API query if the IP has changed, which is pretty rare. For IP change tracking I have my home file server (the thing getting the dynamic IP) call a PHP script on my linode that simply returns the IP of the person accessing the script:


The script is basically just like or something.

It required more effort to implement than just a simple linode API call every 30 minutes (which is a single API call), but it lets me get updates much quicker while simultaneously accessing the linode API much less frequently.

This URL gives a 404:


I can't find the answers on Linode, but am looking for working instructions, with examples, for implementing dynamic DNS subdomains on Linode.

Can anyone assist with that?



The Linode website (and API) will have changed drastically over the last 7+ years, so Chris’s original instructions may not even apply now.

The best I can find for you is the API manual for updating a domain record:


This has a one line cURL command to issue a change. There’s no mention of it using the requestor’s IP automatically so you may need a way to get that first (a script on your Linode you can call from your home server that outputs the requesting IP?) then push that IP as a change using the above cURL command.


Please enter an answer

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct