Differences

This shows you the differences between two versions of the page.

doc:howto:ddns.client [2014/02/14 11:09]
nabilion
doc:howto:ddns.client [2014/08/21 10:11] (current)
bkozma freedns: username field is necessary
Line 18: Line 18:
Here is a list of suggested DDNS providers. Here is a list of suggested DDNS providers.
-  * http://dyndns.org   :!: needs credit card number, even for "Trial" Account.  Free (with no credit card) if user donated back in 1998-2001. +  * http://freedns.afraid.org :!: free 
-  * http://changeip.com :!: dynamic dns is free +  * http://noip.com :!: free 
-  * http://zoneedit.com :!: non-free +  * http://changeip.com :!: free 
-  * http://no-ip.com    still free =) +  * http://duckdns.org :!: free - generated config on site 
-  * http://freedns.afraid.org +  * http://system-ns.com :!: free 
-  * http://dnsdynamic.org +  * https://dns.he.net/ :!: free - if you have your own domain name, [[doc/howto/ddns.client/hurricaneelectricfreedns]]
-  * http://dyndns.fr +  * http://dnsdynamic.org  :!: free 
-  * http://dyndnspro.com +  * http://zoneedit.com :!: non-free (dns update by https required, curl needed. See [[http://wiki.openwrt.org/doc/howto/ddns.client#ssl.support|SSL support]].
-  * http://dynamicdomain.net +  * http://dyndns.org :!: non-free except if you donated in 1998-2001. 30-day free trial needs credit card number. 
-  * http://duckdns.org  free - generated config on site =) +  * http://dyndns.fr :!: non-free
-  * http://system-ns.com free +
-  * https://dns.he.net/ free - if you have your own domain name, [[doc/howto/ddns.client/hurricaneelectricfreedns]].+
  * Any other service that can update when some URL is accessed.  The script is quite versatile.   * Any other service that can update when some URL is accessed.  The script is quite versatile.
Line 46: Line 44:
Installing the package ''luci-app-ddns'' will automatically install the package ''ddns-scripts'', which contains the scripts that actually update the dynamic DNS name (see below). Installing the package ''luci-app-ddns'' will automatically install the package ''ddns-scripts'', which contains the scripts that actually update the dynamic DNS name (see below).
-After ''luci-app-ddns'' is installed, just press any other link on the Openwrt LuCI WebUI, and the page will refresh itself and Dynamic DNS will appear under Services > Dynamic DNS. If those tabs don't show up, reboot the router.+After ''luci-app-ddns'' is installed, just press any other link on the Openwrt LuCI WebUI, and the page will refresh itself and Dynamic DNS will appear under Services > Dynamic DNS. If those tabs don't show up, run ''/etc/init.d/uhttpd restart'' or reboot the router.
==== Step 2: Configuration ==== ==== Step 2: Configuration ====
Line 72: Line 70:
=== Further details === === Further details ===
  * freedns.afraid.org specific settings:   * freedns.afraid.org specific settings:
-    * leave the username field empty. 
    * put the authorisation token from the update url (the part after http://freedns.afraid.org/dynamic/update.php?) in the password field.     * put the authorisation token from the update url (the part after http://freedns.afraid.org/dynamic/update.php?) in the password field.
    * DO enter the host into the Hostname field. Although it is not used for the update, it //is// used to check the host's current IP address (via ''nslookup'').     * DO enter the host into the Hostname field. Although it is not used for the update, it //is// used to check the host's current IP address (via ''nslookup'').
Line 183: Line 180:
root@OpenWrt:~# uci commit ddns root@OpenWrt:~# uci commit ddns
</code> </code>
- 
-=== Configuration example for noip.com === 
- 
-An example for **noip.com** service that updates via pinging web url: 
-<code> 
-config  service "myddns" 
- option enabled          "1" 
- option interface        "wan" 
- option service_name    "no-ip.com" 
- option force_interval  "72" 
- option force_unit      "hours" 
- option check_interval  "10" 
- option check_unit      "minutes" 
- option username        "USERNAME" 
- option password        "PASSWORD" 
- option ip_source        "web" 
- option ip_url          "http://[USERNAME]:[PASSWORD]@dynupdate.no-ip.com/nic/update?hostname=[DOMAIN]&myip=[IP]" 
- option domain          "DOMAIN.no-ip.org" 
-</code> 
- 
-=== Configuration example for dyndns.fr  === 
- 
- **dyndns.fr** service that updates via pinging web url: 
-<code> 
-config  service "myddns" 
- option enabled          "1" 
- option interface        "wan" 
- option service_name    "dyndns.fr" 
- option force_interval  "72" 
- option force_unit      "hours" 
- option check_interval  "10" 
- option check_unit      "minutes" 
- option username        "USERNAME" 
- option password        "PASSWORD" 
- option ip_source        "web" 
- option ip_url          "http://[DOMAIN]:[PASSWORD]@dyndns.dyndns.fr/update.php?hostname=[DOMAIN]&myip=[IP]" 
- option domain          "DOMAIN.dyndns.fr" 
-</code> 
-=== Configuration example for dyndnspro.com  === 
- 
- **dyndnspro.com** service that updates via pinging web url: 
-<code> 
-config  service "myddns" 
- option enabled          "1" 
- option interface        "wan" 
- option service_name    "dyndnspro.com" 
- option force_interval  "72" 
- option force_unit      "hours" 
- option check_interval  "10" 
- option check_unit      "minutes" 
- option username        "USERNAME" 
- option password        "PASSWORD" 
- option ip_source        "web" 
- option ip_url          "http://[DOMAIN]:[PASSWORD]@dyndns.dyndnspro.com/update.php?hostname=[DOMAIN]&myip=[IP]" 
- option domain          "DOMAIN.dyndnspro.com" 
-</code> 
- 
-=== Configuration example for dynamicdomain.net  === 
- 
- **dynamicdomain.net** service that updates via pinging web url: 
-<code> 
-config  service "myddns" 
- option enabled          "1" 
- option interface        "wan" 
- option service_name    "dynamicdomain.net" 
- option force_interval  "72" 
- option force_unit      "hours" 
- option check_interval  "10" 
- option check_unit      "minutes" 
- option username        "USERNAME" 
- option password        "PASSWORD" 
- option ip_source        "web" 
- option ip_url          "http://[DOMAIN]:[PASSWORD]@dyndns.dynamicdomain.net/update.php?hostname=[DOMAIN]&myip=[IP]" 
- option domain          "DOMAIN.dynamicdomain.net" 
-</code> 
- 
=== Configuration for duckdns.org === === Configuration for duckdns.org ===
-**As of 2013 this is now a completely free Dynamic DNS provider.** 
== Add Duck DNS to ''services'' == == Add Duck DNS to ''services'' ==
The reason you want to add Duck DNS to the ''services'' file is because this will allow you to configure other ddns services if needed, and it allows for proper https usage with ''curl''. The reason you want to add Duck DNS to the ''services'' file is because this will allow you to configure other ddns services if needed, and it allows for proper https usage with ''curl''.
Line 333: Line 253:
</code> </code>
-Note that with the namecheap protocol, the ''username'' option is translated to the ''host'' argument in the update request.  Therefore, it should be the hostname on the DNS record, **not** the username that you use to log into the namecheap.com site.  In this example, the script will update the '@' (full domain) DNS A-record.  To update a subdomain A-record, enter the name of the subdomain instead.  To get your password, log into the namecheap.com site, enter the management console for the domain, and click the ''Dynamic DNS'' menu option.+Note that with the namecheap protocol, the ''username'' option is translated to the ''host'' argument in the update request.  Therefore, it should be the hostname on the DNS record, **not** the username that you use to log into the namecheap.com site.  In this example, the script will update the '@' (full domain) DNS A-record.  To update a subdomain A-record, enter the name of the subdomain instead.  To get your password, log into the namecheap.com site, enter the management console for the domain, and click the ''Dynamic DNS'' menu option.  
 + 
 +Make a record for each subdomain.  Using Luci, enter a label for the subdomain into the Add field (near lower left of page)and click the (+), or hand edit the /etc/config/ddns file and add a new stanza.   
 + 
 +Example /etc/config/ddns records to update two subdomains at namecheap: 
 +<code> 
 +config service 'myddns' 
 +        option interface 'wan' 
 +        option force_unit 'hours' 
 +        option check_interval '20' 
 +        option check_unit 'minutes' 
 +        option retry_interval '60' 
 +        option retry_unit 'seconds' 
 +        option password 'YourNamecheapDDNSpassword' 
 +        option enabled '1' 
 +        option ip_source 'interface' 
 +        option ip_interface 'pppoe-wan' 
 +        option service_name 'namecheap.com' 
 +        option force_interval '72' 
 +        option domain 'Your.Domain' 
 +        option username 'www' 
 + 
 +config service 'mail' 
 +        option interface 'wan' 
 +        option force_unit 'hours' 
 +        option check_interval '20' 
 +        option check_unit 'minutes' 
 +        option retry_interval '60' 
 +        option retry_unit 'seconds' 
 +        option password 'YourNamecheapDDNSpassword' 
 +        option enabled '1' 
 +        option ip_source 'interface' 
 +        option ip_interface 'pppoe-wan' 
 +        option service_name 'namecheap.com' 
 +        option force_interval '24' 
 +        option domain 'Your.Domain' 
 +        option username 'mail' 
 + 
 +</code> 
 + 
 +You can hand test the records for 'www' and 'mail', labeled 'myddns' and 'mail' with: 
 +<code> 
 +/usr/lib/ddns/dynamic_dns_updater.sh myddns 
 +/usr/lib/ddns/dynamic_dns_updater.sh mail 
 +</code> 
 + 
 +Look at the return XML and see that the Error Count is 0 to validate a successful update. Check each record, one at a time. Use <Ctrl-C> to kill the test daemons. 
===== Manually starting ddns-scripts ===== ===== Manually starting ddns-scripts =====
Line 359: Line 326:
  * Verify the ddns-scripts interface monitor script is running   * Verify the ddns-scripts interface monitor script is running
-    * One instance of this script should be running for each ddns-scripts configuration defined+  * One instance of this script should be running for each ddns-scripts configuration defined
<code> <code>

Back to top

doc/howto/ddns.client.1392372546.txt.bz2 · Last modified: 2014/02/14 11:09 by nabilion