Danke erst mal für die schnelle Reaktion. Ich komme leider erst jetzt dazu, zu antworten.
Vorweg: Es war mir tatsächlich nicht bekannt, dass CGNAT vor allem bei Glasfaser-ISPs so gängig ist. Tatsächlich war der Glasfaservertrag relativ kurzfristig zustande gekommen, aber das tut hier ja erst mal nichts zur Sache
.
Ich habe Anhand deiner Punkte mal ein paar Änderungen vorgenommen und das ist der aktuelle Stand:
IPv6 Settings der Fritzbox:
Verbindungsdetails auf der FritzBox:
Internet, IPv6 verbunden seit 16.06.2025, 09:45 Uhr, ISP-XY
IPv6-Adresse: 2a04:xxx1:x:x:
xxxx/64, Gültigkeit: 214106/127706s
IPv6-Präfix: 2a04:xxx0:xxx:xxxx::/60, Gültigkeit: 214106/127706s
Zum setup:
Es ist ein RaspPi 4, auf dem DietPi als Betriebssystem läuft.
Darauf ist Docker installiert mit ein paar Containern.
Mir geht es hauptsächlich nun um Nginx Proxy Manager und Vaultwarden.
Für diese hatte ich ein Docker MACVLAN Netz eingerichtet, um den einzelnen Containern eigene IPv4 Adressen zu vergeben, da beide Container Port 80 verwenden.
In der /etc/docker/daemon.json habe ich nachträglich nun mein IPv6 Präfix unter „fixed-cidr-v6“ hinzugefügt. Muss ich hier das /60 Präfix auf der Fritzbox angeben, oder erwartet docker hier eine /64?
Anschließend habe ich das MACVLAN Netz neu mit IPv6 Unterstützung angelegt und hier einen kleinen Teil des Präfix Netzes mitgegeben.
Hier ein Auszug aus der docker-compose.yml:
networks:
network_prod:
ipv4_address: 192.168.178.x
ipv6_address: 2a04:xxx0:xxx:xxx::2
Auf der Fritzbox wird mir der Container, wie zuvor auch, als Client mit eigener IP angezeigt. Allerdings wird mir als IPv6-Interface-ID etwas ganz anderes angezeigt, als in der yml angegeben.
Eine Portfreigabe für 80 und 443 habe ich für den Client auch gemacht, mit der Interface-ID die mir auf der Fritzbox angezeigt wird.
Beim erstellen eines Zertifikates steht folgendes im Terminal:
app-1 | [6/16/2025] [8:42:19 PM] [Nginx ] › ⬤ debug Deleting file: /data/nginx/proxy_host/3.conf
app-1 | [6/16/2025] [8:42:19 PM] [Nginx ] › ⬤ debug Could not delete file: {
app-1 | „errno“: -2,
app-1 | „code“: „ENOENT“,
app-1 | „syscall“: „unlink“,
app-1 | „path“: „/data/nginx/proxy_host/3.conf“
app-1 | }
app-1 | [6/16/2025] [8:42:19 PM] [Nginx ] › ⬤ debug Deleting file: /data/nginx/proxy_host/3.conf.err
app-1 | [6/16/2025] [8:42:19 PM] [Nginx ] › ⬤ debug Could not delete file: {
app-1 | „errno“: -2,
app-1 | „code“: „ENOENT“,
app-1 | „syscall“: „unlink“,
app-1 | „path“: „/data/nginx/proxy_host/3.conf.err“
app-1 | }
app-1 | [6/16/2025] [8:42:19 PM] [Global ] › ⬤ debug CMD: /usr/sbin/nginx -t -g „error_log off;“
app-1 | [6/16/2025] [8:42:19 PM] [Nginx ] ›
info Reloading Nginx
app-1 | [6/16/2025] [8:42:19 PM] [Global ] › ⬤ debug CMD: /usr/sbin/nginx -s reload
app-1 | [6/16/2025] [8:42:24 PM] [SSL ] ›
info Requesting Let’sEncrypt certificates for Cert #7: subdomain.subdomain.lan64.de
app-1 | [6/16/2025] [8:42:24 PM] [SSL ] ›
info Command: certbot certonly --config ‚/etc/letsencrypt.ini‘ --work-dir „/tmp/letsencrypt-lib“ --logs-dir „/tmp/letsencrypt-log“ --cert-name „npm-7“ --agree-tos --authenticator webroot --email ‚…‘ --preferred-challenges „dns,http“ --domains „subdomain.subdomain.lan64.de“
app-1 | [6/16/2025] [8:42:24 PM] [Global ] › ⬤ debug CMD: certbot certonly --config ‚/etc/letsencrypt.ini‘ --work-dir „/tmp/letsencrypt-lib“ --logs-dir „/tmp/letsencrypt-log“ --cert-name „npm-7“ --agree-tos --authenticator webroot --email ‚…‘ --preferred-challenges „dns,http“ --domains „subdomain.subdomain.lan64.de“
app-1 | [6/16/2025] [8:42:30 PM] [Nginx ] › ⬤ debug Deleting file: /data/nginx/temp/letsencrypt_7.conf
app-1 | [6/16/2025] [8:42:30 PM] [Global ] › ⬤ debug CMD: /usr/sbin/nginx -t -g „error_log off;“
app-1 | [6/16/2025] [8:42:30 PM] [Nginx ] ›
info Reloading Nginx
app-1 | [6/16/2025] [8:42:30 PM] [Global ] › ⬤ debug CMD: /usr/sbin/nginx -s reload
app-1 | [6/16/2025] [8:42:30 PM] [Express ] ›
warning Saving debug log to /tmp/letsencrypt-log/letsencrypt.log
app-1 | Some challenges have failed.
app-1 | Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/letsencrypt-log/letsencrypt.log or re-run Certbot with -v for more details.
Bei IPv64 habe ich meine DynDNS Domain und die IPv6 Prefix URL in der Fritzbox eingetragen.
Bitte Bescheid geben, falls ich wichtige Infos vergessen habe und danke vorab für die Hilfe.