…and communities you care about
from meta? not a snowball’s chance in zuckerberg hell.
fixate on what you think you know… you’re missing what you don’t though.
…and communities you care about
from meta? not a snowball’s chance in zuckerberg hell.


agreed. you are using DNS-01 challenges. so the workflow is…
your local certbot machine initiates an https connection to the letsencrypt servers to start the DNS-01 challenge. during this HTTPS dialog, your local certbot is informed of the key material to insert into your DNS records. your local certbot then modifies your netcup DNS server (hosted remotely, not on your local network) with the keying material and the letsencrypt servers verify that the keys are actually there, proving that you control the domain. the letsencrypt serves then issue you the certificate (again, via HTTPS) and your local certbot stores it in your local host.
the issue is most likely stems from the initial HTTPS connection that certbot tries to make to the let’s encrypt servers. while your firewall allows this traffic out, it does not allow return traffic back in because of your explicit blocking of US (and perhaps other) based addresses.
even through your are using DNS for your domain autentocation, your local host - the machine running certbot - is unable to initiate the certificate transfer because of the firewall blocking return traffic.
the two external networks (and, therefore IP ranges/subnets/etc) that are important here are the let’s encrypt servers and the netcup DNS servers. certbot will have to talk to both of these in order to function.


not sure what you mean by external DNS
not hosting your own DNS server. specifically it sounds like your DNS server is hosted on your domain provider, not your own local network. you have set up certbot to automatically configure your remotely hosted DNS server for the DNS based renewal.
if DNS based recert was working before then it should be working now.
as I said in my edit, you are likely blocking the return https traffic from the US based let’s encrypt acme servers - so your initial diagnostic is correct. your local firewall is likely stopping the acme servers from talking back to your local host.
you are right back where you started, asking for info in how to allow-list the acme IP ranges. but at least we may now know why it is not working and you are seeing an https timeout even though you are using DNS based certificate renewals.
edit: typos


The DNS server/root isn’t in my home network
are you using external DNS hosting? is it in a (now) blocked country? if so, then your local certbot is unable to update the DNS server records (return traffic from your DNS host is being blocked by your iptables/nftables config).
error: HTTPSConnectionPool(host=‘acme-v02.api.letsencrypt.org’, port=443): Read timed out. (read timeout=45)
yeah, that would suggest an https renewal method. had you previously configured web server renewal at all before switching over to DNS? any other suspicious notifications in the logs?
edit: in thinking about this a little more… the renewal has to be initiated by your host, and that is likely done via https (you talk https to the acme server and tell it you want a renewal by DNS). so, if you are blocking the acme servers then the same issue applies - no return traffic.


the threat was more effective than the trigger pull. trust the orange idiot to show the world our bare ass.
global cooperation is the answer, but no… assuming a zero sum game (a game america is ill prepared to “win”) is the mantra of decades of psychotic us leadership. so tired of this planet sized madhouse.
ymmv, but debian has always been near perfect through upgrades for me: even a recent buster -> bullseye -> bookworm -> trixie went smoothly.
issues usually arise from not maintaining a clean debian stable install (e.g. you were using backports or lots of 3rd party repos). if those are cleaned up prior things still usually go well.
not saying you didn’t have issues, but in my experience with with lots and lots of debian systems, upgrades have been 99.9% cakewalk.