Hallo zusammen,
ich habe mir vor Monaten ein Shellscript zusammengebastelt, das über curl allerlei Informationen aus der Sense holt und mit `jq` aufbereitet. Im Dezember hat das auch funktioniert und Dateien erzeugt. Ich hatte einen speziellen API-User mit der Berechtigung All pages eingerichtet und dessen API-Key verwendet.
Jetzt habe ich dieses Skript mal wieder laufen lassen und bekomme keinerlei Output. Auch keinen Fehler.
Das script sieht auszugsweise so aus:
export key=txxxxxxF
export secret=ddkkkkkkkkkkkkkkkkkkkkkkkkkk
##
export URL=https://opnsense.fm174.intern/api
echo "dhcp"
curl -k -s -u $key:$secret $URL/dhcpv4/leases/searchLease | \
jq '.rows |.[] |= del (.starts, .ends, .status, .cltt) |[.[] | to_entries | sort_by (.key) | from_entries] | sort_by(.mac)' \
> ${OUTDIR}/opnsense/dhcp/v4_leases.json
Das produziert jetzt keine Daten, auch nicht, wenn ich die Weiterleitung nach jq weglasse:
Ich kann das auch am bash-Prompt reproduzieren:
# erst einmal die exports wie im shell-script ...
# dann
curl -k -vv -u $key:$secret $URL/core/firmware/status
ergibt:
* Trying [2a00:6020:4023:8c80:6662:66ff:fe22:6ed0]:443...
* Connected to opnsense.fm174.intern (2a00:6020:4023:8c80:6662:66ff:fe22:6ed0) port 443 (#0)
* ALPN: offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256
* ALPN: server accepted h2
* Server certificate:
* subject: C=DE; ST=NRW; L=Erftstadt; O=Klamann IT-Beratung; CN=*.fm174.intern
* start date: Nov 29 14:19:15 2024 GMT
* expire date: Dec 31 14:19:15 2025 GMT
* issuer: C=DE; ST=NRW; L=Erftstadt; O=Klamann IT-Beratung; CN=Klamann-Root-CA 202411
* SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway.
* using HTTP/2
* Server auth using Basic with user 'txxxxxx'
* h2h3 [:method: GET]
* h2h3 [:path: /api/core/firmware/status]
* h2h3 [:scheme: https]
* h2h3 [:authority: opnsense.fm174.intern]
* h2h3 [authorization: Basic xxxxxxxx
* h2h3 [user-agent: curl/7.88.1]
* h2h3 [accept: */*]
* Using Stream ID: 1 (easy handle 0x564b18e83780)
> GET /api/core/firmware/status HTTP/2
> Host: opnsense.fm174.intern
> authorization: Basic xxxxxxxx
> user-agent: curl/7.88.1
> accept: */*
>
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
< HTTP/2 200
< server: Caddy
< content-length: 0
< date: Thu, 15 May 2025 07:22:59 GMT
<
* Connection #0 to host opnsense.fm174.intern left intact
Ich habe meine Aufrufe auch mit der Dokumentation abgeglichen und keine Änderungen entdeckt. Ich bin seit März auf
OPNsense 25.1.3-amd64
FreeBSD 14.2-RELEASE-p2
OpenSSL 3.0.16
Hat irgend jemand von Euch eine Idee ?
Vielen Dank schon mal !
Norbert
Ich habe nochmal versucht, das User-Interface nachzubauen mit diesem Aufruf, aber unverändertem Ergebnis:
curl -k -s -v -u $key:$secret $URL/dhcpv4/leases/searchLease -H 'content-type: application/json;charset=UTF-8'
--data-raw '{"current":1,"rowCount":-1,"sort":{"starts":"desc"},"searchPhrase":"","inactive":true,"selected_interfaces":[]}'