Difference between revisions of "Ddclient"

From SME Server
Jump to navigationJump to search
 
(75 intermediate revisions by 6 users not shown)
Line 3: Line 3:
 
==Version==
 
==Version==
 
{{#smeversion:smeserver-ddclient}}
 
{{#smeversion:smeserver-ddclient}}
 
<br>
 
<br>
 
<br>
 
<br>
 
  
 
== ddclient - DNS record updating ==
 
== ddclient - DNS record updating ==
Line 23: Line 18:
 
[mailto:stephdl@de-labrusse.fr Stéphane de Labrusse] AKA [[User:Stephdl|Stephdl]]
 
[mailto:stephdl@de-labrusse.fr Stéphane de Labrusse] AKA [[User:Stephdl|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.  
+
and for SME10 [mailto:brianr@koozali.org Brian Read] AKA [[User:brianr|brianr]]
 +
 
 +
This contrib is the official and maintained version for SME Server 8,9 and 10. Note that some free and paid dynamic dns services have been incorporated into the contrib.
 +
 
 +
Also note that ddclient is maintained on github [https://github.com/ddclient/ddclient here] and the full help manual page is [https://wiki.koozali.org/Ddclient-help here].
 +
 
 
====Installation====
 
====Installation====
 +
<tabs container><tab name="For SME 10">
 +
yum install --enablerepo=smecontribs smeserver-ddclient ddclient
  
 +
</tab>
 +
<tab name="For SME 9 and before">
 
  yum install --enablerepo=smecontribs smeserver-ddclient
 
  yum install --enablerepo=smecontribs smeserver-ddclient
 
 
then  
 
then  
 
  signal-event ddclient
 
  signal-event ddclient
 
or
 
or
  signal-event post-upgrade and reboot commands.
+
  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====
 
You need to create in first a domain in the server-maner (panel of domains) which must match the domain you set with your provider of dynamic dns.
 
for example if the domain you make at DTdns is : home.dtdns.net then 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 and credentials associated.
 
 
 
Every 300s the contrib perform a check to verify if your ip has been changed to http://checkip.dyndns.org/. Do not try to decrease the time-out under of 300s else you could be blacklisted by providers
 
 
 
There are some services that you can use
 
 
 
* ip.changeip.com
 
* ipdetect.dnspark.com
 
* checkip.dyndns.org:8245
 
* checkip.dyndns.org
 
 
 
If you want to change the service which verify your external ip you can do :
 
  
config setprop ddclient urlcheckip ip.changeip.com
+
</tab>
signal-event ddclient
+
</tabs>
  
====Providers available====
 
* 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
 
  
If your provider of dynamic dns is not available in smeserver-ddclient, please raise {{BugzillaFileBug|product=SME%20Contribs|component=smeserver-transmission|title=a bug }}and provide workable settings of your provider with ddclient (make search with google).
 
  
====Removal====
+
There are panels for both the original Server manager (SM1), and the new Server Manager (SM2)
  
yum remove smeserver-ddclient
+
Use these panels to configure domain records you wish to keep updated with your dynamic IP using the ddclient contrib
signal-event post-upgrade; signal-event reboot
 
  
==== Bugs ====
+
{{Note box| As of Dec 2023 The original panel has not been updated to the latest options for ddclient, but the Server manager 2 panel has, see https://wiki.koozali.org/Server_Manager2 to install SM2. However the SM1 panel does work with the latest ddclient, but not all options are presented.}}
Please raise bugs under the SME-Contribs section in [http://bugs.contribs.org/enter_bug.cgi bugzilla] and select the smeserver-ddclient component or use {{BugzillaFileBug|product=SME%20Contribs|component=smeserver-ddclient|title=this link}}.
 
  
===smeserver.free.fr version===
+
====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.<br />
  
{{Note box|This contribs is no longer maintained and may be unstable or broke your system}}
+
For example if the domain you made was:
{{Warning box|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.}}
+
bjrtest.ddns.net
 +
You have to create a relevant domain with this name.
  
'''Note:  This RPM works with SME 8 or SME 7'''
+
Then go to the panel of "Dynamic clients", choose the domain you made then set your dynamic DNS provider and associated credentials to that provider.
  
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.
+
Alternatively you can use the "Custom" are on the Dynamic Clients panel to set the contrib up to update a dynamic DNS entry directly with out needing to have setup a domain.
  
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).
+
====DB settings====
 +
[[File:Screenshot from 2023-12-17 12-02-50.png|alt=|thumb|600x600px|Initial Panel|none]]
 +
[[File:Screenshot from 2023-12-17 12-26-20.png|Modify domain parameters panel|alt=|thumb|600x600px|none]]
  
====Installation====
+
Here is the
  
Download the latest rpm version from
+
equivalent DB entries for the screens:<syntaxhighlight lang="shell">
 +
[root@sme10 ~]# db configuration show ddclient
 +
ddclient=service
 +
    DeamonUpdate=360
 +
    Extinterface=eth1
 +
    ForceIP=
 +
    SSL=yes
 +
    cmd=
 +
    debug=disabled
 +
    fwlogin=
 +
    fwpassword=
 +
    method=web
 +
    quiet=enabled
 +
    status=enabled
 +
    syslog=enabled
 +
    urlcheckip=googledomains
 +
    verbose=disabled
 +
[root@sme10 ~]#
  
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
 
  
 +
</syntaxhighlight>if you change any of these parameters, then you must run the update event as follows:<syntaxhighlight>
 +
signal-event smeserver-ddclient-update
 +
</syntaxhighlight>
 
====Removal====
 
====Removal====
  yum remove sme7-ddclient
+
  yum remove smeserver-ddclient ddclient
  signal-event post-upgrade;signal-event reboot
+
  signal-event post-upgrade; signal-event reboot
  
===Using SME default dynamic client & external DNS CNAME entries===
+
====Debug====
 +
{{Note box|Even with the lower value acceptable (60s) it needs between 60 to 180s to see change in dns record.}}
  
In many cases, you really do not need to use ddclient or some variation of it eg sme7-ddclient or smeserver-ddclient
+
You can keep an eye on log
 +
watch 'cat /var/log/messages|grep SUCCESS'
  
You can use the built in dynamic client for your main domain (accessible by running Configure this server from the admin console).
+
* You can supervise dns record
 +
watch 'dig any your_dynamic_dns_host.xxx @dns_server_of_your_dynamic_dns_provider'
  
Then create CNAME entries in external DNS records which point at the main domain name.
+
* 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.
  
SME will update the main domain name/dynamicIP change, and the additional domains will follow it as the external IP changes.
+
* If stuff goes bad you can debug and see what is happening to the daemon
 +
db configuration setprop debug enabled;
 +
db configuration setprop verbose enabled;
 +
db configuration quiet disabled;
 +
signal-event smeserver-ddclient-update
 +
and report please
  
The use of this method is only possible where the full DNS records are accessible & editable by admin users.
+
* keep an eye on the ddclient cache
 +
less /var/cache/ddclient/ddclient.cache
  
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.
+
==== Bugs ====
 +
Please raise bugs under the SME-Contribs section in [http://bugs.contribs.org/enter_bug.cgi bugzilla] and select the smeserver-ddclient component or use {{BugzillaFileBug|product=SME%20Contribs|component=smeserver-ddclient|title=this link}}.
  
Also see http://bugs.contribs.org/show_bug.cgi?id=6206#c9 which says:
+
{{#bugzilla:columns=id,product,version,status,summary |sort=id |order=desc |component=smeserver-ddclient |noresultsmessage="No open bugs found."}}
 +
===Changelog===
 +
Only released version in smecontrib are listed here.
  
"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."
+
{{ #smechangelog: smeserver-ddclient }}
  
  

Latest revision as of 14:58, 18 December 2023


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

and for SME10 Brian Read AKA brianr

This contrib is the official and maintained version for SME Server 8,9 and 10. Note that some free and paid dynamic dns services have been incorporated into the contrib.

Also note that ddclient is maintained on github here and the full help manual page is here.

Installation

yum install --enablerepo=smecontribs smeserver-ddclient ddclient
yum install --enablerepo=smecontribs smeserver-ddclient

then

signal-event ddclient

or

signal-event post-upgrade; signal-event reboot


There are panels for both the original Server manager (SM1), and the new Server Manager (SM2)

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


Important.png Note:
As of Dec 2023 The original panel has not been updated to the latest options for ddclient, but the Server manager 2 panel has, see https://wiki.koozali.org/Server_Manager2 to install SM2. However the SM1 panel does work with the latest ddclient, but not all options are presented.


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 was:

bjrtest.ddns.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 and associated credentials to that provider.

Alternatively you can use the "Custom" are on the Dynamic Clients panel to set the contrib up to update a dynamic DNS entry directly with out needing to have setup a domain.

DB settings

Initial Panel
Modify domain parameters panel

Here is the

equivalent DB entries for the screens:

[root@sme10 ~]# db configuration show ddclient
ddclient=service
    DeamonUpdate=360
    Extinterface=eth1
    ForceIP=
    SSL=yes
    cmd=
    debug=disabled
    fwlogin=
    fwpassword=
    method=web
    quiet=enabled
    status=enabled
    syslog=enabled
    urlcheckip=googledomains
    verbose=disabled
[root@sme10 ~]#

if you change any of these parameters, then you must run the update event as follows:

signal-event smeserver-ddclient-update

Removal

yum remove smeserver-ddclient 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 daemon
db configuration setprop debug enabled; 
db configuration setprop verbose enabled; 
db configuration quiet disabled; 
signal-event smeserver-ddclient-update

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 .

IDProductVersionStatusSummary (9 tasks)
12778SME Contribs11.0CONFIRMEDperl-CGI 'startform' and 'endform' are dropped in favor of 'start_form' and 'end_form'
12676SME Contribs10.0RESOLVEDwhen using pppoe 2nd instance of ddclient running as root
12675SME Contribs10.0RESOLVEDddclient still using old interface after console reconfigure
12600SME Contribs10.0RESOLVEDold manager free form domain table not localised
12599SME Contribs10.0CONFIRMEDddclient[3019]: Scalar value @total_payload{$ipv} better written as $total_payload{$ipv} at /usr/sbin/ddclient line 4120.
12598SME Contribs10.0RESOLVEDWARNING: file /etc/ddclient/ddclient.conf, line 50: Invalid Value for keyword 'protocol' = 'DYNHOST'
12448SME Contribs10.0CONFIRMEDCreate action script on conf file expansion to delete contents of the cache
12311SME Contribs10.0CONFIRMEDConfiguration DB option for getting IP does not work
12240SME Contribs10.0CONFIRMEDUpgrade Server manager to incorporate ddclient 3.10 new options.

Changelog

Only released version in smecontrib are listed here.

smeserver-ddclient Changelog: SME 10 (smecontribs)
2024/03/01 Brian Read 1.3.0-29.sme
- Edit Menu entry to conform to new arrangements [SME: 12493]

2023/11/10 Brian Read 1.3.0-28.sme
- Update template for deprecated commands and v3.11.1 ddclient [SME: 12427]

- Update SM2 code to show all new protocols etc
2023/11/08 Brian Read 1.3.0-27.sme
- Alter require to greater than or equal to 3.11.1 [SME: 12425]
2023/02/13 Brian Read 1.3.0-26.sme
- Remove 3.10 as a requirement in spec

2023/01/25 Brian Read 1.3.0-25.sme
- Remove the ddc_ from the front of the (translateble) messages [SME: 12217]

- Update Template files for changes in conf format and contents for 3.10.0