LetsEncrypt mit OPNsense BIND Plugin

Started by superwinni2, July 27, 2020, 10:44:56 AM

Previous topic - Next topic
Hallo zusammen


hat es jemand geschafft, den TXT Record für DNS-01 Authentifizierung von LetsEncrypt in dem Lokalen BIND Plugin anzusteuern?

Irgendwie klappt es bei mir nicht...

Danke und Gruß
Proxmox VE
i3-4030U | 16 GB RAM | 512 GB SSD | 500 GB HDD
i3-2350M | 16 GB RAM | 120 GB SSD | 500 GB HDD

FW VMs:
2 Cores | 1 GB RAM | 20 GB SSD


Na das ist eben auch bei mir die Frage...


Ich glaube, dass das aktualisieren des _acme-challenge.domain.link Eintrags fehlschlägt.


Die API gibt mir Daten zurück wenn ich beispielsweise mit folgender URL anfrage:
https://<token>:<secret>@127.0.0.1:443/api/bind/domain/get


Daher gehe ich davon aus, dass der Benutzer unter dem das Token läuft Berechtigung hat. (Ist aktuell auch ein Admin Benutzer)
Habe den Eintrag mal mit einem -> am Anfang hervorgehoben.






[Mon Jul 27 11:18:05 CEST 2020] Using stage ACME_DIRECTORY: https://acme-staging-v02.api.letsencrypt.org/directory
[Mon Jul 27 11:18:05 CEST 2020] ACME_DIRECTORY='https://acme-staging-v02.api.letsencrypt.org/directory'
[Mon Jul 27 11:18:05 CEST 2020] DOMAIN_PATH='/var/etc/acme-client/home/*.domain.link'
[Mon Jul 27 11:18:05 CEST 2020] Using ACME_DIRECTORY: https://acme-staging-v02.api.letsencrypt.org/directory
[Mon Jul 27 11:18:05 CEST 2020] _init api for server: https://acme-staging-v02.api.letsencrypt.org/directory
[Mon Jul 27 11:18:05 CEST 2020] GET
[Mon Jul 27 11:18:05 CEST 2020] url='https://acme-staging-v02.api.letsencrypt.org/directory'
[Mon Jul 27 11:18:05 CEST 2020] timeout=
[Mon Jul 27 11:18:06 CEST 2020] _CURL='curl -L --silent --dump-header /var/etc/acme-client/home/http.header  --trace-ascii /tmp/tmp.J986Ia9Z  -g '
[Mon Jul 27 11:18:06 CEST 2020] ret='0'
[Mon Jul 27 11:18:07 CEST 2020] ACME_KEY_CHANGE='https://acme-staging-v02.api.letsencrypt.org/acme/key-change'
[Mon Jul 27 11:18:07 CEST 2020] ACME_NEW_AUTHZ
[Mon Jul 27 11:18:07 CEST 2020] ACME_NEW_ORDER='https://acme-staging-v02.api.letsencrypt.org/acme/new-order'
[Mon Jul 27 11:18:07 CEST 2020] ACME_NEW_ACCOUNT='https://acme-staging-v02.api.letsencrypt.org/acme/new-acct'
[Mon Jul 27 11:18:07 CEST 2020] ACME_REVOKE_CERT='https://acme-staging-v02.api.letsencrypt.org/acme/revoke-cert'
[Mon Jul 27 11:18:07 CEST 2020] ACME_AGREEMENT='https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf'
[Mon Jul 27 11:18:07 CEST 2020] ACME_NEW_NONCE='https://acme-staging-v02.api.letsencrypt.org/acme/new-nonce'
[Mon Jul 27 11:18:07 CEST 2020] ACME_VERSION='2'
[Mon Jul 27 11:18:07 CEST 2020] Le_NextRenewTime
[Mon Jul 27 11:18:07 CEST 2020] _on_before_issue
[Mon Jul 27 11:18:07 CEST 2020] _chk_main_domain='*.domain.link'
[Mon Jul 27 11:18:07 CEST 2020] _chk_alt_domains
[Mon Jul 27 11:18:07 CEST 2020] Le_LocalAddress
[Mon Jul 27 11:18:07 CEST 2020] d='*.domain.link'
[Mon Jul 27 11:18:07 CEST 2020] Check for domain='*.domain.link'
[Mon Jul 27 11:18:07 CEST 2020] _currentRoot='dns_opnsense'
[Mon Jul 27 11:18:07 CEST 2020] d
[Mon Jul 27 11:18:07 CEST 2020] _saved_account_key_hash is not changed, skip register account.
[Mon Jul 27 11:18:07 CEST 2020] Read key length:4096
[Mon Jul 27 11:18:07 CEST 2020] _createcsr
[Mon Jul 27 11:18:07 CEST 2020] Single domain='*.domain.link'
[Mon Jul 27 11:18:07 CEST 2020] Getting domain auth token for each domain
[Mon Jul 27 11:18:07 CEST 2020] d
[Mon Jul 27 11:18:07 CEST 2020] url='https://acme-staging-v02.api.letsencrypt.org/acme/new-order'
[Mon Jul 27 11:18:07 CEST 2020] payload='{"identifiers": [{"type":"dns","value":"*.domain.link"}]}'
[Mon Jul 27 11:18:07 CEST 2020] RSA key
[Mon Jul 27 11:18:10 CEST 2020] HEAD
[Mon Jul 27 11:18:10 CEST 2020] _post_url='https://acme-staging-v02.api.letsencrypt.org/acme/new-nonce'
[Mon Jul 27 11:18:10 CEST 2020] _CURL='curl -L --silent --dump-header /var/etc/acme-client/home/http.header  --trace-ascii /tmp/tmp.Xee6MCjO  -g  -I  '
[Mon Jul 27 11:18:11 CEST 2020] _ret='0'
[Mon Jul 27 11:18:11 CEST 2020] POST
[Mon Jul 27 11:18:11 CEST 2020] _post_url='https://acme-staging-v02.api.letsencrypt.org/acme/new-order'
[Mon Jul 27 11:18:11 CEST 2020] _CURL='curl -L --silent --dump-header /var/etc/acme-client/home/http.header  --trace-ascii /tmp/tmp.Xee6MCjO  -g '
[Mon Jul 27 11:18:12 CEST 2020] _ret='0'
[Mon Jul 27 11:18:12 CEST 2020] code='201'
[Mon Jul 27 11:18:12 CEST 2020] Le_LinkOrder='https://acme-staging-v02.api.letsencrypt.org/acme/order/8541739/121457776'
[Mon Jul 27 11:18:12 CEST 2020] Le_OrderFinalize='https://acme-staging-v02.api.letsencrypt.org/acme/finalize/8541739/121457776'
[Mon Jul 27 11:18:12 CEST 2020] url='https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/83544829'
[Mon Jul 27 11:18:12 CEST 2020] payload
[Mon Jul 27 11:18:12 CEST 2020] POST
[Mon Jul 27 11:18:12 CEST 2020] _post_url='https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/83544829'
[Mon Jul 27 11:18:12 CEST 2020] _CURL='curl -L --silent --dump-header /var/etc/acme-client/home/http.header  --trace-ascii /tmp/tmp.Xee6MCjO  -g '
[Mon Jul 27 11:18:13 CEST 2020] _ret='0'
[Mon Jul 27 11:18:13 CEST 2020] code='200'
[Mon Jul 27 11:18:13 CEST 2020] d='*.domain.link'
[Mon Jul 27 11:18:13 CEST 2020] Getting webroot for domain='*.domain.link'
[Mon Jul 27 11:18:13 CEST 2020] _w='dns_opnsense'
[Mon Jul 27 11:18:13 CEST 2020] _currentRoot='dns_opnsense'
[Mon Jul 27 11:18:13 CEST 2020] entry='"type":"dns-01","status":"pending","url":"https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/83544829/WsnoKg","token":"nSKx5VruyvdyJW1y8lMTQcbUphLovQmzNMG58PJBgNw"'
[Mon Jul 27 11:18:13 CEST 2020] token='nSKx5VruyvdyJW1y8lMTQcbUphLovQmzNMG58PJBgNw'
[Mon Jul 27 11:18:13 CEST 2020] uri='https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/83544829/WsnoKg'
[Mon Jul 27 11:18:13 CEST 2020] keyauthorization='nSKx5VruyvdyJW1y8lMTQcbUphLovQmzNMG58PJBgNw.AH8IvW3zEUkdY5c0LEC6FsDQGyUfpf6twWlG2xaoDMg'
[Mon Jul 27 11:18:13 CEST 2020] dvlist='*.domain.link#nSKx5VruyvdyJW1y8lMTQcbUphLovQmzNMG58PJBgNw.AH8IvW3zEUkdY5c0LEC6FsDQGyUfpf6twWlG2xaoDMg#https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/83544829/WsnoKg#dns-01#dns_opnsense'
[Mon Jul 27 11:18:13 CEST 2020] d
[Mon Jul 27 11:18:13 CEST 2020] vlist='*.domain.link#nSKx5VruyvdyJW1y8lMTQcbUphLovQmzNMG58PJBgNw.AH8IvW3zEUkdY5c0LEC6FsDQGyUfpf6twWlG2xaoDMg#https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/83544829/WsnoKg#dns-01#dns_opnsense,'
[Mon Jul 27 11:18:13 CEST 2020] d='*.domain.link'
[Mon Jul 27 11:18:13 CEST 2020] _d_alias
[Mon Jul 27 11:18:13 CEST 2020] txtdomain='_acme-challenge.domain.link'
[Mon Jul 27 11:18:13 CEST 2020] txt='pZSD3Wj2f9ppNwFJf523rsGmjikUdiPzEPXgJ53-2Mk'
[Mon Jul 27 11:18:13 CEST 2020] d_api='/var/etc/acme-client/home/dns_opnsense.sh'
[Mon Jul 27 11:18:13 CEST 2020] Found domain api file: /var/etc/acme-client/home/dns_opnsense.sh
[Mon Jul 27 11:18:13 CEST 2020] Adding txt value: pZSD3Wj2f9ppNwFJf523rsGmjikUdiPzEPXgJ53-2Mk for domain:  _acme-challenge.domain.link
[Mon Jul 27 11:18:14 CEST 2020] GET
[Mon Jul 27 11:18:14 CEST 2020] url='https://NEnnyX0mBKN0kujQO%2fJggRvQn%2frdTlkrzh6xLt14ezhKBRyKP5%2bY7VNiPTBzAToH5AR3%2fuSGylsc4El%2f:y7lKCARnesGj%2fjPZmS7BLN2s3vor9cEcFQIYXlDh6ClxdHmYJ%2fg2O%2fCur91TIXMXCJT6ZI%2f%2bUoRJMK8a@127.0.0.1:443/api/bind/general/get'
[Mon Jul 27 11:18:14 CEST 2020] timeout=
[Mon Jul 27 11:18:14 CEST 2020] _CURL='curl -L --silent --dump-header /var/etc/acme-client/home/http.header  --trace-ascii /tmp/tmp.Xee6MCjO  -g  --insecure  '
[Mon Jul 27 11:18:14 CEST 2020] ret='0'
[Mon Jul 27 11:18:14 CEST 2020] Adding record
[Mon Jul 27 11:18:14 CEST 2020] Detect root zone
[Mon Jul 27 11:18:14 CEST 2020] GET
[Mon Jul 27 11:18:14 CEST 2020] url='https://NEnnyX0mBKN0kujQO%2fJggRvQn%2frdTlkrzh6xLt14ezhKBRyKP5%2bY7VNiPTBzAToH5AR3%2fuSGylsc4El%2f:y7lKCARnesGj%2fjPZmS7BLN2s3vor9cEcFQIYXlDh6ClxdHmYJ%2fg2O%2fCur91TIXMXCJT6ZI%2f%2bUoRJMK8a@127.0.0.1:443/api/bind/domain/get'
[Mon Jul 27 11:18:14 CEST 2020] timeout=
[Mon Jul 27 11:18:14 CEST 2020] _CURL='curl -L --silent --dump-header /var/etc/acme-client/home/http.header  --trace-ascii /tmp/tmp.Xee6MCjO  -g  --insecure  '
[Mon Jul 27 11:18:14 CEST 2020] ret='0'
[Mon Jul 27 11:18:14 CEST 2020] h='domain.link'
[Mon Jul 27 11:18:14 CEST 2020] h='link'
[Mon Jul 27 11:18:14 CEST 2020] invalid domain
-> [Mon Jul 27 11:18:14 CEST 2020] Error add txt for domain:_acme-challenge.domain.link
[Mon Jul 27 11:18:14 CEST 2020] _on_issue_err
[Mon Jul 27 11:18:14 CEST 2020] Please check log file for more details: /var/log/acme.sh.log
[Mon Jul 27 11:18:14 CEST 2020] url='https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/83544829/WsnoKg'
[Mon Jul 27 11:18:14 CEST 2020] payload='{}'
[Mon Jul 27 11:18:14 CEST 2020] POST
[Mon Jul 27 11:18:14 CEST 2020] _post_url='https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/83544829/WsnoKg'
[Mon Jul 27 11:18:14 CEST 2020] _CURL='curl -L --silent --dump-header /var/etc/acme-client/home/http.header  --trace-ascii /tmp/tmp.Xee6MCjO  -g '
[Mon Jul 27 11:18:15 CEST 2020] _ret='0'
[Mon Jul 27 11:18:15 CEST 2020] code='200'
[Mon Jul 27 11:18:15 CEST 2020] Diagnosis versions:
openssl:openssl
OpenSSL 1.0.2o-freebsd  27 Mar 2018
apache:
apache doesn't exists.
nginx:
nginx doesn't exists.
socat:
socat by Gerhard Rieger and contributors - see www.dest-unreach.org
socat version 1.7.3.4 on Jan 29 2020 04:00:10
   running on FreeBSD version FreeBSD 11.2-RELEASE-p20-HBSD  07ef86ce9ca(stable/20.1), release 11.2-RELEASE-p20-HBSD, machine amd64
features:
  #define WITH_STDIO 1
  #define WITH_FDNUM 1
  #define WITH_FILE 1
  #define WITH_CREAT 1
  #define WITH_GOPEN 1
  #define WITH_TERMIOS 1
  #define WITH_PIPE 1
  #define WITH_UNIX 1
  #undef WITH_ABSTRACT_UNIXSOCKET
  #define WITH_IP4 1
  #define WITH_IP6 1
  #define WITH_RAWIP 1
  #define WITH_GENERICSOCKET 1
  #undef WITH_INTERFACE
  #define WITH_TCP 1
  #define WITH_UDP 1
  #define WITH_SCTP 1
  #define WITH_LISTEN 1
  #define WITH_SOCKS4 1
  #define WITH_SOCKS4A 1
  #define WITH_PROXY 1
  #define WITH_SYSTEM 1
  #define WITH_EXEC 1
  #undef WITH_READLINE
  #undef WITH_TUN
  #define WITH_PTY 1
  #define WITH_OPENSSL 1
  #undef WITH_FIPS
  #define WITH_LIBWRAP 1
  #define WITH_SYCLS 1
  #define WITH_FILAN 1
  #define WITH_RETRY 1
  #define WITH_MSGLEVEL 0 /*debug*/
[Mon Jul 27 11:18:15 CEST 2020] pid
[Mon Jul 27 11:18:15 CEST 2020] No need to restore nginx, skip.
[Mon Jul 27 11:18:15 CEST 2020] _clearupdns
[Mon Jul 27 11:18:15 CEST 2020] dns_entries
[Mon Jul 27 11:18:15 CEST 2020] skip dns.



Nun bin ich mir jedoch nicht sicher...
Liegt es an meiner Bind Configuration? Wobei ich nicht wüsste, was ich dort anderst einstellen sollte..


Liegt es an LetsEncrypt? Kann ich mir nicht vorstellen, da ich den URL String von oben durch die Log von acme.sh.log habe. Und dieser funktioniert ja auch...


BIND sollte korrekt funktionieren. Es löst IP Adresse wie gewünscht auf.

Proxmox VE
i3-4030U | 16 GB RAM | 512 GB SSD | 500 GB HDD
i3-2350M | 16 GB RAM | 120 GB SSD | 500 GB HDD

FW VMs:
2 Cores | 1 GB RAM | 20 GB SSD