Ddclient

From SME Server
Revision as of 14:21, 10 July 2015 by Stephdl (talk | contribs) (→‎Debug)
Jump to navigationJump to search


Version

Devel 10:
Contrib 10:
Contrib 9:
smeserver-ddclient
The latest version of smeserver-ddclient is available in the SME repository, click on the version number(s) for more information.






ddclient - DNS record updating

Use this contrib when you have a sme server connected to a ISP service using a dynamic IP, and you wish to host multiple domains.

ddclient is a client for updating dynamic DNS entries for domains hosted at different DNS providers.

Configure your dynamic host domains via the ddclient server manager panel.

ddclient can be used on servers configured in server gateway mode or in server only mode.

Smecontribs repository version

Maintainer

Stéphane de Labrusse AKA Stephdl

This contrib is the official and maintained version for SME Server 8, some Free or paid services of dynamic dns had been incorporated to the contribs.

Installation

[edit]
yum install --enablerepo=smecontribs smeserver-ddclient

then

signal-event ddclient

or

signal-event post-upgrade; signal-event reboot
yum install --enablerepo=smecontribs smeserver-ddclient

then

signal-event ddclient

or

signal-event post-upgrade; signal-event reboot


A new panel will be added to the server manager.

Use this panel to configure domain records you wish to keep updated with your dynamic IP using the ddclient contrib

How to use

First you need to create a domain in the server-manager (domains panel) which must match the domain you set with your dynamic dns provider.

For example if the domain you made at DTdns is :

home.dtdns.net 

You have to create a relevant domain with this name.

Then go to the panel of "Dynamic clients", choose the domain you made then set your dynamic DNS provider eg (dtdns) and associated credentials to that provider.

DB settings

  • There are some of the services that you can use to detect your external ip
  • ip.changeip.com
  • ipdetect.dnspark.com
  • checkip.dyndns.org:8245
  • checkip.dyndns.org

If you want to change the service which verifies your external ip you can do :

config setprop ddclient urlcheckip ip.changeip.com
signal-event ddclient
  • Every 300s the contrib perform a check to verify if your ip has been changed to http://checkip.dyndns.org/. you can change the interval of the deamon update by a db command (by default it is 300 seconds). It seems that the minimum accepted is 60s. Possibly you could be blacklisted by providers if you decrease the time-out under of 300s.
config setprop ddclient DeamonUpdate 60
signal-event ddclient
  • use SSL

since ddclient 3.7.0 you can encrypt transactions to avoid clear messages. by default forced to yes

config setprop ddclient SSL yes

or

config setprop ddclient SSL no

then

signal-event ddclient
  • full db ddclient
# config show ddclient  
ddclient=service
   DeamonUpdate=300
   SSL=yes
   status=enabled
   urlcheckip=checkip.dyndns.org

Providers available

Here the official wiki

  • Dyndns.org
  • ZoneEdit.com
  • Easydns.com
  • Hammernode (hn.org)
  • dslreports.com
  • eurodyndns.org
  • Dtdns.com
  • loopia.se
  • dnspark.com
  • Dynhost (ovh.com)
  • Noip.com
  • Changeip.com
  • Namecheap

If your dynamic dns provider is not available in smeserver-ddclient, please raise a bug and provide the settings for your provider with ddclient (search for settings with google).

Removal

yum remove smeserver-ddclient
signal-event post-upgrade; signal-event reboot

Debug

Important.png Note:
Even with the lower value acceptable (60s) it needs between 60 to 180s to see change in dns record.


  • You can keep an eye on log
watch 'cat /var/log/messages|grep SUCCESS'
  • You can supervise dns record
watch 'dig any your_dynamic_dns_host.xxx @dns_server_of_your_dynamic_dns_provider'
  • If you want to know the dns servers of your dynamic provider, do
dig any your_dynamic_dns_host.xxx

and look about hosts in NS columns.

  • If stuff goes bad you can debug and see what is happening to the deamon
ddclient -daemon=0 -debug -verbose -noquiet

and report please

  • keep an eye on the ddclient cache
less /var/cache/ddclient/ddclient.cache

Bugs

Please raise bugs under the SME-Contribs section in bugzilla and select the smeserver-ddclient component or use this link .

smeserver.free.fr version

Important.png Note:
This contribs is no longer maintained and may be unstable or broke your system


Warning.png Warning:
When you have the smeserver.free.fr sme7-ddclient contrib installed and you run yum upgrade with the smecontribs repository enabled on your server, watch out! There is a smeserver-ddclient package that will get installed as an upgrade and this conflicts with the sme7-ddclient package ! Remove the sme7-ddclient first, see instructions below.


Note: This RPM works with SME 8 or SME 7

The smeserver.free.fr site appears to be defunct (since at least April 2012), so this article provides a link to the contrib at another external file download site.

This contrib has some additional features like the ability to select the method on how the detect the external IP address and the ability to publish arbitrary domain names (i.e. not just the ones that are on your server).

Installation

Download the latest rpm version from

http://www.files.com/shared/4f89e32b9c187/sme7-ddclient-3.7.3-7.noarch.zip

to an empty folder eg /tmp and unzip the file

unzip sme7-ddclient*

The currently available rpm is:

sme7-ddclient-3.7.3-7.noarch.rpm

Then cd to that folder and install the rpm (change the rpm name in the following command to match the latest available version)

cd /tmp
yum localinstall sme7-ddclient*.rpm

Removal

yum remove sme7-ddclient
signal-event post-upgrade;signal-event reboot

Using SME default dynamic client & external DNS CNAME entries

In many cases, you really do not need to use ddclient or some variation of it eg sme7-ddclient or smeserver-ddclient

You can use the built in dynamic client for your main domain (accessible by running Configure this server from the admin console).

Then create CNAME entries in external DNS records which point at the main domain name.

SME will update the main domain name/dynamicIP change, and the additional domains will follow it as the external IP changes.

The use of this method is only possible where the full DNS records are accessible & editable by admin users.

In some situations with DNS service providers, these DNS records are not accessible, in that case you will need to use one of the ddclient methods.

Also see http://bugs.contribs.org/show_bug.cgi?id=6206#c9 which says:

"I notice that you mention two dyndns domains, but you should be able to set up domain2.x.y to be a CNAME for domain1.x.y, then configure domain1.x.y with the builtin client."