Duckdns not working

In Ipfire I set up a DDNS with duckdns.org using office-hq.duckdns.org
(please, office-hq is not real hostname)
IPfire is behind a router, so I used the option: “Guess the real public IP with the help of an external server”

In the panel the host name office-hq.duckdns.org is green.

In the log I find:
|19:31:29|ddns[16908]:|An update has not been performed because earlier updates failed for office-hq. duckdns.org|
|—|---|—|
|19:31:29|ddns[16908]:|Last failure message:|
|19:31:29|ddns[16908]:|DDNSUpdateError: The update could not be performed|
|19:31:29|ddns[16908]:|Further updates will be withheld until 2020-04-30 05:18:25.39535|

From console

[root@my-fw1 ~]# ddns -d update-all --force
Debugging mode enabled
Registered new provider: All-inkl.com (all-inkl.com)
Registered new provider: ChangeIP.com (changeip.com)
Registered new provider: DDNSS (ddnss.de)
Registered new provider: desec.io (desec.io)
Registered new provider: DHS International (dhs.org)
Registered new provider: Lightning Wire Labs DNS Service (dns.lightningwirelabs.com)
Registered new provider: DNSmadeEasy.com (dnsmadeeasy.com)
Registered new provider: DNS Park (dnspark.com)
Registered new provider: Domain-Offensive (do.de)
Registered new provider: Google Domains (domains.google.com)
Registered new provider: domopoli.de (domopoli.de)
Registered new provider: DtDNS (dtdns.com)
Registered new provider: Duck DNS (duckdns.org)
Registered new provider: dy.fi (dy.fi)
Registered new provider: Dyn (dyndns.org)
Registered new provider: DyNS (dyns.net)
Registered new provider: Dynu (dynu.com)
Registered new provider: DynUp.DE (dynup.de)
Registered new provider: EasyDNS (easydns.com)
Registered new provider: eNom Inc. (enom.com)
Registered new provider: EntryDNS (entrydns.net)
Registered new provider: freedns.afraid.org (freedns.afraid.org)
Registered new provider: INWX (inwx.com)
Registered new provider: it's DNS (itsdns.de)
Registered new provider: Joker.com Dynamic DNS (joker.com)
Registered new provider: dynamicdns.key-systems.net (key-systems.net)
Registered new provider: Loopia AB (loopia.se)
Registered new provider: myonlineportal.net (myonlineportal.net)
Registered new provider: Namecheap (namecheap.com)
Registered new provider: NoIP (no-ip.com)
Registered new provider: NOW-DNS (now-dns.com)
Registered new provider: BIND nsupdate utility (nsupdate)
Registered new provider: nsupdate.info (nsupdate.info)
Registered new provider: OpenDNS (opendns.com)
Registered new provider: OVH (ovh.com)
Registered new provider: Regfish GmbH (regfish.com)
Registered new provider: Schokokeks (schokokeks.org)
Registered new provider: Selfhost.de (selfhost.de)
Registered new provider: servercow.de (servercow.de)
Registered new provider: SPDYN (spdns.org)
Registered new provider: Strato AG (strato.com)
Registered new provider: TwoDNS (twodns.de)
Registered new provider: Udmedia GmbH (udmedia.de)
Registered new provider: Variomedia (variomedia.de)
Registered new provider: XLhost (xlhost.de)
Registered new provider: Zoneedit (zoneedit.com)
Registered new provider: zzzz (zzzz.io)
Running on distribution: ipfire-2
Loading configuration file /var/ipfire/ddns/ddns.conf
Updating office-hq.duckdns.org forced
Sending request (GET): https://checkip4.dns.lightningwirelabs.com
Request header:
  User-agent: IPFireDDNSUpdater/013
  Pragma: no-cache
Response header (Status Code 200):
  content-length: 32
  vary: Accept-Encoding
  etag: "c1e79b567e471d88e3e35d0dc8f6de68ee53942a"
  date: Wed, 29 Apr 2020 17:18:24 GMT
  content-type: text/html; charset=UTF-8
  strict-transport-security: max-age=31536000; includeSubDomains; preload
  connection: close
Sending request (GET): https://www.duckdns.org/nic/update?hostname=office-hq.duckdns.org&myip=2.43.216.95
Request header:
  Authorization: Basic c2Vydml6aS5zb21tYXJ1Z2FAZ21haWwuY29tOlVwNkxhODUtR01haWwtU2Vydi1TIQ==
  User-agent: IPFireDDNSUpdater/013
  Pragma: no-cache
Response header (Status Code 200):
  Date: Wed, 29 Apr 2020 17:18:25 GMT
  Transfer-Encoding: chunked
  Connection: close
  Set-Cookie: AWSALB=/3TEzciqqT40BUTDvLnUjBofKlZM4PJRwGzhyxerEweidBQT/J+o96BpPD1N4duvxauHnjKq4O/d+PFvlQFhBZSHjJM9t+YOBb5OcC8kkN1Sc9AKiAVDPHRpvyQf; Expires=Wed, 06 May 2020 17:18:25 GMT; Path=/
  Set-Cookie: AWSALBCORS=/3TEzciqqT40BUTDvLnUjBofKlZM4PJRwGzhyxerEweidBQT/J+o96BpPD1N4duvxauHnjKq4O/d+PFvlQFhBZSHjJM9t+YOBb5OcC8kkN1Sc9AKiAVDPHRpvyQf; Expires=Wed, 06 May 2020 17:18:25 GMT; Path=/; SameSite=None; Secure
  Server: nginx/1.4.6 (Ubuntu)
  X-Clacks-Overhead: GNU Terry Pratchett
  X-Frame-Options: DENY
Logging failed update for office-hq.duckdns.org: DDNSUpdateError: The update could not be performed
Opening database /var/lib/ddns.db
Dynamic DNS update for office-hq.duckdns.org (Duck DNS) failed:
  DDNSUpdateError: The update could not be performed
  Server response: bad
[root@my-fw1 ~]#

Grab the sending request from console output:

Sending request (GET): https://www.duckdns.org/nic/update?hostname=office-hq.duckdns.org&myip=2.43.216.95

And then review this:

https://www.duckdns.org/update?domains={YOURVALUE}&token={YOURVALUE}[&ip={YOURVALUE}][&ipv6={YOURVALUE}][&verbose=true][&clear=true]

Enter the real domain name, your token and your IP.

Hopefully it will comeback with a hint of the issue. For me it is usually a incorrect token.

DuckDNS is a bit odd.
If your FQDN is ‘office-hq.duckdns.org’, then the IPFire Dynamic DNS Hostname must be set to ‘office-hq’, i.e., your subdomain. DuckDNS can do this because they offer only one domain: ‘duckdns.org’.

The good news is that when you set the IPFire Hostname to ‘office-hq’, IPFire will update your DuckDNS dynamic DNS.

The bad news is that when you make that change, IPFire will update your DuckDNS dynamic DNS EVERY FIVE MINUTES. That’s because to determine if your IP has changed, IPFire does a DNS lookup on, in your case, ‘office-hq’, and compares the result to your IP. That DNS lookup of course fails. In other words, IPFire’s Dynamic DNS can’t accommodate DuckDNS’s oddity.

I just discovered this.
I’m running IPFire 2.25 Update 144.

I have watched my logs in the past for this and it seams to fail every other other time.
I think it maybe updating to frequently and it fails.
I can not prove that because i know not where to change update interval.
My road warrior openvpn work just fine with my DuckDNS name.
Also running latest IPFire.

The check interval is set to 5 minutes. I’d tell you how to change it, but 5 minutes is about optimal, IMO. If you changed it to 10 minutes, you would still be clobbering the DuckDNS server, just not quite as bad. If you changed it to, say, 1 hour, then that’s how long your dynamic DNS address could be stale and unusable – not acceptable.

AFAIK there’s no solution for IPFire’s DDNS update service right now. You might want to look at other DDNS update utilities. Google Search is your friend.

P.S. I filed a bug report on this just after I posted.

my logs

Time Section
06:00:12 ddns[2306]: Dynamic DNS update for qbcdefghijklmnop (Duck DNS) successful
06:05:10 ddns[3164]: Dynamic DNS update for qbcdefghijklmnop (Duck DNS) successful
06:10:15 ddns[3985]: Dynamic DNS update for qbcdefghijklmnop (Duck DNS) successful
06:15:10 ddns[4811]: Dynamic DNS update for qbcdefghijklmnop (Duck DNS) successful
06:20:14 ddns[5632]: Dynamic DNS update for qbcdefghijklmnop (Duck DNS) successful
06:25:10 ddns[6453]: Dynamic DNS update for qbcdefghijklmnop (Duck DNS) successful
06:30:17 ddns[7300]: Dynamic DNS update for qbcdefghijklmnop (Duck DNS) successful
06:35:12 ddns[8138]: Dynamic DNS update for qbcdefghijklmnop (Duck DNS) successful
06:40:09 ddns[8959]: Dynamic DNS update for qbcdefghijklmnop (Duck DNS) successful
06:45:06 ddns[9780]: Dynamic DNS update for qbcdefghijklmnop (Duck DNS) failed:
06:45:06 ddns[9780]: DDNSInternalServerError: Internal server error
06:45:06 ddns[9780]: Internal Server Error
06:50:15 ddns[10601]: Dynamic DNS update for qbcdefghijklmnop (Duck DNS) successful
06:55:12 ddns[11421]: Dynamic DNS update for qbcdefghijklmnop (Duck DNS) successful
07:00:22 ddns[12249]: Dynamic DNS update for qbcdefghijklmnop (Duck DNS) successful
07:05:11 ddns[13109]: Dynamic DNS update for qbcdefghijklmnop (Duck DNS) successful
07:10:06 ddns[13930]: Dynamic DNS update for qbcdefghijklmnop (Duck DNS) threw an unhandled exception: Tra ceback (most recent call last): File “/usr/lib/python3.8/site-packages/ddns/__ init__.py”, line 164, in _update entry(force=force) File “/usr/lib/python3 .8/site-packages/ddns/providers.py”, line 158, in call self.update() F ile “/usr/lib/python3.8/site-packages/ddns/providers.py”, line 182, in update self.update_protocol(protocol) File “/usr/lib/python3.8/site-packages/ddns/p roviders.py”, line 366, in update_protocol return self.send_request(data) File “/usr/lib/python3.8/site-packages/ddns/providers.py”, line 370, in send_req uest response = DDNSProvider.send_request(self, self.url, data=data, usernam e=self.username, password=self.password) File “/usr/lib/python3.8/site-package s/ddns/providers.py”, line 319, in send_request return self.core.system.send _request(*args, **kwargs) File “/usr/lib/python3.8/site-packages/ddns/system.p y”, line 167, in send_request resp = urlli