ISPmanager-Integration
NexDNS ist vollständig mit der DNSmanager-API kompatibel, sodass Sie NexDNS als sekundären (Slave-)DNS-Server mit ISPmanager verbinden können. ISPmanager bleibt der primäre Server und überträgt jede Zone an NexDNS, sobald Sie den Zonentransfer (AXFR) von der NexDNS-Quell-IP erlauben, sodass Sie die Einträge weiterhin in ISPmanager verwalten. Die vollständige DNSmanager-Domain- und Eintrags-API steht außerdem zur direkten Nutzung über einen einzigen Kompatibilitätsendpunkt zur Verfügung.
Endpunkt
Alle Kompatibilitäts-API-Aufrufe werden über einen einzigen Endpunkt geroutet:
https://api.nexdns.tech/dnsmgr
Authentifizierung
Die Kompatibilitäts-API authentifiziert sich mit einem dedizierten Integrations-Login und -Secret, das Sie in NexDNS unter Konto → Integrationen generieren (nicht Ihr Kontopasswort). ISPmanager sendet diese bei jeder Anfrage; Sie können auch manuell eine Sitzung mit der Funktion func=auth öffnen und das zurückgegebene Token wiederverwenden.
curl -X POST "https://api.nexdns.tech/dnsmgr?func=auth" \
-d "username=your_integration_login" \
-d "password=your_integration_secret"
Erfolgreiche Antwort (XML):
<doc><auth id="SESSION_ID"/></doc>
Sie können JSON-Ausgabe anfordern, indem Sie out=json zu jeder Anfrage hinzufügen. Wiederholte fehlgeschlagene Anmeldungen werden vorübergehend gedrosselt.
Unterstützte Funktionen
Die Kompatibilitäts-API verteilt Operationen basierend auf dem func-Abfrageparameter:
| Funktion | Beschreibung |
|---|---|
auth |
Eine Sitzung mit dem Integrations-Login und -Secret öffnen |
domain |
Alle Domains des authentifizierten Kontos auflisten |
domain.edit |
Domain erstellen oder aktualisieren (mit sok=ok); wenn ISPmanager seine Master-IP sendet, erstellt NexDNS eine sekundäre Zone, die von ISPmanager überträgt. Ohne sok werden Domain-Informationen zurückgegeben |
domain.delete |
Domain löschen (übergeben Sie elid=domain.name) |
domain.refresh |
Eine sekundäre Zone zwingen, sofort erneut von ISPmanager zu übertragen (übergeben Sie elid=domain.name). ISPmanager ruft dies nach Eintragsänderungen auf |
domain.record |
Einträge einer Domain auflisten (übergeben Sie elid=domain.name) |
domain.record.edit |
Eintrag erstellen oder aktualisieren (mit sok=ok) |
domain.record.delete |
Eintrag löschen (übergeben Sie elid und rkey) |
dnsparam |
Nameserver-Konfiguration für Ihr Konto abrufen |
slaveserver |
Die Ihren Zonen zugewiesenen Nameserver auflisten |
ISPmanager mit NexDNS verbinden
So verbinden Sie ISPmanager mit NexDNS:
- Registrieren Sie ein NexDNS-Konto unter nexdns.tech und wählen Sie einen Tarif, der die ISPmanager-Integration und sekundäres DNS enthält.
- Richten Sie die Integration in NexDNS ein: öffnen Sie Konto → Integrationen, klicken Sie auf Secret generieren und aktivieren Sie dann den ISPmanager-Zugriff (standardmäßig deaktiviert). Dieser Kanal umgeht die Zwei-Faktor-Authentifizierung – beschränken Sie ihn daher optional auf eine feste IP-Adresse.
- In ISPmanager fügen Sie NexDNS als sekundären (Slave-)DNS-Server für Ihre Domains hinzu (Domainnamen → sekundäre Nameserver).
-
Verbindungsdetails eingeben:
- URL-Endpunkt:
https://api.nexdns.tech/dnsmgr - Login: Ihr Integrations-Login aus Konto → Integrationen
- Secret: Ihr Integrations-Secret
- URL-Endpunkt:
- Zonentransfer (AXFR) erlauben: Erlauben Sie auf Ihrem primären DNS-Server den Zonentransfer von der NexDNS-Quell-IP, die unter Konto → Integrationen angezeigt wird. Ohne dies legt ISPmanager zwar die sekundäre Zone an, sie bleibt jedoch leer.
ISPmanager bleibt der primäre Server und Sie verwalten die Einträge weiterhin dort; NexDNS ruft jede Zone als sekundär über AXFR ab. Einmaliger Schritt auf Ihrer Seite: Erlauben Sie auf Ihrem primären DNS-Server den Zonentransfer (AXFR) von der NexDNS-Quell-IP, die unter Konto → Integrationen angezeigt wird – sonst bleiben die Zonen leer. Die Authentifizierung nutzt Login und Secret der Integration aus Konto → Integrationen; stellen Sie sicher, dass der ISPmanager-Zugriff aktiviert ist und Ihr Tarif sekundäres DNS umfasst.
Eintragsparameter
Beim Erstellen oder Aktualisieren von Einträgen über domain.record.edit werden je nach Eintragstyp die folgenden Parameter verwendet:
| Typ | Parameter |
|---|---|
A / AAAA |
name, ip (or value), ttl |
CNAME / NS / PTR |
name, value, ttl |
MX |
name, value, priority, ttl |
SRV |
name, value, priority, weight, port, ttl |
TXT |
name, value, ttl |
CAA |
name, caa_value (or value), flag, tag, ttl |
Für Aktualisierungen übergeben Sie rkey mit der vorhandenen Eintrags-ID. Lassen Sie rkey weg (oder senden Sie es leer), um einen neuen Eintrag zu erstellen.
Ausgabeformat
Standardmäßig werden alle Antworten als XML zurückgegeben. Fügen Sie out=json zu jeder Anfrage hinzu, um stattdessen JSON-Antworten zu erhalten.
API-Schlüssel-Verwaltung
API-Schlüssel werden zur Authentifizierung von Anfragen an die NexDNS REST API verwendet. Jeder Schlüssel hat bestimmte Berechtigungen und kann optional ein Ablaufdatum haben.
API-Schlüssel erstellen
Sie können API-Schlüssel auf zwei Arten erstellen:
- Panel-Oberfläche: Gehen Sie zu Einstellungen > API-Schlüssel und klicken Sie auf "API-Schlüssel erstellen"
- REST API:
POST /v1/account/api-keys(erfordert einen vorhandenen API-Schlüssel)
Schlüsselformat
API-Schlüssel folgen dem Format nxd_ gefolgt von 40 zufälligen alphanumerischen Zeichen. Der vollständige Schlüssel wird nur einmal bei der Erstellung angezeigt. NexDNS speichert nur eine gehashte Form des Schlüssels, sodass er bei Verlust nicht wiederhergestellt werden kann.
nxd_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789abcd
Berechtigungen
Jedem API-Schlüssel muss mindestens eine Berechtigung zugewiesen werden. Verfügbare Berechtigungen:
| Berechtigung | Gewährt Zugriff auf |
|---|---|
zones.read |
Zonen auflisten, Zonendetails anzeigen, Zonen exportieren, DNSSEC-Status anzeigen |
zones.write |
Zonen erstellen, Zonen löschen, DNSSEC aktivieren/deaktivieren |
records.read |
Einträge auflisten, einzelne Einträge anzeigen |
records.write |
Einträge erstellen, aktualisieren und löschen |
webhooks.read |
Webhooks auflisten und anzeigen |
webhooks.write |
Webhooks erstellen, aktualisieren und löschen |
Wir empfehlen, jedem Schlüssel nur die Berechtigungen zu erteilen, die er benötigt.
Ablaufdatum
API-Schlüssel können optional ein Ablaufdatum haben. Wenn gesetzt, funktioniert der Schlüssel nach dem angegebenen Datum nicht mehr (Prüfung um Mitternacht UTC). Abgelaufene Schlüssel geben eine 401 Unauthorized-Antwort zurück.
Schlüssel widerrufen
Sie können jeden API-Schlüssel jederzeit über die Einstellungsseite oder die API widerrufen. Der Widerruf ist sofort und dauerhaft – der Schlüssel wird gelöscht, nicht deaktiviert.
curl -X DELETE "https://api.nexdns.tech/v1/account/api-keys/{id}" \
-H "Authorization: Bearer nxd_your_api_key"
Tarifanforderungen
API-Zugriff erfordert einen Abonnementtarif, der das Merkmal api_access enthält.
Rate-Limiting
Die NexDNS API erzwingt Rate-Limits, um gleichmäßige Nutzung und Dienststabilität zu gewährleisten. Rate-Limits werden pro Benutzerkonto angewendet (nicht pro API-Schlüssel), sodass die Verwendung mehrerer API-Schlüssel Ihr Limit nicht erhöht.
Grenzwerte
| Geltungsbereich | Grenzwert | Zeitfenster | Richtlinie |
|---|---|---|---|
| API-Anfragen | 60 |
1 Minute | Gleitendes Fenster |
Nicht authentifizierte Anfragen (oder Anfragen mit ungültigen Schlüsseln) werden anhand der IP-Adresse ratenlimitiert.
Rate-Limit-Header
Jede API-Antwort enthält Header, die Ihren aktuellen Rate-Limit-Status anzeigen:
| HTTP-Header | Beschreibung |
|---|---|
X-RateLimit-Limit |
Maximale Anzahl erlaubter Anfragen im Zeitfenster |
X-RateLimit-Remaining |
Anzahl verbleibender Anfragen im aktuellen Zeitfenster |
X-RateLimit-Reset |
Unix-Zeitstempel, wann das Rate-Limit-Zeitfenster zurückgesetzt wird |
Retry-After |
Sekunden bis zum nächsten Versuch (nur bei 429-Antworten vorhanden) |
Überschreiten des Limits
Wenn das Rate-Limit überschritten wird, gibt die API 429 Too Many Requests zurück:
{
"status": "error",
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests. Please retry after {timestamp}."
}
}