We have the same problem
2021-10-28 11:31:14,855:DEBUG:certbot._internal.main:certbot version: 1.9.0
2021-10-28 11:31:14,855:DEBUG:certbot._internal.main:Arguments: ['--quiet', '--manual', '--cert-name', 'www.domain.tld', '--manual-public-ip-logging-ok', '--preferred-challenges=http', '--manual-auth-hook', '/full/path/letsencrypt-auth.sh', '--manual-cleanup-hook', '/full/path/letsencrypt-cleanup.sh', '-d', 'www.domain.tld']
2021-10-28 11:31:14,855:DEBUG:certbot._internal.main:Discovered plugins: PluginsRegistry(PluginEntryPoint#manual,PluginEntryPoint#nginx,PluginEntryPoint#null,PluginEntryPoint#standalone,PluginEntryPoint#webroot)
2021-10-28 11:31:14,881:DEBUG:certbot._internal.log:Root logging level set at 30
2021-10-28 11:31:14,881:INFO:certbot._internal.log:Saving debug log to /var/log/letsencrypt/letsencrypt.log
2021-10-28 11:31:14,882:DEBUG:certbot._internal.plugins.selection:Requested authenticator manual and installer None
2021-10-28 11:31:14,883:DEBUG:certbot._internal.plugins.selection:Single candidate plugin: * manual
Description: Manual configuration or run your own shell scripts
Interfaces: IAuthenticator, IPlugin
Entry point: manual = certbot._internal.plugins.manual:Authenticator
Initialized: <certbot._internal.plugins.manual.Authenticator object at 0x7f08240b02d0>
Prep: True
2021-10-28 11:31:14,884:DEBUG:certbot._internal.plugins.selection:Selected authenticator <certbot._internal.plugins.manual.Authenticator object at 0x7f08240b02d0> and installer None
2021-10-28 11:31:14,884:INFO:certbot._internal.plugins.selection:Plugins selected: Authenticator manual, Installer None
2021-10-28 11:31:14,910:DEBUG:certbot._internal.main:Picked account: <Account(RegistrationResource(body=Registration(status=u'valid' [...]), key=[...], external_account_binding=None), uri=u'https://acme-v01.api.letsencrypt.org/acme/reg/30336708', new_authzr_uri=u'https://acme-v01.api.letsencrypt.org/acme/new-authz', terms_of_service=u'https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf'), [...], Meta(creation_host=u'x', register_to_eff=None, creation_dt=datetime.datetime(2018, 3, 1, 15, 53, 36, tzinfo=<UTC>)))>
2021-10-28 11:31:14,912:DEBUG:acme.client:Sending GET request to https://acme-v02.api.letsencrypt.org/directory.
2021-10-28 11:31:14,920:INFO:urllib3.connectionpool:Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org
2021-10-28 11:31:59,975:DEBUG:certbot._internal.log:Exiting abnormally:
Traceback (most recent call last):
File "/usr/bin/certbot", line 9, in <module>
load_entry_point('certbot==1.9.0', 'console_scripts', 'certbot')()
File "/usr/lib/python2.7/site-packages/certbot/main.py", line 15, in main
return internal_main.main(cli_args)
File "/usr/lib/python2.7/site-packages/certbot/_internal/main.py", line 1362, in main
return config.func(config, plugins)
File "/usr/lib/python2.7/site-packages/certbot/_internal/main.py", line 1226, in certonly
le_client = _init_le_client(config, auth, installer)
File "/usr/lib/python2.7/site-packages/certbot/_internal/main.py", line 611, in _init_le_client
return client.Client(config, acc, authenticator, installer, acme=acme)
File "/usr/lib/python2.7/site-packages/certbot/_internal/client.py", line 256, in __init__
acme = acme_from_config_key(config, self.account.key, self.account.regr)
File "/usr/lib/python2.7/site-packages/certbot/_internal/client.py", line 43, in acme_from_config_key
return acme_client.BackwardsCompatibleClientV2(net, key, config.server)
File "/usr/lib/python2.7/site-packages/acme/client.py", line 831, in __init__
directory = messages.Directory.from_json(net.get(server).json())
File "/usr/lib/python2.7/site-packages/acme/client.py", line 1168, in get
self._send_request('GET', url, **kwargs), content_type=content_type)
File "/usr/lib/python2.7/site-packages/acme/client.py", line 1118, in _send_request
response = self.session.request(method, url, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 486, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 598, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python2.7/site-packages/requests/adapters.py", line 415, in send
raise ConnectionError(err, request=request)
ConnectionError: ('Connection aborted.', error(101, 'Network is unreachable'))
2021-10-28 11:31:59,978:ERROR:certbot._internal.log:An unexpected error occurred:
2021-10-28 11:31:59,978:ERROR:certbot._internal.log:ConnectionError: ('Connection aborted.', error(101, 'Network is unreachable'))
Strangely enough, I can connect via Curl:
# curl -v https://acme-v02.api.letsencrypt.org/directory
* About to connect() to acme-v02.api.letsencrypt.org port 443 (#0)
* Trying 172.65.32.248...
< HTTP/1.1 200 OK
< Server: nginx
[...]
and even with a simple urllib3 script
# python
Python 2.7.5 (default, Nov 16 2020, 22:23:17)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib3
>>> http = urllib3.PoolManager()
>>> r = http.request('GET', 'https://acme-v02.api.letsencrypt.org/directory')
>>> r.status
200
>>> r.data
'{\n "keyChange": "https://acme-v02.api.letsencrypt.org/acme/key-change",\n "meta": {\n "caaIdentities": [\n "letsencrypt.org"\n ],\n "termsOfService": "https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf",\n "website": "https://letsencrypt.org"\n },\n "newAccount": "https://acme-v02.api.letsencrypt.org/acme/new-acct",\n "newNonce": "https://acme-v02.api.letsencrypt.org/acme/new-nonce",\n "newOrder": "https://acme-v02.api.letsencrypt.org/acme/new-order",\n "oqXu2kuuhP4": "https://community.letsencrypt.org/t/adding-random-entries-to-the-directory/33417",\n "revokeCert": "https://acme-v02.api.letsencrypt.org/acme/revoke-cert"\n}'
>>>
Certbot is version 1.9.0 installed from EPEL on a CentOS 7 system