Changes

From SME Server
Jump to navigationJump to search
8,309 bytes removed ,  15:58, 18 December 2023
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,9 and 10 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
   −
= For SME8 =
+
</tab>
yum install --enablerepo=smecontribs smeserver-ddclient
+
<tab name="For SME 9 and before">
then
  −
signal-event ddclient
  −
or
  −
signal-event post-upgrade; signal-event reboot
  −
 
  −
= For SME9 =
   
  yum install --enablerepo=smecontribs smeserver-ddclient
 
  yum install --enablerepo=smecontribs smeserver-ddclient
 
then  
 
then  
Line 40: Line 36:  
  signal-event post-upgrade; signal-event reboot
 
  signal-event post-upgrade; signal-event reboot
   −
= For SME10 =
+
</tab>
yum install --enablerepo=smecontribs smeserver-ddclient ddclient
+
</tabs>
then
  −
signal-event smeserver-ddclient-update
  −
or
  −
signal-event post-upgrade; signal-event reboot
  −
 
     −
<headertabs/>
         +
There are panels for both the original Server manager (SM1), and the new Server Manager (SM2)
   −
A new panel will be added to the server manager.
+
Use these panels to configure domain records you wish to keep updated with your dynamic IP using the ddclient contrib
   −
Use this panel to configure domain records you wish to keep updated with your dynamic IP using the ddclient contrib
+
{{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.}}
    
====How to use====
 
====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 />
 
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 />
   −
For example if the domain you made at DTdns is :  
+
For example if the domain you made was:  
  home.dtdns.net  
+
  bjrtest.ddns.net
 
You have to create a relevant domain with this name.
 
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.
+
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====
 
====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]]
   −
*There are some of the services that you can use to detect your external ip
+
Here is the  
 
  −
:* ip.changeip.com
  −
:* ipdetect.dnspark.com
  −
:* checkip.dyndns.org:8245
  −
:* checkip.dyndns.org
  −
:* checkip.amazonaws.com
  −
 
  −
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
+
equivalent DB entries for the screens:<syntaxhighlight lang="shell">
ddclient=service
+
[root@sme10 ~]# db configuration show ddclient
     DeamonUpdate=1800
+
ddclient=service
     Extinterface=
+
     DeamonUpdate=360
 +
     Extinterface=eth1
 
     ForceIP=
 
     ForceIP=
 
     SSL=yes
 
     SSL=yes
 
     cmd=
 
     cmd=
     debug=enabled
+
     debug=disabled
 +
    fwlogin=
 +
    fwpassword=
 
     method=web
 
     method=web
     quiet=disabled
+
     quiet=enabled
 
     status=enabled
 
     status=enabled
 
     syslog=enabled
 
     syslog=enabled
     urlcheckip=https://checkip.amazonaws.com/
+
     urlcheckip=googledomains
     verbose=enabled
+
     verbose=disabled
 
+
[root@sme10 ~]#
 
  −
* method
  −
this will allow you to set the way you retrieve the new IP. By default this use the web request to an external url, which you can set. THis would work for all server, even if not gateway. However you can get many timeout depending of the website you try to reach to get the IP.
  −
 
  −
available methods :
  −
** smeIF : will get IP from external interface. BEST choice if your SME act as gateway.
  −
** smeCMD : will get the IP from the configuration DB : /sbin/e-smith/db configuration getprop ExternalInterface IPAddress
  −
** web : will get the ip from webpage at the URL in property 'urlcheckip' and use the filter from property 'webskip'
  −
** if : will get the IP from the network interface which name is in property 'Extinterface'
  −
** ip : will manually force the ip in property 'ForceIP'
  −
** cmd : will call the script in property 'cmd' and use the filter in the property 'cmdskip' to get the IP
  −
** 'CUSTOM' : replace CUSTOM by one of the accepted value of the ddclient command for use option. Yo also have to fill the property 'fwaddress' which is the gateway address, and could also fill the properties 'fwlogin', 'fwpassword' and 'fwskip'
     −
    -use=2wire                  : obtain IP from 2Wire 1701HG Gateway at the -fw {address}.
  −
    -use=3com-3c886a            : obtain IP from 3com 3c886a 56k Lan Modem at the -fw {address}.
  −
    -use=3com-oc-remote812      : obtain IP from 3com OfficeConnect Remote 812 at the -fw {address}.
  −
    -use=alcatel-510            : obtain IP from Alcatel Speed Touch 510 at the -fw {address}.
  −
    -use=alcatel-stp            : obtain IP from Alcatel Speed Touch Pro at the -fw {address}.
  −
    -use=allnet-1298            : obtain IP from Allnet 1298 at the -fw {address}.
  −
    -use=cayman-3220h          : obtain IP from Cayman 3220-H DSL at the -fw {address}.
  −
    -use=cisco                  : obtain IP from Cisco FW at the -fw {address}.
  −
    -use=cisco-asa              : obtain IP from Cisco ASA at the -fw {address}.
  −
    -use=dlink-524              : obtain IP from D-Link DI-524 at the -fw {address}.
  −
    -use=dlink-604              : obtain IP from D-Link DI-604 at the -fw {address}.
  −
    -use=dlink-614              : obtain IP from D-Link DI-614+ at the -fw {address}.
  −
    -use=e-tech                : obtain IP from E-tech Router at the -fw {address}.
  −
    -use=elsa-lancom-dsl10      : obtain IP from ELSA LanCom DSL/10 DSL FW at the -fw {address}.
  −
    -use=elsa-lancom-dsl10-ch01 : obtain IP from ELSA LanCom DSL/10 DSL FW (isdn ch01) at the -fw {address}.
  −
    -use=elsa-lancom-dsl10-ch02 : obtain IP from ELSA LanCom DSL/10 DSL FW (isdn ch01) at the -fw {address}.
  −
    -use=linksys                : obtain IP from Linksys FW at the -fw {address}.
  −
    -use=linksys-rv042-wan1    : obtain IP from Linksys RV042 Dual Homed Router WAN Port 2 at the -fw {address}.
  −
    -use=linksys-rv042-wan2    : obtain IP from Linksys RV042 Dual Homed Router WAN Port 2 at the -fw {address}.
  −
    -use=linksys-ver2          : obtain IP from Linksys FW version 2 at the -fw {address}.
  −
    -use=linksys-ver3          : obtain IP from Linksys FW version 3 at the -fw {address}.
  −
    -use=linksys-wcg200        : obtain IP from Linksys WCG200 FW at the -fw {address}.
  −
    -use=linksys-wrt854g        : obtain IP from Linksys WRT854G FW at the -fw {address}.
  −
    -use=maxgate-ugate3x00      : obtain IP from MaxGate UGATE-3x00 FW at the -fw {address}.
  −
    -use=netcomm-nb3            : obtain IP from NetComm NB3 at the -fw {address}.
  −
    -use=netgear-dg834g        : obtain IP from netgear-dg834g at the -fw {address}.
  −
    -use=netgear-rp614          : obtain IP from Netgear RP614 FW at the -fw {address}.
  −
    -use=netgear-rt3xx          : obtain IP from Netgear FW at the -fw {address}.
  −
    -use=netgear-wgt624        : obtain IP from Netgear WGT624 at the -fw {address}.
  −
    -use=netgear-wpn824        : obtain IP from Netgear WPN824 FW at the -fw {address}.
  −
    -use=netopia-r910          : obtain IP from Netopia R910 FW at the -fw {address}.
  −
    -use=olitec-SX200          : obtain IP from olitec-SX200 at the -fw {address}.
  −
    -use=rtp300                : obtain IP from Linksys RTP300 at the -fw {address}.
  −
    -use=sitecom-dc202          : obtain IP from Sitecom DC-202 FW at the -fw {address}.
  −
    -use=smc-barricade          : obtain IP from SMC Barricade FW at the -fw {address}.
  −
    -use=smc-barricade-7004vbr  : obtain IP from SMC Barricade FW (7004VBR model config) at the -fw {address}.
  −
    -use=smc-barricade-7401bra  : obtain IP from SMC Barricade 7401BRA FW at the -fw {address}.
  −
    -use=smc-barricade-alt      : obtain IP from SMC Barricade FW (alternate config) at the -fw {address}.
  −
    -use=sohoware-nbg800        : obtain IP from SOHOWare BroadGuard NBG800 at the -fw {address}.
  −
    -use=sveasoft              : obtain IP from Sveasoft WRT54G/WRT54GS at the -fw {address}.
  −
    -use=vigor-2200usb          : obtain IP from Vigor 2200 USB at the -fw {address}.
  −
    -use=watchguard-edge-x      : obtain IP from Watchguard Edge X FW at the -fw {address}.
  −
    -use=watchguard-soho        : obtain IP from Watchguard SOHO FW at the -fw {address}.
  −
    -use=westell-6100          : obtain IP from Westell C90-610015-06 DSL Router at the -fw {address}.
  −
    -use=xsense-aero            : obtain IP from Xsense Aero at the -fw {address}.
  −
  −
  −
====Providers available====
  −
Here the official [http://sourceforge.net/p/ddclient/wiki/protocols/ 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 {{BugzillaFileBug|product=SME%20Contribs|component=smeserver-ddclient|title=a bug }}and provide the  settings for your provider with ddclient (search for settings with google).
      +
</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 smeserver-ddclient ddclient
  yum remove smeserver-ddclient
   
  signal-event post-upgrade; signal-event reboot
 
  signal-event post-upgrade; signal-event reboot
   Line 195: Line 94:  
{{Note box|Even with the lower value acceptable (60s) it needs between 60 to 180s to see change in dns record.}}
 
{{Note box|Even with the lower value acceptable (60s) it needs between 60 to 180s to see change in dns record.}}
   −
For debug mode you may need per-JSON-Any
+
You can keep an eye on log
 
  −
To install that you will need the EPEL repo: https://wiki.contribs.org/Epel
  −
 
  −
Then
  −
yum --enablerepo=epel install perl-JSON-Any
  −
 
  −
* You can keep an eye on log
   
  watch 'cat /var/log/messages|grep SUCCESS'
 
  watch 'cat /var/log/messages|grep SUCCESS'
   Line 212: Line 104:  
and look about hosts in '''NS''' columns.
 
and look about hosts in '''NS''' columns.
   −
* If stuff goes bad you can debug and see what is happening to the deamon
+
* If stuff goes bad you can debug and see what is happening to the daemon
  ddclient -daemon=0 -debug -verbose -noquiet
+
db configuration setprop debug enabled;
 +
db configuration setprop verbose enabled;
 +
  db configuration quiet disabled;
 +
signal-event smeserver-ddclient-update
 
and report please
 
and report please
   Line 227: Line 122:     
{{ #smechangelog: smeserver-ddclient }}
 
{{ #smechangelog: smeserver-ddclient }}
  −
===smeserver.free.fr version===
  −
  −
{{Note box|This contribs is no longer maintained and may be unstable or broke your system}}
  −
{{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.}}
  −
  −
'''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."
       

Navigation menu