# DNS mit IONOS setzen

Einmal den IONOS-API-Key verbinden. MainPath schreibt A- und CNAME-Einträge in deine Zone.

> Source: https://www.mainpath.ai/de/docs/dns-ionos/

Wenn deine Domain bei [IONOS](https://www.ionos.de/) liegt, musst du die Einträge nicht mehr von Hand abtippen. Du hinterlegst einen API-Key unter **Anbindungen**; sobald ein Projekt Domains hat, schreibt MainPath die Einträge in die passende Zone.

Manuelles DNS bleibt möglich. Siehe [DNS-Eintrag konfigurieren]({{< relref "domain-how-to" >}}).

## API-Key in IONOS

Das ist die **Hosting-DNS-API** (`api.hosting.ionos.com`), nicht IONOS Cloud und nicht der Data Center Designer. Ein Cloud-Token aus dem DCD funktioniert hier nicht.

1. Im IONOS-Konto anmelden (Kundennummer, E-Mail oder Domain).
2. Den [Developer Hub](https://developer.hosting.ionos.de/docs/getstarted) öffnen und den **API-Zugang** einmalig aktivieren (AGB akzeptieren).
3. Unter [API Keys](https://developer.hosting.ionos.de/keys) einen neuen Key anlegen.
4. **Public Prefix** und **Secret** kopieren. MainPath erwartet **eine** Zeile im Format `prefix.secret` (ein Punkt dazwischen). IONOS zeigt die beiden Teile oft getrennt; nicht mit Leerzeichen oder Zeilenumbruch einfügen.

Ohne aktivierten API-Zugang lehnt IONOS den Key ab, auch wenn Prefix und Secret korrekt aussehen.

## Anbindung in MainPath

1. Öffne **Anbindungen** und **Anbindung hinzufügen**.
2. Wähle unter **DNS** die Kachel **IONOS**.
3. Füge den API-Key ein und speichere. MainPath prüft, ob der Key gültig ist und welche Zonen er sieht.

Mehrere IONOS-Zugänge in einer Organisation sind möglich. Gehört eine Domain zu mehreren Zonen, nimmt MainPath die treffendste (zum Beispiel `shop.example.com` vor `example.com`).

## Was gesetzt wird

MainPath übernimmt dieselben Hosts, die du unter **Domains** siehst.

- Einträge werden nur gesetzt, wenn schon eine echte Server-Adresse da ist.
- Bestehende Einträge desselben Typs werden aktualisiert, nicht die ganze Zone ersetzt.
- Änderungen kommen schnell an.

```mermaid
flowchart LR
  org["IONOS-Anbindung"]
  domains["Domains in MainPath"]
  zone["IONOS-Zone"]
  server["Dein Server"]
  org --> zone
  domains -->|"A / CNAME"| zone
  zone --> server
```

Nach dem Speichern eines Projekts versucht MainPath, fehlende oder abweichende Einträge anzugleichen. Den Prüfstatus siehst du in der Domain-Übersicht.

## SSL über DNS-01 (optional)

Erreicht Let's Encrypt den Server nicht (kein öffentliches HTTP/443, Firewall, interne IP), öffne die Details dieser Anbindung und hake die betroffenen Domains an. MainPath schreibt dann den TXT-Eintrag `_acme-challenge` in diese Zone. Ohne Haken bleibt die bisherige TLS-Prüfung (ALPN) über den Server.

## Fehlersuche

- **Key ungültig**: Format `prefix.secret` prüfen (ein Punkt, keine Leerzeichen), API-Zugang im IONOS-Konto aktivieren und die Anbindung aktualisieren. Ein Token aus IONOS Cloud / DCD ist der falsche Typ.
- **Kein Eintrag in IONOS**: Die Domain liegt in keiner Zone, die der Key sieht. Account oder Zonennamen prüfen.
- **Zone sichtbar, Domain nicht erreichbar**: Die Zone existiert bei IONOS, aber die Nameserver der Domain zeigen woanders hin. MainPath markiert das in den IONOS-Details und unter Domains. Nameserver beim Registrar auf die IONOS-Server (`ns*.ui-dns.*`) umstellen.
- **Status in MainPath noch rot**: DNS braucht oft ein paar Minuten, oder der Server hat noch keine bekannte Adresse.

## Siehe auch

- [Domain-Setup]({{< relref "domain" >}})
- [DNS-Eintrag konfigurieren]({{< relref "domain-how-to" >}})
- [Anbindungen]({{< relref "connections" >}})
- [DNS mit Cloudflare setzen]({{< relref "dns-cloudflare" >}})
- [DNS mit united-domains setzen]({{< relref "dns-united-domains" >}})
- [DNS mit GoDaddy setzen]({{< relref "dns-godaddy" >}})
- [DNS mit Hetzner setzen]({{< relref "dns-hetzner" >}})
- [DNS mit Hostinger setzen]({{< relref "dns-hostinger" >}})
- [DNS mit DigitalOcean setzen]({{< relref "dns-digitalocean" >}})
- [DNS mit Gandi setzen]({{< relref "dns-gandi" >}})

