Description
Hi everyone!
First of all, thank you very much for this amazing tool.
I am running this tool as a self compiled variant since the repositories did not give me the newest version of inadyn.
I followed the instructions carefully and use default@strato.com as my provider.
Since i am running dual stack and need both ipv4 and ipv6 available, I configured the provider twice with an identifier ipv4 and ipv6.
Just by coincidence I found out, that my IP needed to update more often than it should have since it uses caching.
Problem 1
Cached files do get mixed up since they dont make use of the identifier;
They each land in /var/cache/inadyn/ (in my case it is stored under /usr/local/var/cache/inadyn)
root@host:~# ls -la /usr/local/var/cache/inadyn
total 20
drwxr-xr-x 2 root root 4096 Apr 19 22:40 .
drwxr-xr-x 4 root root 4096 May 10 19:45 ..
-rw-r--r-- 1 root root 7 May 12 10:13 default@strato.com-fqdn1.cache
-rw-r--r-- 1 root root 7 May 12 08:12 default@strato.com-fqdn2.cache
-rw-r--r-- 1 root root 7 May 12 08:12 default@strato.com-fqdn3.cache
Since it is not possible for me to use a custom provider with inadyn (weird https://user:pass@dyndns.strato.com/nic/update syntax),
I decided to create a second systemd service which specified another cache directory in the Exec statement).
So i now have a cache directory for ipv4 and ipv6.
But maybe this is not how it should be and perhaps something to improve?
Problem 2
Now I am a bit concerned about the infrequent - or should I say forced updates by both services.
Inadyn is trying to force updates where it shouldn't (My IPs have not changed in a while).
Cache files exist; the contents equal their current IP addresses, and yet updates are somehow forced - or at least inadyn tries to update, but it gets refused by the provider (abuse)
Do you have any hints what could go wrong here?
IPv4
/usr/local/etc/inadyn.conf
iface = eth0
allow-ipv6 = true
provider default@strato.com:ipv4 {
username = REDACTED
password = REDACTED
hostname = { REDACTED, REDACTED, REDACTED }
checkip-command = "/usr/bin/getextip"
}
/usr/bin/getextip
#!/bin/bash
curl -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
systemctl status inadyn
root@host:~# systemctl status inadyn
● inadyn.service - Internet Dynamic DNS Client
Loaded: loaded (/lib/systemd/system/inadyn.service; enabled; preset: enabled)
Active: active (running) since Fri 2024-05-10 19:49:10 CEST; 1 day 22h ago
Docs: man:inadyn
man:inadyn.conf
file:/usr/local/share/doc/inadyn/README.md
Main PID: 2614834 (inadyn)
Tasks: 1 (limit: 9260)
CPU: 14.242s
CGroup: /system.slice/inadyn.service
└─2614834 /usr/local/sbin/inadyn --foreground --syslog
May 12 17:23:34 host inadyn[2614834]: Temporary error in DDNS server response: DDNS server busy, try later
May 12 17:23:34 host inadyn[2614834]: Will retry again in 600 sec ...
May 12 17:33:35 host inadyn[2614834]: Update forced for alias REDACTED, new IP# 1.2.3.4
May 12 17:33:35 host inadyn[2614834]: Update forced for alias REDACTED, new IP# 1.2.3.4
May 12 17:33:35 host inadyn[2614834]: Temporary error in DDNS server response: DDNS server busy, try later
May 12 17:33:35 host inadyn[2614834]: Will retry again in 600 sec ...
May 12 17:43:35 host inadyn[2614834]: Update forced for alias REDACTED new IP# 1.2.3.4
May 12 17:43:35 host inadyn[2614834]: Update forced for alias REDACTED, new IP# 1.2.3.4
May 12 17:43:35 host inadyn[2614834]: Temporary error in DDNS server response: DDNS server busy, try later
May 12 17:43:35 host inadyn[2614834]: Will retry again in 600 sec ...
IPv6
/usr/local/etc/inadyn-ipv6.conf
period = 1200
iface = eth0
allow-ipv6 = true
provider default@strato.com:ipv6 {
username = REDACTED
password = REDACTED
hostname = { REDACTED, REDACTED, REDACTED }
checkip-command = "/usr/bin/getextip6"
}
/usr/bin/getextip6
#!/bin/sh
ip -6 -o addr show dev eth0 scope global | awk '{print $4}' | grep -v "fd00::" | cut -d"/" -f1
systemctl status inadyn-ipv6
root@host:~# systemctl status inadyn-ipv6
● inadyn-ipv6.service - Internet Dynamic DNS Client
Loaded: loaded (/etc/systemd/system/inadyn-ipv6.service; enabled; preset: enabled)
Active: active (running) since Fri 2024-05-10 19:53:23 CEST; 1 day 22h ago
Docs: man:inadyn
man:inadyn.conf
file:/usr/local/share/doc/inadyn/README.md
Main PID: 2620635 (inadyn)
Tasks: 1 (limit: 9260)
CPU: 6.974s
CGroup: /system.slice/inadyn-ipv6.service
└─2620635 /usr/local/sbin/inadyn --foreground -f /usr/local/etc/inadyn-ipv6.conf --cache-dir /usr/local/var/cache/inadyn-ipv6 --syslog --pidfile /var/run/inadyn-ipv6.pid
May 11 12:23:45 host inadyn[2620635]: Update forced for alias REDACTED, new IP# 2003:a:b:c:d:e:f:1
May 11 12:23:45 host inadyn[2620635]: Update forced for alias REDACTED, new IP# 2003:a:b:c:d:e:f:1
May 11 12:23:45 host inadyn[2620635]: Temporary error in DDNS server response: DDNS server busy, try later
May 11 12:23:45 host inadyn[2620635]: Will retry again in 600 sec ...
May 11 12:33:45 host inadyn[2620635]: Update forced for alias REDACTED, new IP# 2003:a:b:c:d:e:f:1
May 11 12:33:45 host inadyn[2620635]: Update forced for alias REDACTED, new IP# 2003:a:b:c:d:e:f:1
May 11 12:33:45 host inadyn[2620635]: Update forced for alias REDACTED, new IP# 2003:a:b:c:d:e:f:1
May 11 12:33:45 host inadyn[2620635]: Updating IPv4 cache for REDACTED
May 11 12:33:45 host inadyn[2620635]: Updating IPv4 cache for REDACTED
May 11 12:33:45 host inadyn[2620635]: Updating IPv4 cache for REDACTED