Der Debian Server ist wegen Dual Stack nur auf IPv6 zu erreichen und bietet auch noch kein HTTPS (nur HTTP). In der shell (bash) liefert ip a zwei inet6:
inet6 2a00:fda0:456:5678:9a11:c0101:ab89:76xy/64 scope global temporary dynamic
valid_lft 7175sec preferred_lft 3575sec
inet6 2a00:fda0:123:1234:1234:12ab:maca:98zd/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 7175sec preferred_lft 3575sec
Die IP-Adressen habe ich erfunden. Der Unterschied ist, dass die zweite die richtige ist (ohne das temporary). Wer genau hinsieht, erkennt dass ein Teil der IPv6 die Hardware-MAC-Adresse der Netzwerkschnittstelle enthält.
In der versteckten Datei .env von LinkAce muss man APP_URL=https://domain.name einstellen.
Bis jetzt verwende ich noch eine oci dns Funktion, um die IPv6 an die FQDN zu koppeln.
Im Script weiter oben außerhalb der Funktion werden Variablen für domain und zone (Top-Level Domain) definiert.
# weiter oben
AAAAUpdateLinkaceDNS() {
items=$(jq --arg ip "$1" '.[0].rdata = $ip' ~/update.json)
set -x
oci dns record rrset update \
--domain "$LINKACE" \
--rtype "AAAA" \
--zone-name-or-id "$TLD" \
--items "$items"
set +x
echo "$items" > ~/update.json
}
Die aktuelle Konfiguration, wie sie online steht, wird im Heimverzeichnis unter update.json abgespeichert und wieder ausgelesen für das nächste Update. Das Kommando $(jq --arg ip "$1" '.[0].rdata = $ip' ~/update.json) sorgt dafür, dass die JSON Einheit die neue IPv6 Adresse als Argument mitbekommt.
Eine Automatisierung müsste auch ohne oci-cli mit curl funktionieren aber soweit bin ich noch nicht.