Dynamic DNS

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 04:11, 14 December 2006 (edit)
Whiteboy (Talk | contribs)

← Previous diff
Revision as of 04:14, 14 December 2006 (edit) (undo)
Whiteboy (Talk | contribs)
(External Links)
Next diff →
Line 148: Line 148:
" --dyndns_server_name www.3322.org --dyndns_server_url /dyndns/update?hostname= --ip_server_name www.bliao.com:2000 /ip.phtml " " --dyndns_server_name www.3322.org --dyndns_server_url /dyndns/update?hostname= --ip_server_name www.bliao.com:2000 /ip.phtml "
-=External Links=+= Links =
* [[DDNS_-_How_to_manage_multiple_DDNS_accounts_using_embedded_inadyn_-_HOWTO|How to manage multiple DDNS accounts using Inadyn]] * [[DDNS_-_How_to_manage_multiple_DDNS_accounts_using_embedded_inadyn_-_HOWTO|How to manage multiple DDNS accounts using Inadyn]]
[[Category:English documentation]] [[Category:English documentation]]
[[Category:basic HOWTO]] [[Category:basic HOWTO]]

Revision as of 04:14, 14 December 2006

Dynamic DNS (DDNS) is a DNS caching service

DD-WRT v23 SP2 and later use inadyn as its embedded dyndns client solution.

Here's a list of Dynamic DNS service providers:




Custom (URL Updates)

With url updates, the client program usually submits a request using the hypertext transport protocal (HTTP) to a DDNS Server. The request may contain your requested hostname (your dynamic domain name) and/or your IP address. The server then asks for the username and password. The client program returns the information to authorize itself, and the update is completed with the server request response to verify the result.

When your DDNS Service provider uses URL updates, you need to know the url which the client program requests. An example of such a url is:


The URL is divided into parts, the parts should be simple to divide.

Protocol Usually appears first and is followed by "://"
Location Usually after protocol, this can be an IP address or a domain name
Port (optional) Sometimes appears after location, only appears after a colon.
URI The last part of the URL, which can be subdivided. It normally appears after the location and port.

The URI can be subdivided even futher. Most of the URI is optional.

URI Location Everything before the "?" or "#" ("?" first).
URI Parameters Everything after the "?" and before the "#". There can be many parameters. Many times, as in the above example is it specified in the "name=value" form. And commonly when more than one value needs to be specified, it is divided with "&" so "name1=value1&name2=value2&name3=value3" can be used to specify three parameters.
URI Link Everything after the "#", used to specify a specific point in a page.

The example request above is:

Protocol http
Location example.com
Port Not specified
URI /dyndns/update?hostname=hostname.example.org
URI Location /dyndns/update
URI Paramater "hostname" hostname.example.org

To confirm that you have the correct URL and can manually update your IP by using your web browser. When prompted, input your registered username and password. If you aren't registered, register one and setup (add) your dynamic domain name first. Once you have the information, you should be able to set it up using DD-WRT.

  1. Login to the Web GUI, Set DDNS under "Setup" to "custom"
  2. If the URL paramaters have "hostname" use "dyndns@dyndns.org" for DNS System. Otherwise use "custom@http_svr_basic_auth"
  3. Enter "Username" and "Password" with your registered username and password of your DDNS service provider.
  4. Fill in your hostname in "Host Name"
  5. Complete options in "Additional DDNS Options" textarea.
  6. Save Changes and Reboot Router

Additional DDNS Options

For the custom DDNS to work properly we must specify options so that the program knows what to do.

  • Specify the Server Name option, this is Location and perhaps the port (if specified) of the URL.
  • Specify Server URL Option. If you used the "dyndns@dyndns.org" as "DNS System" you need to specify the Server URL option as just the URI Location; otherwise you need to specify the entire URI.

Using the example above, the Additional DDNS Options should be:

" --dyndns_server_name example.com --dyndns_server_url /dyndns/update"

If this isn't working, try pinging checkip.dyndns.org. You may have to use the "ip_server_name" option if you are unable to recieve a response. The IP address option is used to specify an alternate source to get your IP. Many websites have options to view your IP Address. For the update to work properly, the IP Address check must be be done on the server side (no javascript/vbscript) and your ip address must be the first address on the page. You may need to confirm this by using "View Source" in your browser.



Dividing this URL is similar to dividing the one above:

Protocol http
Location www.dnsstuff.com
Port Not specified
URI /tools/my-ip-address.ch
URI Location /tools/my-ip-address.ch

The "ip_server_name" option uses the Location and the URI. If there is not a URI, use "/"

The "ip_server_name" string using the server above should be:

"--ip_server_name www.dnsstuff.com /tools/my-ip-address.ch"

Note the space beteen the Location and URI.

If you have multiple dyndns domains under the same account and need to update them together, you can add one or more "-a" options to do so. ie, "-a SECOND_HOSTNAME.example.com". This only works if the domains are under the same provider and account.

So, finally, the additional options should be complete and will work in general cases.


Example option for 3322.org (a chinese dyndns provider)

Username: USERNAME Password: PASSWORD Registered Dynamic Domain Name: SAMPLEHOSTNAME.3322.org

3322.org Updating Methods typical url: http://www.3322.org/dyndns/update?system=dyndns&hostname=SAMPLEHOSTNAME.3322.org


option string, using a chinese ip_server

using dyndns@dyndns.org " --dyndns_server_name www.3322.org --dyndns_server_url /dyndns/update? --ip_server_name www.bliao.com:2000 /ip.phtml "

using custom@http_svr_basic_auth: " --dyndns_server_name www.3322.org --dyndns_server_url /dyndns/update?hostname= --ip_server_name www.bliao.com:2000 /ip.phtml "