Allowing all traffic but only for the time that renewals are running (with a custom hook in your ACME client that opens up the firewall before validations and closing it back again afterward).
Using mechanisms other than source IP to determine whether or not the request should be allowed. (So if it's a request during the time that a renewal is running, and the request User Agent says "Let's Encrypt", and the request is for a path under /.well_known/acme-challenge/, then make sure to allow that, but you can still block other requests.)
If your policies allow for opening port 53 everywhere even though they don't allow for port 80 everywhere (for whatever reason), then using something like acme-dns can make DNS authentication possible in some cases even if the "main" DNS server is pretty locked down.
But in general, as @bruncsak said, if you're not allowing the public to access the system, then using the public WebPKI may not be the best approach for whatever you're really trying to accomplish.