Difference between revisions of "Dynamic DNS"

From ArchWiki
Jump to: navigation, search
m (ddclient)
(13 intermediate revisions by 9 users not shown)
Line 1: Line 1:
[[Category:Networking]]
+
[[Category:Domain Name System]]
{{i18n|Ddns}}
+
 
+
 
{{Article summary start|Summary}}
 
{{Article summary start|Summary}}
{{Article summary text|Setting up Dynamic DNS for Homeservers}}
+
{{Article summary text|Updating Dynamic DNS}}
 
{{Article summary end}}
 
{{Article summary end}}
  
'''DDNS, Dynamic DNS or DynDNS''' is a service which offers operators of homeservers the possibility to have an URL which does not change when the provider changes the servers public IP-Address.
+
'''Dynamic DNS''' or '''DDNS''' is a method of updating, in real time, a [[DNS]] to point to a changing IP address on the Internet. This is used to provide a persistent domain name for a resource that may change location on the network.
  
==Router or Server?==
+
==Router==
Most (home) routers offer connecting to different DDNS Services. But the offered lists are limited to serveal services which are most likely not free. If the Router supports a free service, or you are willing to pay or donate for a service, you should do this, it is faster and more reliable.
+
Many routers have built in DDNS Services but can be limited in the services which they update. If the Router supports a the service, or you are willing to pay or donate for a service, you should do this, it is faster and more reliable.
 
In that case, there is no need to use a softwareside solution.
 
In that case, there is no need to use a softwareside solution.
  
{{Warning|You should definetly set up NAT on your router or a firewall on your PC and do everything to secure your network and computers.}}
+
==Software Dynamic DNS==
 +
=== Afraid ===
 +
[http://FreeDNS.afraid.org FreeDNS.afraid.org] is a free Service which is easy and uncomplicated to set up.  
 +
 
 +
There are several options to enable automatic DDNS updating for this provider:
 +
 
 +
==== afraid-dyndns ====
 +
The package {{AUR|afraid-dyndns-uv}} is available in the [[AUR]].
 +
 
 +
==== ddclient ====
 +
 
 +
The package {{Pkg|ddclient}} is available in the [[AUR]]. It includes [[systemd]] support. Unfortunately, it seems to generate broken update URLs for freedns: http://ddclient.tisnix.be/ticket/58
 +
 
 +
An example config file looks like this:
 +
 
 +
daemon=600
 +
cache=/tmp/ddclient.cache
 +
syslog=yes
 +
 +
use=web, web=checkip.dyndns.com/, web-skip='IP Address'
 +
 +
ssl=yes
 +
 +
## Configuration variables applicable to the 'freedns' protocol are:
 +
#  protocol=freedns            ##
 +
#  server=fqdn.of.service      ## defaults to freedns.afraid.org
 +
#  login=service-login          ## login name and password registered with the service
 +
#  password=service-password    ##
 +
#  fully.qualified.host        ## the host registered with the service.
 +
#
 +
protocol=freedns,                                            \
 +
login=my-freedns.afraid.org-login,                            \
 +
password=my-freedns.afraid.org-password                      \
 +
myhost.afraid.org
 +
 
 +
To enable the [[systemd]] service:
  
==Setting up DDNS==
+
systemctl enable ddclient
===Service===
+
[http://FreeDNS.afraid.org FreeDNS.afraid.org] is a free Service which is easy and uncomplicated to set up.<br>
+
  
===Software===
+
==== cron ====
After Singing-Up there, install {{AUR|afraid-dyndns-uv}}, available in the [[Arch User Repository]], it updates the IP.
+
{{Note|Besides {{Pkg|perl}}, it depends on {{Pkg|perl-libwww}} and {{Pkg|perl-xml-simple}} available in the [[Official Repositories]].}}
+
  
===Configuration===
+
Another option is to:
After building and installing the package, configuration of {{ic|/usr/bin/afraid-dyndns-uv}} (which is a perl script) is nessecary.
+
* goto [http://freedns.afraid.org/dynamic/index.php Dynamic DNS] page on freedns.afraid.org
 +
* add A record and select your prefered domain name
 +
* copy link under '''Direct URL''', it will be something like "<nowiki>http://freedns.afraid.org/dynamic/update.php?ZRRJZ...................bzo4Njc1M4DA</nowiki>"
 +
* use '''crontab -e''' to enter new schedulled command:
 +
*/10 * * * * curl -ks http://freedns.afraid.org/dynamic/update.php?ZRRJZ...................bzo4Njc1M4DA > /dev/null
  
Locate the Lines
+
=== DynDNS ===
{{bc|1=
+
[http://dyn.com/dns/ DynDNS] is another Dynamic DNS service.  
$afraid = "http://freedns.afraid.org/api/?action=getdyndns&sha=%s&style=xml";
+
$CACHEDIR = "/var/cache/afraid-dyndns/IP"; # set cache directory
+
$HASH = "<your_hash>"; # account hash for authentication
+
}}
+
Get the Hashcode:
+
*Visit [http://freedns.afraid.org/api/ http://freedns.afraid.org/api/] and log in.
+
*Copy the shasum from the URL which points to the XML or ASCII API
+
*Replace "<your_hash>" in {{ic|/usr/bin/afraid-dyndns-uv}} with the shasum from the url
+
  
===Automatic Update===
+
DynDNS can be [[Pacman|installed]] with the package {{AUR|dyndns}}, available in the [[AUR]].
The last step is to add this line to your crontab:
+
{{bc|*,5 * * * * afraid-dyndns-uv}}
+
It will update the IP every 5 Minutes.
+

Revision as of 14:47, 16 February 2013

Template:Article summary start Template:Article summary text Template:Article summary end

Dynamic DNS or DDNS is a method of updating, in real time, a DNS to point to a changing IP address on the Internet. This is used to provide a persistent domain name for a resource that may change location on the network.

Router

Many routers have built in DDNS Services but can be limited in the services which they update. If the Router supports a the service, or you are willing to pay or donate for a service, you should do this, it is faster and more reliable. In that case, there is no need to use a softwareside solution.

Software Dynamic DNS

Afraid

FreeDNS.afraid.org is a free Service which is easy and uncomplicated to set up.

There are several options to enable automatic DDNS updating for this provider:

afraid-dyndns

The package afraid-dyndns-uvAUR is available in the AUR.

ddclient

The package ddclient is available in the AUR. It includes systemd support. Unfortunately, it seems to generate broken update URLs for freedns: http://ddclient.tisnix.be/ticket/58

An example config file looks like this:

daemon=600
cache=/tmp/ddclient.cache
syslog=yes

use=web, web=checkip.dyndns.com/, web-skip='IP Address'

ssl=yes

## Configuration variables applicable to the 'freedns' protocol are:
#  protocol=freedns             ##
#  server=fqdn.of.service       ## defaults to freedns.afraid.org
#  login=service-login          ## login name and password registered with the service
#  password=service-password    ##
#  fully.qualified.host         ## the host registered with the service.
#
protocol=freedns,                                             \
login=my-freedns.afraid.org-login,                            \
password=my-freedns.afraid.org-password                       \
myhost.afraid.org

To enable the systemd service:

systemctl enable ddclient

cron

Another option is to:

  • goto Dynamic DNS page on freedns.afraid.org
  • add A record and select your prefered domain name
  • copy link under Direct URL, it will be something like "http://freedns.afraid.org/dynamic/update.php?ZRRJZ...................bzo4Njc1M4DA"
  • use crontab -e to enter new schedulled command:
*/10 * * * * curl -ks http://freedns.afraid.org/dynamic/update.php?ZRRJZ...................bzo4Njc1M4DA > /dev/null

DynDNS

DynDNS is another Dynamic DNS service.

DynDNS can be installed with the package dyndnsAUR, available in the AUR.